ZADANIE: Napisać program wykorzystujący tablice struktur w c++
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
struct Struktura{
char* imie;
int wiek;
float srednia;
};
struct Sierednie{
string naj_sierednie;
float sr_wiek;
float sriednia;
float naj_sierednia;
int main(){
cout << "podaj liczbe uczniow: ";
int l_ucz=0;
cin >> l_ucz;//pobieranie l. uczniow
Struktura *dane = new Struktura[l_ucz];
int tmp=0;
while(tmp!=l_ucz){//pobieranie danych
cout << "podaj dane ucznia " << tmp+1<<"\nimie: ";
cin >>dane[tmp].imie;
cout >> "wiek: ";
cin >>dane[tmp].wiek;
cout >> "srednia: ";
cin >>dane[tmp].srednia;
tmp++;
}
tmp = 0;
Sierednie sier;
sier.sr_wiek = 0;//zerowniie
sier.sriednia = 0;
sier.naj_sierednia = -1;
while(tmp!=l_ucz){//przetwarzanie
sier.sr_wiek += dane[tmp].wiek;
sier.sriednia += dane[tmp].srednia;
if( sier.naj_sierednia == dane[tmp].srednia){
sier.naj_sierednie += ", ";
sier.naj_sierednie += dane[tmp].imie; //dodawanie do listy rekordow sieredniej
if(sier.naj_sierednia < dane[tmp].srednia){
sier.naj_sierednie += dane[tmp].imie; //nowy rekord sieredniej
sier.naj_sierednia = dane[tmp].srednia;
//obliczanie sierednich
sier.sriednia = sier.sriednia / l_ucz;
sier.sr_wiek = sier.sr_wiek / l_ucz;
//wyswielnanie
cout << "sierednia wieku wynosi: "<< sier.sr_wiek<<"\n";
cout << "sierednia ocen natomiast: "<< sier.sriednia << "\n";
cout << "najlepsza sierednia: "<< sier.naj_sierednia <<"\n";
cout << "poiada/posiadaja ja:\n" << sier.naj_sierednia << "\n";
system("pause");
delete[] dane;
powinno działać, polecam sprawdzić, napiane na poczekaniu, liczę na naj XD.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
struct Struktura{
char* imie;
int wiek;
float srednia;
};
struct Sierednie{
string naj_sierednie;
float sr_wiek;
float sriednia;
float naj_sierednia;
};
int main(){
cout << "podaj liczbe uczniow: ";
int l_ucz=0;
cin >> l_ucz;//pobieranie l. uczniow
Struktura *dane = new Struktura[l_ucz];
int tmp=0;
while(tmp!=l_ucz){//pobieranie danych
cout << "podaj dane ucznia " << tmp+1<<"\nimie: ";
cin >>dane[tmp].imie;
cout >> "wiek: ";
cin >>dane[tmp].wiek;
cout >> "srednia: ";
cin >>dane[tmp].srednia;
tmp++;
}
tmp = 0;
Sierednie sier;
sier.sr_wiek = 0;//zerowniie
sier.sriednia = 0;
sier.naj_sierednia = -1;
while(tmp!=l_ucz){//przetwarzanie
sier.sr_wiek += dane[tmp].wiek;
sier.sriednia += dane[tmp].srednia;
if( sier.naj_sierednia == dane[tmp].srednia){
sier.naj_sierednie += ", ";
sier.naj_sierednie += dane[tmp].imie; //dodawanie do listy rekordow sieredniej
}
if(sier.naj_sierednia < dane[tmp].srednia){
sier.naj_sierednie += dane[tmp].imie; //nowy rekord sieredniej
sier.naj_sierednia = dane[tmp].srednia;
}
tmp++;
}
//obliczanie sierednich
sier.sriednia = sier.sriednia / l_ucz;
sier.sr_wiek = sier.sr_wiek / l_ucz;
//wyswielnanie
cout << "sierednia wieku wynosi: "<< sier.sr_wiek<<"\n";
cout << "sierednia ocen natomiast: "<< sier.sriednia << "\n";
cout << "najlepsza sierednia: "<< sier.naj_sierednia <<"\n";
cout << "poiada/posiadaja ja:\n" << sier.naj_sierednia << "\n";
system("pause");
delete[] dane;
}
powinno działać, polecam sprawdzić, napiane na poczekaniu, liczę na naj XD.