12.07.2015 Views

notiuni de programare obiectuala - Informatica aplicata si ...

notiuni de programare obiectuala - Informatica aplicata si ...

notiuni de programare obiectuala - Informatica aplicata si ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

18Visual C++. Programarea Interfeţelor UtilizatorSă presupunem că într-un program, avem <strong>de</strong> manipulat ca informaţie puncte înplan. Ar trebui <strong>de</strong>ci să <strong>de</strong>clarăm o structură <strong>de</strong> forma:struct punct_plan {int coordx;int coordy;};punct_plan punct1;Să presupunem că logica programului cere ca toate punctele utilizate să fie <strong>de</strong>ordonată pozitivă, <strong>de</strong>ci <strong>de</strong>asupra axei reale (fig. 1.12).yZona <strong>de</strong> existenţă apunctelorxFig. 1.12. Aici avem puncte...Cu alte cuvinte, pentru orice punct introdus în program, ordonata va trebuiînlocuită cu valoarea ei absolută. Va trebui să scriem <strong>de</strong> fiecare dată, o secvenţă <strong>de</strong>forma (evi<strong>de</strong>nt, fără să uităm să inclu<strong>de</strong>m bibliotecile iostream.h şi math.h)cin >> punct1.coordx >>punct1.coordy;punct1.coordy= abs(punct1.coordy);Dar cine garantează că a doua linie <strong>de</strong> program este introdusă întot<strong>de</strong>auna? Poatecă o soluţie mai bună ar fi citirea ordonatei prin intermediul unei funcţii, care săreturneze întot<strong>de</strong>auna valoarea ei absolută. Vom putea avea spre exemplu în program<strong>de</strong>clarată funcţiaint citescoordy (){int inputy;cin >> inputy;return (abs(inputy));}iar secvenţa <strong>de</strong> program <strong>de</strong> citire a punctului ar putea ficin >> punct1.coordx ;punct1.coordy=citescoordy();Dar, din nou, cine garantează că un<strong>de</strong>va în program nu se strecoară şi una dinliniilecin >> punct1.coordy;saupunct1.coordy=7;

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

Saved successfully!

Ooh no, something went wrong!