Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<iostream>
- #include<string>
- #include<fstream>
- using namespace std;
- struct student{
- char ime[30];
- double bodovi;
- };
- void ispis_studenata(student st[],int x){ //Pomocna funkcija koja ce nam sluziti za krajnji ispis
- cout<<"===================================\n";
- for(int i=0;i<x;i++){
- cout<<" "<<i+1<<". "<<st[i].ime<<" "<<" "<<st[i].bodovi<<" [BODA]"<<endl; //ispis imena,prezimena, i vrijednosti bodova sa rotirane mem.lokacije
- }
- cout<<"===================================\n";
- }
- void zamjena(student &x,student &y){ //*x i *y su vrijednosti cijele strukture koje se nalaze na memorijskoj lokaciji
- student temp=x;
- x=y;
- y=temp;
- }
- void sortiraj(student s[],int a){
- for(int i=0;i<a-1;i++){
- for(int j=0;j<a-1;j++)
- if(s[j].bodovi<s[j+1].bodovi){
- zamjena(s[j],s[j+1]);// Zamjena vrijednosti u odnosu na postavljeni uslov
- }
- }
- }
- void unesi_podatke(student s[],int a){
- for(int i=0;i<a;i++){
- cout<<"Unesite potrebne podatke o "<<i+1<<". "<<"studentu:\n";
- cout<<"Unesite ime studenta: ";cin>>s[i].ime;
- cout<<"Unesite ostvarene bodove: ";cin>>s[i].bodovi;
- cout<<endl;
- }
- }
- void sacuvaj_trenutno_stanje(student s[], int n){
- ofstream unosBrojaStudenata("broj_prijava1.dat", ios::out|ios::binary|ios::app);
- unosBrojaStudenata.write((char*)&n, sizeof(int));
- unosBrojaStudenata.close();
- ofstream unosStudenata("studenti1.dat", ios::out|ios::binary|ios::app);
- for(int i(0); i<n; ++i){
- unosStudenata.write((char*)&s[i], sizeof(student));
- }
- unosStudenata.close();
- }
- int main(){
- ifstream brojPrijava("broj_prijava1.dat", ios::binary);
- student s[30];
- int n;
- brojPrijava.read((char*)(&n), sizeof(int));
- brojPrijava.close();
- ifstream citanje("studenti1.dat", ios::binary);
- for(int i=0; i<n; ++i){
- citanje.read((char*)&s[i], sizeof (student));
- }
- citanje.close();
- cout<<"0)Unesi podatke\n1)Ipisi studente\n2)Sacuvaj i izadi\n";
- int izbor;cout<<"Unesite izbor: ";cin>>izbor;
- do{
- if(izbor==0){
- cout<<"==========================\n";
- cout<<"Unesite broj studenata: ";
- cin>>n;
- cout<<"==========================\n";
- cout<<endl;
- s[n];
- unesi_podatke(s,n);
- sacuvaj_trenutno_stanje(s,n);
- cout<<"Unesite izbor: ";cin>>izbor;
- }
- if(izbor==1){
- sortiraj(s,n);
- ispis_studenata(s,n);
- cout<<"Unesite izbor: ";cin>>izbor;
- }
- }while(izbor!=2);
- sacuvaj_trenutno_stanje(s,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement