Determină persoana cea mai în vârstă şi persoana cea mai tânără
Imi da doar persoana cea mai tinara, la cea mai batrina nu imi da nimic
Va rog cine poate corecta codul!! DAU COROANA!!!
--------------------------------------------------------------------
void testage()
{
int i=0, minim, maxim=0;
while(!pers.eof())
{
pers>>l[i].codP;
pers>>l[i].NumeP;
pers>>l[i].PrenP;
pers>>l[i].Ziua;
pers>>l[i].Luna;
pers>>l[i].Anul;
pers>>l[i].Sexul;
pers>>l[i].StareCiv;
pers>>l[i].Studiile;
pers>>l[i].CodAd;
i++;
m=i;
}
minim=l[i].Anul;
for(i=0;i l[i].Anul)minim=l[i].Anul;
}
system("cls");
for(i=0;i
{
if(maxim==l[i].Anul)
{
cout<<"Cea mai tinara persoana"< cout<<"Codul Persoanei: "< cout<<"Numele Persoanei: "< cout<<"Prenumele Persoanei: "< cout<<"Ziua: "< cout<<"Luna: "< cout<<"Anul: "< cout<<"Sexul: "< cout<<"____________________________________________"< }
if(minim==l[i].Anul)
{
cout<<"Cea mai batrina persoana"< cout<<"Codul Persoanei: "< cout<<"Numele Persoanei: "< cout<<"Prenumele Persoanei: "< cout<<"Ziua: "< cout<<"Luna: "< cout<<"Anul: "< cout<<"Sexul: "< cout<<"____________________________________________"< }
}
}
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct persoana {
int codP;
string NumeP;
string PrenP;
int Ziua;
int Luna;
int Anul;
string Sexul;
string StareCiv;
string Studiile;
int CodAd;
};
Persoana l[100];
int m;
ifstream pers;
void testage() {
int minim, maxim = 0, i = 0;
while (pers >> l[i].codP >> l[i].NumeP >> l[i].PrenP >> l[i].Ziua >> l[i].Luna >> l[i].Anul >> l[i].Sexul >> l[i].StareCiv >> l[i].Studiile >> l[i].CodAd) {
i++;
m = i;
}
minim = l[0].Anul;
maxim = l[0].Anul;
for (i = 1; i < m; i++) {
if (maxim < l[i].Anul) {
maxim = l[i].Anul;
}
if (minim > l[i].Anul) {
minim = l[i].Anul;
}
}
cout << "Cea mai tanara persoana:\n";
for (i = 0; i < m; i++) {
if (minim == l[i].Anul)
{
cout << "Codul Persoanei: " << l[i].codP << endl;
cout << "Numele Persoanei: " << l[i].NumeP << endl;
cout << "Prenumele Persoanei: " << l[i].PrenP << endl;
cout << "Ziua: " << l[i].Ziua << endl;
cout << "Luna: " << l[i].Luna << endl;
cout << "Anul: " << l[i].Anul << endl;
cout << "Sexul: " << l[i].Sexul << endl;
cout << "____________________________________________" << endl;
}
}
cout << "Cea mai batrana persoana:\n";
for (i = 0; i < m; i++) {
if (maxim == l[i].Anul)
{
cout << "Codul Persoanei: " << l[i].codP << endl;
cout << "Numele Persoanei: " << l[i].NumeP << endl;
cout << "Prenumele Persoanei: " << l[i].PrenP << endl;
cout << "Ziua: " << l[i].Ziua << endl;
cout << "Luna: " << l[i].Luna << endl;
cout << "Anul: " << l[i].Anul << endl;
cout << "Sexul: " << l[i].Sexul << endl;
cout << "____________________________________________" << endl;
}
}
}
Explicație:
Structura "l" contine informatii precum codul, numele, prenumele, data nasterii, sexul, stare civila, studiile si codul adresei unei persoane. Functia "testage" itereaza prin vectorul "l" si determina cea mai tanara si cea mai batrana persoana prin compararea anului nasterii acestora. Apoi, informatiile despre acestea sunt afisate pe ecran.