Witam,
mam nastepująca bazę z jedną funkcją wyszukującą najlepszego ucznia. Chciałbym dodać tu jeszcze jedną funkcje, która wyswietlalaby wszystkich uczniow lub znajdowala uczniow z danej klasy. Mam problem z tym jak ja tu stworzyc, w ktorym miejscu to wszystko mam umiescic, aby dzialalo, bo kombinowalem i z jedna funkcja jest ok, ale jak dodam druga, to juz są problemy.
[code]#include <iostream.h>
#include <conio.h>
#define NMAX 30
struct uczen
{
char nazwisko[25];
char imie[20];
char klasa[5];
float sr_ocen;
};
//prototypy funkcji
void czytaj (uczen t[],int n);
int najlepszy (uczen t[],int n);
main()
{
clrscr();
uczen tab[NMAX]; //tablica struktur typu uczen
int n; //liczba uczniow
int naj; //przechowuje numer najlepszego ucznia
cout<<"Podaj liczbe uczniow (n<=30): ";
cin>>n;
czytaj(tab,n);
naj=najlepszy(tab,n);
cout<<endl;
cout<<"Oto dane najlepszego ucznia\n";
cout<<"Nazwisko: "<<tab[naj].nazwisko<<endl;
cout<<"Imie: "<<tab[naj].imie<<endl;
cout<<"Klasa: "<<tab[naj].klasa<<endl;
cout<<"Srednia ocen: "<<tab[naj].sr_ocen<<endl;
getch();
return 0;
}
void czytaj (uczen t[],int n)
{
cout<<"Wprowadz dane o uczniach"<<endl;
for (int i=0;i<n;i++)
{
cout<<"Uczen "<<i+1<<endl;
cout<<"Nazwisko: ";
cin>>t[i].nazwisko;
cout<<"Imie: ";
cin>>t[i].imie;
cout<<"Klasa: ";
cin>>t[i].klasa;
cout<<"Srednia ocen: ";
cin>>t[i].sr_ocen;
cout<<endl<<endl;
}
}
int najlepszy (uczen t[],int n)
{
int i,nr;
float sr_max;
sr_max=t[0].sr_ocen;
nr=0;
for (i=1;i<n;i++)
if (t[i].sr_ocen>sr_max)
{
sr_max=t[i].sr_ocen;
nr=i;
}
return nr;
}[/code]
0
0
mam odpowiedz, ale za nic w swiecie nie moge jej dla ciebie umiescic, a wiec proponuje sie zarejestrowac, albo kontakt mail'em [green]
0
# include <iostream>
# include <cstdlib>
# define NMAX 30
using namespace std;
struct uczen
{
char nazwisko[25];
char imie[20];
char klasa[5];
float sr_ocen;
};
//prototypy funkcji
void czytaj (uczen t[],int n);
int najlepszy (uczen t[],int n);
void wszyscy(uczen* t, int n);
int main(int argc, char** argv)
{
//clrscr(); Bo nie ma juz conio ;)
uczen tab[NMAX]; //tablica struktur typu uczen
int n; //liczba uczniow
int naj; //przechowuje numer najlepszego ucznia
cout<<"Podaj liczbe uczniow (n<=30): ";
cin>>n;
// Przydaloby sie sprawdzenie, czy przypadkiem n > NMAX
// A tak wogole to proponuje dynamiczny przydzial pamieci(new, delete) :]
czytaj(tab,n);
naj=najlepszy(tab,n);
cout<<endl;
cout<<"Oto dane najlepszego ucznia\n";
cout<<"Nazwisko: "<<tab[naj].nazwisko<<endl;
cout<<"Imie: "<<tab[naj].imie<<endl;
cout<<"Klasa: "<<tab[naj].klasa<<endl;
cout<<"Srednia ocen: "<<tab[naj].sr_ocen<<endl;
// Wszyscy uczniowie
wszyscy(tab,n);
//getch(); podobnie jak wyzej
system("PAUSE");
return EXIT_SUCCESS;
//return 0;
}
void czytaj (uczen t[],int n)
{
cout<<"Wprowadz dane o uczniach"<<endl;
for (int i=0;i<n;i++)
{
cout<<"Uczen "<<i+1<<endl;
cout<<"Nazwisko: ";
cin>>t[i].nazwisko;
cout<<"Imie: ";
cin>>t[i].imie;
cout<<"Klasa: ";
cin>>t[i].klasa;
cout<<"Srednia ocen: ";
cin>>t[i].sr_ocen;
cout<<endl<<endl;
}
}
0
int najlepszy (uczen t[],int n)
{
int i,nr;
float sr_max;
sr_max=t[0].sr_ocen;
nr=0;
for (i=1;i<n;i++)
if (t[i].sr_ocen>sr_max)
{
sr_max=t[i].sr_ocen;
nr=i;
}
return nr;
}
void wszyscy(uczen* t, int n)
{
cout << "\n";
for(int i = 0; i < n; ++i)
{
cout << "Uczen " << (i+1) << "\n";
cout << "Nazwisko : " << t[i].nazwisko << "\n";
// itd...
cout << "\n";
}
}
0
Ten kod na pewno dziala(pod Dev-Cpp)
Nie wiem o co chodzi, ale nie moglem tego umiescic naraz jako jednego posta [???]