24.2.3.24011010. Realizirati program za rješavanje kvadratne jednačine a x2 + b x + c = 0 ali na modularan način, tako što će se tri cjeline (unos podataka, nalaženje rješenja i ispis rezultata) realizirati kao zasebne funkcije koje će se pozivati iz glavne funkcije. Pri tome program ne smije da koristi globalne promjenljive. Umjesto njih, sva komunikacija između funkcija treba da bude ostvarena putem prenosa parametara. Program treba da bude zaštićen od unosa neispravnih podataka, odnosno ukoliko program zatraži broj, a korisnik unese nešto drugo, program treba da prijavi grešku i zatraži od korisnika novi unos. Također, zabraniti korisniku da se kao koeficijent a unese nula. Za potrebe unosa koeficijenata uz provjeru korektnosti ulaza napraviti posebnu funkciju.

Opis rješenja:

Listing programa:

#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
int main()
{
double a,b,c,d,niz[2];
double unos();
while(1){if((a=unos())==0){
            cout<<"EROR!\n";
            cin.clear();
            cin.ignore(1000,'\n');
            }
        else break;
}
b=unos();
c=unos();
d=b*b-4*a*c;
double rijesi(double,double,double,int);
void ispisi(double,double,double,double,double);
for(int i=0;i<2;i++)niz[i]=rijesi(a,b,c,i);
ispisi(niz[0],niz[1],a,b,c);
getch();
return 0;}

Ispis na ekranu:

Riješeni zadaci 2    Index