17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

aprilie, iunie,..., noiembrie<br />

case 4: case 6: case 9: case 11: zile =30; break;<br />

// ianuarie, martie, mai,.. decembrie<br />

default: zile=31; break; // celelalte (1,3,5,..)<br />

}<br />

Cazul default poate lipsi, dar când este prezent atunci este selectat când valoarea<br />

expresiei de selectie diferã de toate cazurile enumerate explicit. Dacã lipseste cuvântul<br />

cheie default si nu este satisfãcut nici un caz, atunci se trece la instructiunea urmãtoare<br />

lui switch.<br />

Macroinstructiunea “assert”<br />

Macroinstructiunea assert, definitã <strong>în</strong> fisierul , este expandatã printr-o<br />

instructiune if si este folositã pentru verificarea unor conditii, fãrã a <strong>în</strong>cãrca<br />

programele cu instructiuni if, care le-ar face mai greu de citit.<br />

assert verificã o asertiune, adicã o afirmatie presupusã a fi adevãratã, dar care se<br />

poate dovedi falsã.<br />

Utilizarea este similarã cu apelul unei functii de tip void, cu un argument al cãrei<br />

rezultat poate fi “adevãrat” sau “fals” (nenul sau nul). Parametrul efectiv este o<br />

expresie de relatie sau logicã care exprimã conditia verificatã. Dacã rezultatul<br />

expresiei din assert este nenul (adevãrat) atunci programul continuã normal, dar dacã<br />

expresia este nulã (falsã) atunci se afiseazã un mesaj care include expresia testatã,<br />

numele fisierului sursã si numãrul liniei din fisier, dupã care programul se opreste.<br />

Exemple de utilizare:<br />

assert ( n 0); // nici o actiune daca a>0 si b>0<br />

Prin simplitatea de utilizare assert <strong>în</strong>curajeazã efectuarea cât mai multor verificãri<br />

asupra corectitudinii datelor initiale citite sau primite ca argumente de functii si<br />

asupra unor rezultate intermediare.<br />

Macroinstructiunea assert se foloseste pentru erori irecuperabile si mai ales <strong>în</strong><br />

etapa de punere la punct a programelor, deoarece pentru versiunea finalã se preferã<br />

afisarea unor mesaje mai explicite pentru utilizatorii programului, eventual <strong>în</strong> altã<br />

limbã decât engleza, <strong>în</strong>sotite de semnale sonore sau de imagini (pentru programe cu<br />

interfatã graficã). Exemplu:<br />

#include <br />

#include <br />

#define MAX 1000<br />

int main () {<br />

int n;<br />

printf (“n = “); scanf (“%d”,&n);<br />

if ( n > MAX) {<br />

printf (“ Eroare: n > %d \n”,MAX);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!