[ metalac @ 19.02.2004. 10:45 ] @
malo sam zapeo kod sortiranja, pa ako moze neko da pogleda jel moze sta da uradi! osim sortiranja potrebno je i malo rijesiti prilikom unosa da se u varijablu s.maticnibroj ne mogu unositi znakovi(slova....) tako i u varijablu ocjena. za sortiranje je potrebno da ispise pet najboljih studenata i treba koristiti bubble sort! ovo je kod sto sam ja nesto pokusao da uradim, i prosao je u kompajleru jedino jos samo sortiranje: Code: #include<fstream.h> #include<conio.h> #include<stdio.h> #include<string.h> using namespace std; struct student { int maticnibroj; char prezimeiiime[30]; int ocjena[5]; float prosjek; }; void Unos() { ofstream izlaz; // pisanje u datoteku struct student s; float Pros; int flag = 1; clrscr(); izlaz.open("adi.dat", ios::app); while (flag) { int i = 0; int suma = 0; int ocjena = 0; int kos = 0; clrscr(); cout << "\\n\\tUnesite maticnibroj: "; cin >> s.maticnibroj; cout << "\\tUnesite prezime i ime: "; gets(s.prezimeiiime); cout << "\\tUnesite ocjenu: "; do { cout << "\\t\\t" << i + 1 << ".ocjena: "; cin >> kos; s.ocjena /= kos; suma = suma + kos; i++; } while (i != 5); s.prosjek = suma / 5.0; fflush(stdin); izlaz.write((char *) &s, sizeof(s)); flag = 0; }; izlaz.close(); } void Ispis() { // prvo da sve prikaze na ekran ifstream ulaz; struct student s; char aa; clrscr(); ulaz.open("adi.dat"); if (ulaz) { cout << "\\n\\t******************* IZVJESTAJ **********************"; while (ulaz) { ulaz.read((char *) &s, sizeof(s)); if (!ulaz) break; int i = 0; cout << "\\n\\t\\t" << s.maticnibroj; cout << "\\n\\t" << s.prezimeiiime; cout << "\\n\\tOcjene:"; do { cout << "\\t" << s.ocjena /; i++; } while (i != 5); cout << "\\n\\tProsjek:\\t" << s.prosjek; }; ulaz.close(); cout << "\\n\\t****************************************************"; } else { cout << "\\n\\n\\tDATOTEKA NIJE KREIRANA. PRVO MORATE UNJETI PODATKE!!!"; }; cout << "\\n\\nPritisnite bilo koju tipku: "; cin >> aa; } int main() { int izbor; do { clrscr(); cout << "\\n\\n\\n\\n\\tImate sljedece opcije: "; cout << "\\n\\n\\t\\t1. Unos novog studenta"; cout << "\\n\\t\\t2. Ispis svih studenata"; cout << "\\n\\t\\t3. Ispis pet najboljih studenata"; cout << "\\n\\t\\t4. Izlaz"; cout << "\\n\\n\\tUnesite opciju (1,2,3,4,): "; cin >> izbor; switch (izbor) { case 1: Unos(); break; case 2: Ispis(); break; case 3:; break; } } while (izbor != 4); clrscr(); return 0; } hvala unaprijed!! i molim operatora da mi postavi temu.hvala leka@ES: Kod stavljen unutar 'code' tagova, tako da se sada moze lakse citati |