#include #include /* uwaga: w devc nie przeladowuje bufora zn i nie dziala powtarzanie */ int i; float suma, wyplata; int zn; int main () { printf ("Czy wprowadzasz wyplate? tak = 1, nie = 0 : "); scanf ("%d", &zn); printf("\n"); suma = 0.0; i = 1; while (zn==1) { printf ("wyplata dla pracownika nr %d = ", i); scanf ("%f", &wyplata); suma = suma + wyplata; i++; printf ("Czy wprowadzasz wyplate? tak = 1, nie = 0 : "); scanf ("%d", &zn); printf("\n"); } printf ("suma wyplat = %10.2f \n", suma); printf("nacisnij klawisz 7 aby zakonczyc:"); scanf("%d",&zn); return 0; } Instrukcja strukturalna wyboru: switch . (tak jak if ale dla wielu możliwości) składnia: switch (wyrażenie) { case wart1: instr A; break; case wart2: instr B; break; ..... ..... default: instr Z; break; } Standardowa obsługa We/wy (w c oraz c++) dołączyć trzeba zarówno i/o domyślne jak i pliki zewnętrzne oraz dla klawiatury i okienek grafiki tekstowej funkcje printf (control, arg1, arg2, ... ); a) printf - to funkcja, która pod kontrolą argumentu tekstowego przekształca, formułuje i wypisuje swoje argumenty na wyjście standardowe. Pierwszy argument control jest łańcuchem tekstowym, który kontroluje (steruje) wydrukiem następujących pózniej argumentów. Specyfikacje wydruku liczb zaczynają się znakiem % a kończą znakiem przekształcenia. Wybrane znaki przekształcenia to: d całkowity; f float; e double; c jeden znak; \n nowy wiersz; \f nowa strona. Przykład : printf ( wyniki: a = %f f(a) = %10d suma jest rowna %10.2f\n , a, f, s); printf ( %d %f , j, x); scanf (control, arg1, arg2, ... ); b) scanf - to funkcja, która pod nadzorem argumentu tekstowego przekształca, formatuje i wczytuje swoje argumenty z wejścia standardowego. Funkcja ta interpretuje znaki zgodnie z formatem w argumencie control i przypisuje je dalszym argumentom. Uwaga! argumenty arg1, arg2 .... są wskaznikami, które wskazują gdzie wstawić wynik odpowiedniego przekształcenia. Przykład: scanf ( %d %d %f , &x, wsk1, p); gdy tylko zmienne to: scanf ( %f %d %e , &x, &y, &z); Strumienie w Borland C++ ale niekiedy i inne kompilatory tego używają. Dołączyć trzeba: dla i/o domyślnych lub dla plików zewnętrznych. Technologia strumieni jest łatwiejsza w zaprogramowaniu oraz efektywniejsza w kontroli przepływu danych. Zapis opiera się na charakterystycznych dla C++ klasach i obiektach ale również dla początkujacego programisty jest bardzo przystępny. Mamy następujące rodzaje strumieni: cin strumień danych od wejścia (klawiatura); cout strumień danych do wyjścia (monitor); cerr strumień komunikatów o błedach na (zazwyczaj) monitor. Operatory << oraz >> pokazują co wstawić do strumieniu i w którym kierunku płyną dane. Przykłady: cin >> x; cout << y; Najważniejsze elementy, które można wstawić lub wyłowić ze strumienia to: wyrażenia, łańcuchy , znaki, wskazniki. Znakiem końca linii w łańcuchu jest ....\n . Można też użyć endl. Przy wczytywaniu należy pamiętać o zgodności typów i o oddzielaniu liczb spacjami. Przy wypisywaniu bez formatowania kompilator narzuca swój format standardowy. cin >> x >> y; cin >> A; cin >> B; cout << Tu jaki chcemy napis << v; cout << alfa = << a << \n << endl; Uwaga: W laboratorium wykorzystujemy tylko stdio !!!