Professional Documents
Culture Documents
Skripta Programiranje
Skripta Programiranje
Skripta Programiranje
Sadraj
1.
2.
3.
DATOTEKE .............................................................. 5
3.1.
3.2.
3.3.
3.4.
4.
5.
6.
7.
8.
9.
1.
Vezana lista
1.1.
Dodaj element
1.2.
1.3.
Pretrazi listu
1.4.
Brisi element
1.5.
Dealokacija liste
#include <iostream>
#include "biblioteka_vrijeme.cc"
using namespace std;
struct tstudent{
int mat_br;
char prez_ime[35];
int god_stu;
tstudent *sljedeci;
};//struct
void dodaj_element(tstudent *lista){ // dodaje element na kraj liste
tstudent *novi,*zadnji;
zadnji = lista;
while (zadnji->sljedeci)
zadnji = zadnji->sljedeci;
// pronalaenje zadnjeg elementa u listi
novi = new tstudent;
// alokacija novog elementa liste
zadnji -> sljedeci = novi;
// povezivanje zadnje elementa u listi s novim elementom
novi -> sljedeci = NULL;
// novi je sada zadnji element u listi
cout << "Maticni broj: ";
cin >> novi -> mat_br;
cout << "Prezime i ime: ";
unos(novi->prez_ime);
// funkcija iz biblioteke
cout << "Godina studija: ";
cin >> novi -> god_stu;
};//dodaj_element
void ispisi_sve_elemente(tstudent *lista){ // ispis svih elemenata liste
tstudent *tekuci = lista -> sljedeci; // tekuci se usmjerava na poetni element za ispis
while (tekuci){
cout << "adresa elementa = " << int((size_t)tekuci) << endl;
cout << "Maticni broj: " << tekuci -> mat_br << endl;
cout << "Prezime i ime: " << tekuci -> prez_ime << endl;
cout << "Godina studija: " << tekuci -> god_stu << endl;
cout << "Adresa sljedeceg elementa: " << int ((size_t)tekuci -> sljedeci) << endl;
cout << "---------------------" << endl;
tekuci = tekuci -> sljedeci;
// kretanje kroz listu
}; // while
};//ispisi_sve_elemente
void pretrazi_listu(tstudent *lista,int mat_br){ //pretraivanje liste prema matinom broju
tstudent *tekuci = lista -> sljedeci; // tekuci se usmjerava na poetni element za ispis
while (tekuci){
if (tekuci -> mat_br == mat_br){
cout << "Maticni broj: " << tekuci -> mat_br << endl;
cout << "Prezime i ime: " << tekuci -> prez_ime << endl;
cout << "Godina studija: " << tekuci -> god_stu << endl;
cout << "---------------------" << endl;
return; // izlaz iz petlje i potprograma
};//if
tekuci = tekuci -> sljedeci;
// kretanje kroz listu
}; // while
cout << "Element nije pronadjen!" << endl;
};//pretrazi_listu
void brisi_element(tstudent *lista,int mat_br){ //brisanje elementa liste prema matinom broju
1.6.
2.
2.1.
2.2.
2.3.
Ispis od poetka
2.4.
Ispis od kraja
2.5.
Dealokacija
#include <iostream>
using namespace std;
struct telement{
int broj;
telement *sljedeci;
telement *prethodni;
};//struct
void dodaj_element_na_kraj(telement *lista){
telement *novi,*zadnji;
zadnji = lista;
while (zadnji->sljedeci)
//traenje zadnjeg elementa u listi
zadnji=zadnji->sljedeci;
novi = new telement;
novi->prethodni=zadnji;
novi->sljedeci=NULL;
zadnji->sljedeci=novi;
cout << "Broj = ";
cin >> novi -> broj;
};//dodaj_element_na_kraj
void dodaj_element_na_pocetak(telement *lista){
if (!lista->sljedeci){ // provjera da lista nije prazna
dodaj_element_na_kraj(lista);
return;
};
telement *novi,*sljedeci;
sljedeci = lista->sljedeci;
3.
Datoteke
3.1.
Kreiranje datoteke
3.2.
3.3.
3.4.
#include <iostream>
#include <fstream>
using namespace std;
struct tstudent{
// tip zapisa koje sadri datoteka
int mat_br;
char prez_ime[35];
int g_stu;
};
tstudent student; // varijabla iji se upisuje/ita u/iz datoteke
fstream dat; // datoteni objekt
char naziv_datoteke[40]; // fiziko ime datoteke
void unos(char *znakovni_niz)
{
cin.getline(znakovni_niz, 150);
if (cin.gcount()==1)
cin.getline (znakovni_niz,150);
};
void kreiranje_datoteke(){
cout << "Unesite naziv datoteke u koju cete spremati podatke:";
cin >> naziv_datoteke;
dat.open(naziv_datoteke,ios::in | ios::binary);
if (!dat){
// ako datoteka ne postoji na disku
dat.open(naziv_datoteke,ios::out | ios::binary); // kreiranje datoteke
dat.close();dat.clear();
}
else{
cout << "Datoteka " << naziv_datoteke << " vec postoji na disku."<<endl;
dat.close();dat.clear();}
};
void unos_podataka_u_datoteku(){
char dalje;
dat.open(naziv_datoteke,ios::out | ios::ate | ios::in| ios::binary);
do{
cout << "Maticni broj:";
cin >> student.mat_br;
cout << "Prezime i ime:";
unos (student.prez_ime); // zbog problema s razmakom
cout << "Godina studija:";
cin >> student.g_stu;
dat.write((char *) &student,sizeof(student));
cout << "Dalje? (d/n)";
cin >> dalje;
} while (dalje=='d');
dat.close();dat.clear();
};
void ispis_podataka_o_svim_studentima(){
dat.open(naziv_datoteke,ios::in | ios::binary);
while (1){
dat.read((char *) &student,sizeof(student));
if (dat.eof()) break;
cout << "Maticni broj: " << student.mat_br << endl;
cout << "Prezime i ime: " << student.prez_ime << endl;
5
4.
4.1.
4.2.
4.3.
Pretrazivanje liste
4.4.
4.5.
#include <iostream>
using namespace std;
class cstudent{
private: cstudent *sljedeci;
public:
//atributi
int mat_br;
char prez_ime[35];
int god_stu;
//metode
cstudent(){//konstruktor
sljedeci=NULL;
};//konstruktor
void dodaj_element(){ // dodaje element na kraj liste
cstudent *novi,*zadnji;
zadnji = this;
while (zadnji->sljedeci)
zadnji = zadnji->sljedeci;
// pronalaenje zadnjeg elementa u listi
novi = new cstudent;
// alokacija novog elementa liste
zadnji -> sljedeci = novi;
// povezivanje zadnjeg elementa u listi s novim
elementom
cout << "Maticni broj: "; cin >> novi -> mat_br;
cout << "Prezime i ime: "; cin >> novi -> prez_ime;
cout << "Godina studija: "; cin >> novi -> god_stu;
};//dodaj_element
void ispisi_sve_elemente(){ // ispis svih elemenata liste
cstudent *tekuci = this -> sljedeci; // tekuci se usmjerava na poetni element za ispis
while (tekuci){
cout << "Maticni broj: " << tekuci -> mat_br << endl;
cout << "Prezime i ime: " << tekuci -> prez_ime << endl;
cout << "Godina studija: " << tekuci -> god_stu << endl;
cout << "---------------------" << endl;
tekuci = tekuci -> sljedeci;
// kretanje kroz listu
}; // while
};//ispisi_sve_elemente
void pretrazi_listu(int mat_br){ //pretraivanje liste prema matinom broju
int nadjen=0;
cstudent *tekuci = this -> sljedeci; // tekuci se usmjerava na poetni element za ispis
while (tekuci){
if (tekuci -> mat_br == mat_br){
nadjen=1;
cout << "Maticni broj: " << tekuci -> mat_br << endl;
cout << "Prezime i ime: " << tekuci -> prez_ime << endl;
cout << "Godina studija: " << tekuci -> god_stu << endl;
cout << "---------------------" << endl;
break; // izlaz iz petlje
};//if
tekuci = tekuci -> sljedeci;
// kretanje kroz listu
}; // while
if (!nadjen) cout<<"Element nije pronadjen u listi!"<<endl;
};//pretrazi_listu
void brisi_element(int mat_br){ //brisanje elementa liste prema matinom broju
int nadjen=0;
5.
#include<iostream>
#include<fstream>
using namespace std;
class cstudent{
private:
cstudent *sljedeci;
public:
int mat_br;
char prez_ime[40];
cstudent(){
sljedeci=NULL;
}; // konstruktor
void unos(){
cstudent *zadnji, *novi;
zadnji=this;
while (zadnji->sljedeci)
zadnji=zadnji->sljedeci;
novi = new cstudent;
zadnji->sljedeci=novi;
cout << "Maticni broj:";
cin >> novi -> mat_br;
cout << "Prezime i ime:";
cin >> novi->prez_ime;
}; // unos
void ispis(){
cstudent *tekuci=this->sljedeci;
while (tekuci){
cout << tekuci->mat_br << endl;
cout << tekuci->prez_ime<<endl;
tekuci=tekuci->sljedeci;
};
}; // ispis
int provjeri(int mb){
cstudent *tekuci=this->sljedeci;
while (tekuci){
if (tekuci->mat_br==mb) return 1;
tekuci=tekuci->sljedeci;
};
return 0;
}; // provjeri
void ukupno(){
int brojac=0;
cstudent *tekuci=this->sljedeci;
while (tekuci){
brojac++;
tekuci=tekuci->sljedeci;
};
cout << "Ukupan broj studenata = " << brojac << endl;
}; // ispis
void broj_prijava();
};//cstudent
fstream dat;
cstudent *student;
class cprijava{
public:
int sif_prij;
int mat_br;
char predmet[30];
char rok[20];
cprijava(){
dat.open("prijave.dat", ios::out);
dat.close();
dat.clear();
} // cprijava
void unos(){
dat.open("prijave.dat", ios::out|ios::app|ios::binary);
cout << "Sifra prijave:";
cin >> sif_prij;
do{
cout << "Maticni_broj:";
cin >> mat_br;
}while(student->provjeri(mat_br)==0);
cout << "Predmet:";
cin >> predmet;
cout << "Rok:";
cin >> rok;
dat.write((char *)this,sizeof(*this));
dat.close(); dat.clear();
}; // unos
void ispis(){
dat.open("prijave.dat", ios::in|ios::binary);
while(1){
dat.read ((char *)this,sizeof(*this));
if (dat.eof())break;
cout << sif_prij << endl;
cout << mat_br << endl;
cout << predmet << endl;
cout << rok << endl;
}
dat.close(); dat.clear();
}; // ispis
void ukupno(){
int brojac=0;
dat.open("prijave.dat", ios::in|ios::binary);
while(1){
dat.read ((char *)this,sizeof(*this));
if (dat.eof())break;
brojac++;
}
dat.close(); dat.clear();
cout << "Ukupan broj prijava = " << brojac << endl;
}; // ispis
void trazi(int mb){
dat.open("prijave.dat", ios::in|ios::binary);
while(1){
dat.read ((char *)this,sizeof(*this));
if (dat.eof())break;
if (mat_br==mb){
cout << sif_prij << endl;
cout << mat_br << endl;
cout << predmet << endl;
cout << rok << endl;
}
}
dat.close(); dat.clear();
}; // ispis
};//cprijava
cprijava prijava;
void cstudent::broj_prijava(){
cstudent *tekuci=this->sljedeci;
int brojac;
while (tekuci){
cout << tekuci->mat_br << endl;
cout << tekuci->prez_ime<<endl;
10
brojac=0;
dat.open("prijave.dat", ios::in|ios::binary);
while(1){
dat.read ((char *)&prijava,sizeof(prijava));
if (dat.eof())break;
if (prijava.mat_br==tekuci->mat_br)brojac++;
}
dat.close(); dat.clear();
cout << "Broj_prijava:" << brojac << endl;
tekuci=tekuci->sljedeci;
};
}; // broj_prijava
int main(){
int izbor,mat_br;
student = new cstudent;
do{
cout << "1. Unos studenata" << endl;
cout << "2. Ispis studenata" << endl;
cout << "3. Unos prijava" << endl;
cout << "4. Ispis prijava" << endl;
cout << "5. Ukupan broj studenata i prijava" << endl;
cout << "6. Prijave zadanog studenta" << endl;
cout << "7. Studenti s brojem prijava" << endl;
cout << "9. Izlaz" << endl;
cin >> izbor;
switch (izbor){
case 1: student->unos();break;
case 2: student->ispis();break;
case 3: prijava.unos();break;
case 4: prijava.ispis();break;
case 5: student->ukupno();
prijava.ukupno();break;
case 6: cout << "Maticni broj:";cin >> mat_br;
prijava.trazi(mat_br);break;
case 7: student->broj_prijava();break;
} // switch
}while (izbor!=9);
return 0;
}
6.
#include<iostream>
#include<fstream>
using namespace std;
fstream dat;
class cstudent{
public:
int mat_br;
char prezime[35];
cstudent(){
dat.open ("studenti.dat", ios::in);
if (!dat){
dat.open ("studenti.dat", ios::out);
dat.close();
dat.clear();
}
};
void unos(){
dat.open ("studenti.dat", ios::out | ios::app | ios::binary);
cout << "\nMaticni broj: ";
11
12
while (tekuci){
cout << "\n\nSifra: " << tekuci->sifra;
cout << "\nMaticni broj: " << tekuci->mat_br;
cout << "\nPredmet: " << tekuci->predmet;
cout << "\nRok: " << tekuci->rok;
tekuci=tekuci->sljedeci;
};
};
void ispis_prijava(int matbr){
bool nadjen=false;
cprijava *tekuci=this->sljedeci;
while (tekuci){
if (tekuci->mat_br==matbr){
nadjen=true;
cout << "\n\nSifra: " << tekuci->sifra;
cout << "\nMaticni broj: " << tekuci->mat_br;
cout << "\nPredmet: " << tekuci->predmet;
cout << "\nRok: " << tekuci->rok;
}
tekuci=tekuci->sljedeci;
};
if(!nadjen) cout << "\nNema prijava!\n";
};
void br_prijava();
};
cprijava *prijava;
void cprijava::br_prijava(){
int broj;
dat.open ("studenti.dat", ios::in | ios::binary);
while (1){
dat.read ((char *) &student, sizeof(student));
if (dat.eof()) break;
cout << "\n\nMaticni broj: " << student.mat_br;
cout << "\nPrezime i ime: " << student.prezime;
broj=0;
cprijava *tekuci=this->sljedeci;
while (tekuci){
if (tekuci->mat_br==student.mat_br) broj++;
tekuci=tekuci->sljedeci;
};
cout << "\nBroj prijava: " << broj << endl;
}
dat.close();
dat.clear();
};
int main(){
int izbor, br;
prijava=new cprijava;
do {
cout << "\n\nIzbornik ";
cout << "\n1. Unos studenata ";
cout << "\n2. Ispis studenata ";
cout << "\n3. Unos prijava ";
cout << "\n4. Ispis prijava ";
cout << "\n5. Ispis svih prijava zadanog studenta ";
cout << "\n6. Popis studenata s brojem prijava ";
cout << "\n7. Izlaz iz programa ";
cout << "\nVas izbor: ";
cin >> izbor;
switch (izbor){
case 1:
student.unos();
break;
case 2:
13
case
case
case
case
case
student.ispis();
break;
3:
prijava->unos();
break;
4:
prijava->ispis();
break;
5:
cout << "\nUnesite maticni broj studenta: ";
cin >> br;
prijava->ispis_prijava(br);
break;
6:
prijava->br_prijava();
break;
7:
cout << "\nIzlaz iz programa\n";
break;
}
} while (izbor!=7);
system("pause");
return 0;
}
7.
#include<iostream>
#include<fstream>
using namespace std;
int brojac=0;
bool nadjen;
fstream dat;
class cstudent {
public:
int mat_br;
char prezime[40];
cstudent(){
dat.open("studenti.dat",ios::in);
if (!dat) {
dat.open("studenti.dat", ios::out);
dat.close();
dat.clear();
}
};
void unos(){
dat.open("studenti.dat", ios::out | ios::app | ios::binary);
cout << "\nMaticni broj: ";
cin >> mat_br;
cin.ignore();
cout << "Prezime i ime: ";
cin.getline(prezime, 40);
dat.write((char *) this, sizeof(*this));
dat.close();
dat.clear();
};
void ispis(){
dat.open("studenti.dat", ios::in | ios::binary);
while (1){
dat.read((char *) this, sizeof(*this));
if (dat.eof()) break;
cout << "\n\nMaticni broj: " << mat_br;
cout << "\nPrezime i ime: " << prezime;
};
14
dat.clear();
dat.close();
};
bool postoji(int matbr){
dat.open("studenti.dat", ios::in | ios::binary);
while (1){
dat.read((char *) this, sizeof(*this));
if (dat.eof()) break;
if (mat_br==matbr){
dat.close();
dat.clear();
return false;
}
};
dat.clear();
dat.close();
return true;
};
};
cstudent student;
class cprijave{
public:
int sifra, mat_br;
char predmet[35], rok[20];
void unos(){
cout << "\nSifra: ";
cin >> sifra;
do {
cout << "Maticni broj: ";
cin >> mat_br;
} while (student.postoji(mat_br));
cin.ignore();
cout << "Predmet: ";
cin.getline(predmet, 35);
cout << "Rok: ";
cin.getline(rok, 20);
};
void ispis(){
cout << "\n\nSifra: " << sifra;
cout << "\nMaticni broj: " << mat_br;
cout << "\nPredmet: " << predmet;
cout << "\nRok: " << rok;
};
void ispis_prijava(int matbr){
if (mat_br==matbr){
cout << "\n\nSifra: " << sifra;
cout << "\nMaticni broj: " << mat_br;
cout << "\nPredmet: " << predmet;
cout << "\nRok: " << rok;
nadjen=true;
}
};
void br_prijava();
};
cprijave *prijave;
void cprijave::br_prijava(){
int broj;
dat.open ("studenti.dat", ios::in | ios::binary);
while (1){
dat.read((char *) &student, sizeof(student));
if (dat.eof()) break;
cout << "\n\nMaticni broj: " << student.mat_br;
cout << "\nPrezime i ime: " << student.prezime;
15
broj=0;
for (int i=0; i<brojac; i++){
if (student.mat_br==prijave[i].mat_br) broj++;
}
cout << "\nBroj prijava: " << broj << endl;
};
dat.clear();
dat.close();
};
int main(){
int izbor, br, n;
cout << "Koliko zelite unijeti prijava: ";
cin >> n;
prijave=new cprijave[n];
do {
cout << "\n\nIzbornik: ";
cout << "\n1. Upis studenata";
cout << "\n2. Ispis svih studenata";
cout << "\n3. Upis prijava";
cout << "\n4. Ispis svih prijava";
cout << "\n5. Ispis svih prijava zadanog studenta";
cout << "\n6. Popis studenata s brojem prijava";
cout << "\n7. Izlaz iz programa";
cout << "\nVas izbor: ";
cin >> izbor;
switch (izbor){
case 1:
student.unos();
break;
case 2:
student.ispis();
break;
case 3:
prijave[brojac].unos();
brojac++;
break;
case 4:
for (int i=0; i<brojac; i++)
prijave[i].ispis();
break;
case 5:
nadjen=false;
cout << "Unesite maticni broj studenta: ";
cin >> br;
for (int i=0; i<brojac; i++)
prijave[i].ispis_prijava(br);
if (!nadjen) cout << "\nNema prijave\n";
break;
case 6:
prijave[brojac].br_prijava();
break;
case 7:
break;
default:
cout << "\nKrivi izbor!\n";
break;
};
} while (izbor!=7);
system("pause");
return 0;
}
16
8.
#include<iostream>
#include<fstream>
using namespace std;
int brojac=0;
class cstudent {
public:
int mat_br;
char prezime[40];
void unos(){
cout << "\nMaticni broj: ";
cin >> mat_br;
cin.ignore();
cout << "Prezime i ime: ";
cin.getline(prezime, 40);
};
void ispis(){
cout << "\n\nMaticni broj: " << mat_br;
cout << "\nPrezime i ime: " << prezime;
};
void br_prijava();
};
cstudent *student;
int provjera(int matbr){
for (int i=0; i<brojac; i++){
if (student[i].mat_br==matbr) return 1;
}
return 0;
};
fstream dat;
class cprijave{
public:
int sifra, mat_br;
char predmet[35], rok[10];
cprijave(){
dat.open ("prijave.dat", ios::in);
if (!dat){
dat.open ("prijave.dat", ios::out);
dat.close();
dat.clear();
}
};
void unos(){
dat.open ("prijave.dat", ios::out | ios::app | ios::binary);
cout << "\nSifra: ";
cin >> sifra;
do {
cout << "Maticni broj: ";
cin >> mat_br;
} while(provjera(mat_br)==0);
cin.ignore();
cout << "Predmet: ";
cin.getline(predmet, 35);
cout << "Rok: ";
cin.getline(rok, 10);
dat.write ((char *) this, sizeof(*this));
dat.close();
dat.clear();
};
void ispis(){
17
18
9.
#include<iostream>
using namespace std;
int brojac=0;
class cstudent{
public:
int mat_br;
char prezime[35];
void unos(){
cout << "\nMaticni broj: ";
cin >> mat_br;
cin.ignore();
cout << "Prezime i ime: ";
cin.getline(prezime, 35);
};
void ispis(){
cout << "\n\nMaticni broj: " << mat_br;
cout << "\nPrezime i ime: " << prezime;
};
};
cstudent *student;
int provjera(int matbr){
for (int i=0; i<brojac; i++)
if (student[i].mat_br==matbr)return 1;
return 0;
19
};
class cprijava{
private:
cprijava *sljedeci;
public:
int sifra, mat_br;
char predmet[35], rok[10];
cprijava(){
sljedeci=NULL;
};
void unos(){
cprijava *novi, *zadnji;
zadnji=this;
while (zadnji->sljedeci)
zadnji=zadnji->sljedeci;
novi=new cprijava;
zadnji->sljedeci=novi;
cout << "\nSifra prijave: ";
cin >> novi->sifra;
do {
cout << "Maticni broj: ";
cin >> novi->mat_br;
} while (provjera(novi->mat_br)==0);
cout << "Predmet: ";
cin >> novi->predmet;
cout << "Rok: ";
cin >> novi->rok;
};
void ispis(){
cprijava *tekuci=this->sljedeci;
while (tekuci){
cout << "\n\nSifra prijave: " << tekuci->sifra;
cout << "\nMaticni broj: " << tekuci->mat_br;
cout << "\nPredmet: " << tekuci->predmet;
cout << "\nRok: " << tekuci->rok;
tekuci=tekuci->sljedeci;
}
};
void ispis_prijava(int matbr){
bool nadjen=false;
cprijava *tekuci=this->sljedeci;
while (tekuci){
if (tekuci->mat_br==matbr){
nadjen=true;
cout << "\n\nSifra prijave: " << tekuci->sifra;
cout << "\nMaticni broj: " << tekuci->mat_br;
cout << "\nPredmet: " << tekuci->predmet;
cout << "\nRok: " << tekuci->rok;
}
tekuci=tekuci->sljedeci;
}
if(!nadjen) cout << "\nNema prijava!\n";
}
void br_prijava();
};
cprijava *prijava;
void cprijava::br_prijava(){
int broj;
for (int i=0; i<brojac; i++){
cout << "\n\nMaticni broj: " << student[i].mat_br;
cout << "\nPrezime i ime: " << student[i].prezime;
broj=0;
cprijava *tekuci=this->sljedeci;
while (tekuci){
20
if (tekuci->mat_br==student[i].mat_br) broj++;
tekuci=tekuci->sljedeci;
}
cout << "\nBroj prijava: " << broj;
}
};
int main(){
int izbor, n, br;
cout << "Koliko studenata: ";
cin >> n;
student=new cstudent[n];
prijava=new cprijava;
do {
cout << "\n\nIzbornik: ";
cout << "\n1. Upis studenata";
cout << "\n2. Ispis svih studenata";
cout << "\n3. Upis prijava";
cout << "\n4. Ispis svih prijava";
cout << "\n5. Ispis svih prijava zadanog studenta";
cout << "\n6. Popis studenata s brojem prijava";
cout << "\n7. Izlaz iz programa";
cout << "\nVas izbor: ";
cin >> izbor;
switch (izbor){
case 1:
student[brojac].unos();
brojac++;
break;
case 2:
for (int i=0; i<brojac; i++)
student[i].ispis();
break;
case 3:
prijava->unos();
break;
case 4:
prijava->ispis();
break;
case 5:
cout << "Unesite maticni broj studenta: ";
cin >> br;
prijava->ispis_prijava(br);
break;
case 6:
prijava->br_prijava();
break;
case 7:
cout << "\nIzlaz iz programa\n";
break;
default:
cout << "\nKrivi izbor!\n";
break;
};
} while(izbor!=7);
system("pause");
return 0;
}
21
22
void ispis(){
cout << "\n\nSifra prijave: " << sifra;
cout << "\nMaticni broj: " << mat_br;
cout << "\nPredmet: " << predmet;
cout << "\nRok: " << rok;
};
void ispis_prijava(int matbr){
if (mat_br==matbr){
cout << "\n\nSifra prijave: " << sifra;
cout << "\nMaticni broj: " << mat_br;
cout << "\nPredmet: " << predmet;
cout << "\nRok: " << rok;
nadjen=true;
}
};
};
cprijava *prijava;
void cstudent::br_prijava(){
int broj;
cstudent *tekuci=this->sljedeci;
while (tekuci){
cout << "\n\nMaticni broj: " << tekuci->mat_br;
cout << "\nPrezime i ime: " << tekuci->prezime;
broj=0;
for (int i=0; i<brojac; i++)
if (tekuci->mat_br==prijava[i].mat_br)
broj++;
cout << "\nBroj prijava: " << broj << endl;
tekuci=tekuci->sljedeci;
}
};
int main(){
int izbor, n, br;
cout << "Koliko prijava: ";
cin >> n;
prijava=new cprijava[n];
student=new cstudent;
do {
cout << "\n\nIzbornik: ";
cout << "\n1. Upis studenata";
cout << "\n2. Ispis svih studenata";
cout << "\n3. Upis prijava";
cout << "\n4. Ispis svih prijava";
cout << "\n5. Ispis svih prijava zadanog studenta";
cout << "\n6. Popis studenata s brojem prijava";
cout << "\n7. Izlaz iz programa";
cout << "\nVas izbor: ";
cin >> izbor;
switch (izbor){
case 1:
student->unos();
break;
case 2:
student->ispis();
break;
case 3:
prijava[brojac].unos();
brojac++;
break;
case 4:
for (int i=0; i<brojac; i++)
prijava[i].ispis();
break;
case 5:
23
24