Documente Academic
Documente Profesional
Documente Cultură
Cramba Dumitrița
Grupa 6106
1. Tema proiectului
Tema proiectului se numește ”Comandă la Restaurant” și constă într-un Meniu din
care utilizatorul își poate alege, după preferințe, felurile de mâncare dorite.
2. Explicații cod
Am început aplicația prin creearea unei funcții void în care voi lucra aplicația în
sine. Am afișat în consolă un Meniu principal care constă în 10 tipuri de mâncare
(meniuri secundare) din care utilizatorul își poate alege în care meniu secundar să
intre.
2
Datele preparatelor cu care vom lucra în cod și fișiere le-am pus într-un struct
(stuct meniu):
Am introdus tot restul codului într-un for pentru a i se putea atribui lui n fiecare
valoare introdusă de utilizator și stocată în vectorul “numere”.
Am început prin citirea datelor din fișierul respectiv meniului secundar ales și am
afișat datele in consolă, contorizând numărul de afișări cu ajutorul lui i.
3
În următoarea instanță se verifică dacă s-au introdus numere (ct > 0) și se
utilizează două bucle for pentru a actualiza vectorul “aparitii” și pentru a parcurge
aperitivele și a afișa informațiile corespunzătoare. Elementul aparitii[ ] este
incrementat pentru fiecare aperitiv adăugat în comandă.
În cadrul celei de-a doua bucle for, se verifică dacă un aperitiv are un număr de
apariții mai mare decât zero. Dacă da, se afișează numele aperitivului și numărul de
apariții. De asemenea, se scriu informațiile în două fișiere (fisier și fisier2) și se
efectuează alte operații de înregistrare a datelor. În if se verifică dacă numele
aperitivului curent are o lungime mai mare decât cel mai lung nume înregistrat până
în acel moment (longest). Dacă da, “longest” devine m[j].nume și se actualizează
valoarea lui “pret_longest”. Pe urmă, se efectuează o înmulțire între prețul pe produs
și cantitatea comandată.
Funcția realloc reasociază spațiul de memorie alocat anterior pentru vector cu un
nou spațiu de memorie de dimensiunea specificată. Dacă realocarea reușește,
adresa noului spațiu de memorie este atribuită variabilei vector.
... .
4
După switch am calculat suma tuturor prețurilor preparatelor comandate pe
parcurs și stocate în vectorul “vector”. Pentru aceasta am creat o altă funcție
“sumaa” în care am calculat propriu-zis suma și am apelat-o înapoi în funcția
“comandă”.
Spre final am afișat în consolă și în ambele fișiere prețul total dispus utilizatorului
pentru a achita plata.
Am impus un alt if imediat după pentru a afișa următoarele informații doar în cazul
în care “ct_total”, un contor în care am numărat totalul de preparate comandate, este
diferit de zero, adică s-a introdus cel puțin o comandă. În interiorul acesteia am
inițializat o reducere în prețul total în funcție de cel mai lung produs comandat, cel
stocat în “longest”, cum am precizat mai sus.
În consolă exemplu:
5
Desigur, în cazul contrar if-ului anterior (ct_total este egal cu 0) să se afișeze doar
faptul că bonul este gol.
6
3. Probleme întâmpinate – 0