Programowanie. Teoria i praktyka z wykorzystaniem C++
Programowanie. Teoria i praktyka z wykorzystaniem C++
Programowanie. Teoria i praktyka z wykorzystaniem C++
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
180 ROZDZIA 6 • PISANIE PROGRAMU<br />
Wyraenie: 2+2<br />
Wynik: 4<br />
Wyraenie: 2+2*3<br />
Wynik: 8<br />
Wyraenie: 2+3–25/5<br />
Wynik: 0<br />
Wyraenia, tzn. 2+2 i 2+2*3, powinien wpisywa uytkownik. Reszta naley do programu. Wy-<br />
wietlenie sowa Wyraenie: bdzie zacht dla uytkownika do wpisania wyraenia. Mogliby-<br />
my napisa Prosz wpisa wyraenie i znak nowego wiersza:, ale to wydawao nam si zbyt rozwleke.<br />
Z drugiej strony taki przyjemny znaczek > byby chyba za bardzo tajemniczy. Takie<br />
szkicowanie przykadów uycia we wczesnej fazie pracy jest bardzo wane. Dziki temu<br />
mona si dowiedzie, jaki jest minimalny zestaw funkcji programu. W projektowaniu i analizie<br />
przykady takie nazywaj si przypadkami uycia.<br />
Wikszo ludzi, którzy po raz pierwszy stykaj si z problemem kalkulatora, wpada na<br />
nastpujcy pomys, jeli chodzi o gówn logik programu:<br />
wczytaj_wiersz<br />
oblicz // wykonuje prac<br />
wydrukuj_wynik<br />
Takie zapiski to oczywicie nie jest prawdziwy kod, tylko tzw. pseudokod. Stosuje si go we<br />
wczesnych fazach projektowania, gdy nie ma jeszcze pewnoci co do tego, jak zastosowa notacj.<br />
Np., czy obliczenia ma by wywoaniem funkcji? Jeli tak, to jakie bdzie przyjmowa<br />
argumenty? Jest po prostu za wczenie na zadawanie takich pyta.<br />
6.3.1. Pierwsza próba<br />
Na tym etapie nie jestemy jeszcze gotowi napisa programu kalkulatora. Nie przemyleli-<br />
my jeszcze wszystkiego, ale mylenie to cika praca i — jak wikszo programistów — nie<br />
moemy si doczeka, eby ju co napisa. Spróbujemy wic swoich si i napiszemy prosty<br />
kalkulator, aby zobaczy, do czego nas to doprowadzi. Nasz pierwszy pomys wyglda tak:<br />
#include "std_lib_facilities.h"<br />
int main()<br />
{<br />
cout >lval>>op>>rval; // Wczytuje co w rodzaju 1 + 3.<br />
if (op=='+')<br />
res = lval + rval; // dodawanie<br />
else if (op=='–')<br />
res = lval – rval; // odejmowanie<br />
cout