Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- //workshop7-zadatak1
- #include<stdafx.h>
- #include<iostream>
- #include<cstring>
- using namespace std;
- struct ucenik{
- char *ime;
- char *prezime;
- char spol;
- int ocjene[5];
- };
- void unos(ucenik *a)
- {
- char imp[20];
- cin.ignore();
- cout<<"Unesite ime ucenika:";cin.getline(imp,19);
- a->ime=new char [strlen(imp)+1];
- strcpy_s(a->ime,strlen(imp)+1,imp);
- cout<<"Unesite prezime ucenika:";cin.getline(imp,19);
- a->prezime=new char[strlen(imp)+1];
- strcpy_s(a->prezime,strlen(imp)+1,imp);
- cout<<"Unesite spol M/Z:"; cin>>a->spol;
- for (int i=0; i<5; i++)
- {
- cout<<"Unesite "<<i+1<<". ocjenu:";
- cin>>a->ocjene[i];
- }
- cin.ignore();
- }
- void ispis(ucenik a)
- {
- cout<<"Ime i prezime:"<<a.ime<<" "<<a.prezime<<endl;
- cout<<"Spol:"<<a.spol<<endl;
- cout<<"Ocjene:";
- for(int i=0; i<5; i++)
- {
- cout<<a.ocjene[i]<<" ";
- }
- }
- ucenik * najprezime(ucenik *a, int vel)
- {
- int max=strlen(a[0].prezime);
- ucenik *poknamax=&a[0];
- for (int i=1; i<vel; i++)
- {
- int vel=strlen(a[i].prezime);
- if(vel>max) poknamax=a+i;
- }
- return poknamax;
- }
- void pronadjirijec(ucenik *a,int vel, char niz[])
- {
- for (int i=0; i<vel; i++)
- {
- if(strstr(a[i].ime,niz)!=NULL)
- ispis(a[i]);
- }
- }
- void prezime(ucenik *a,int vel, char niz[])
- {
- for (int i=0; i<vel; i++)
- {
- if(strstr(a[i].prezime,niz)!=NULL)
- ispis(a[i]);
- }
- }
- float prosjek(ucenik a)
- {
- float suma=0;
- for(int i=0; i<5; i++)
- {
- suma+=a.ocjene[i];
- }
- return suma/5;
- }
- void sortiraj(ucenik *niz, int vel)
- {
- for (int i=0; i<vel-1; i++)
- {
- for (int j=i; j<vel; j++)
- {
- if(prosjek(niz[i])>prosjek(niz[j])) niz[i]=niz[i];
- else
- {
- ucenik temp=niz[i];
- niz[i]=niz[j];
- niz[j]=temp;
- }
- }
- }
- }
- void malvelslov (ucenik *a)
- {
- for(int i=0; i<strlen(a->ime); i++)
- {
- if( islower(a->ime[i])) a->ime[i]=(char)toupper(a->ime[i]);
- else a->ime[i]=(char)tolower(a->ime[i]);
- }
- }
- int vokali(ucenik *a)
- {
- int brojac=0;
- for(int i=0; i<strlen(a->prezime);i++)
- {
- if(a->prezime[i]=='a' || a->prezime[i]=='e'|| a->prezime[i]=='i'|| a->prezime[i]=='o'|| a->prezime[i]=='u'
- || a->prezime[i]=='A'|| a->prezime[i]=='E'|| a->prezime[i]=='O'|| a->prezime[i]=='U') brojac++;
- }
- return brojac;
- }
- void dealociraj(ucenik *a, int vel)
- {
- for (int i=0; i<vel; i++)
- {
- delete [] a[i].ime;
- delete [] a[i].prezime;
- }
- }
- int main()
- {
- int vel;
- cout<<"koliko ucenika zelite unijeti:";cin>>vel;
- ucenik *niz=new ucenik[vel];
- for(int i=0; i<vel; i++)
- {
- unos(niz+i);
- }
- for (int i=0; i<vel;i++)
- {
- cout<<endl;
- ispis(niz[i]);
- }
- ucenik *maxu=najprezime(niz,vel);
- cout<<endl<<"Ucenik koji ima najduze prezime je:"<<endl;
- ispis(*maxu);
- int velniz=-1;
- for (int i=0; i<vel; i++)
- {
- if(strstr(niz[i].ime,"mir")!=NULL) velniz++;
- }
- if (velniz<0) cout<<endl<<"Nema ucenika sa kombinacijom slova mir u imenu!"<<endl;
- else
- {
- cout<<endl<<"Ucenici sa kombinacijom slova mir u imenu su:"<<endl;
- pronadjirijec(niz,vel,"mir");
- }
- sortiraj(niz,vel);
- for (int i=0; i<vel; i++)
- malvelslov(niz+i);
- cout<<endl;
- for (int i=0; i<vel;i++)
- {
- cout<<endl;
- ispis(niz[i]);
- cout<<endl;
- }
- for (int i=0; i<vel;i++)
- cout<<endl<<"Ucenik "<<i+1<<" u prezimenu ima "<<vokali(niz+i)<<" vokala."<<endl;
- char niz2[20];
- cout<<endl<<"Unesite ime po kojem zelite pretraziti:";
- cin.getline(niz2,19);
- pronadjirijec(niz,vel,niz2);
- cout<<endl<<"Unesite prezime po kojem zelite pretraziti:";
- cin.getline(niz2,19);
- prezime(niz,vel,niz2);
- dealociraj(niz,vel);
- delete [] niz;
- niz=NULL;
- system("Pause>0");
- return 0;
- }*/
- /*
- //workshop7-zadatak2
- #include<stdafx.h>
- #include<iostream>
- #include<cstring>
- using namespace std;
- struct ljubimac {
- char *ime;
- int dob;
- char *vrsta;
- char spol;
- char *datum[3];
- char *vrstacjep[3];
- };
- void unos(ljubimac *a)
- {
- cin.ignore();
- char znakovi[20];
- cout<<"Unesite ime vaseg ljubimca:"; cin.getline(znakovi,19);
- a->ime=new char [strlen(znakovi)+1];
- strcpy_s(a->ime,strlen(znakovi)+1,znakovi);
- cout<<"Unesite dob vaseg ljubimca u mj:"; cin>>a->dob;
- cin.ignore();
- cout<<"Unesite vrstu vaseg ljubimca:";cin.getline(znakovi,19);
- a->vrsta=new char [strlen(znakovi)+1];
- strcpy_s(a->vrsta,strlen(znakovi)+1,znakovi);
- cout<<"unesite spol vaseg ljubimca m/z:"; cin>>a->spol;
- cin.ignore();
- for (int i=0; i<3; i++)
- {
- cout<<"unesite datum:"; cin.getline(znakovi,19);
- a->datum[i]=new char[strlen(znakovi)+1];
- strcpy_s(a->datum[i],strlen(znakovi)+1,znakovi);
- }
- for (int i=0; i<3; i++)
- {
- cout<<"unesite vrstu cjepiva:"; cin.getline(znakovi,19);
- a->vrstacjep[i]=new char[strlen(znakovi)+1];
- strcpy_s(a->vrstacjep[i],strlen(znakovi)+1,znakovi);
- }
- }
- void ispis(ljubimac a)
- {
- cout<<endl;
- cout<<"Ime ljubimca:"<<a.ime<<endl;
- cout<<"Dob ljubimca:"<<a.dob<<endl;
- cout<<"Vrsta ljubimca:"<<a.vrsta<<endl;
- cout<<"Spol ljubimca:"<<a.spol<<endl;
- for (int i=0; i<3; i++)
- {
- cout<<"Datum:"<<a.datum[i]<<endl;
- cout<<"Cjepivo:"<<a.vrstacjep[i]<<endl;
- }
- }
- void pronadji(ljubimac *a,int vel, char niz[])
- {
- bool test=true;
- for (int i=0; i<vel; i++)
- {
- if(strstr(a[i].vrsta,niz)!=NULL)
- {
- ispis(a[i]);
- test=false;
- }
- }
- if(test)
- cout<<endl<<"ne postoji ljubimac sa tom vrstom!"<<endl;
- }
- void pronadjidatum(ljubimac *a,int vel, char niz[])
- {
- bool test=true;
- for (int i=0; i<vel; i++)
- {
- for(int j=0; j<3; j++)
- {
- if(strstr(a[i].datum[j],niz)!=NULL)
- {
- ispis(a[i]);
- test=false;
- }
- }
- }
- if(test)
- cout<<endl<<"ne postoji ljubimac koji ima taj datum!"<<endl;
- }
- void najime(ljubimac *a, int vel)
- {
- ljubimac *pok=a;
- for(int i=1; i<vel; i++)
- {
- if(strlen(a[i].ime)<strlen(pok->ime)) *pok=a[i];
- }
- ispis(*pok);
- }
- ljubimac *manjiod13 (ljubimac *a,int vel,int &vel2)
- {
- for(int i=0; i<vel; i++)
- {
- if(a[i].dob<13) vel2++;
- }
- if (vel2==0) {cout<<"Nema ljubimaca koji su mladji od 13 mjeseci!"<<endl; return NULL;}
- else {
- ljubimac *niz2=new ljubimac [vel2];
- int j=0;
- for(int i=0;i<vel; i++)
- {
- if(a[i].dob<13)
- {niz2[j]=a[i];
- j++;
- }
- }
- return niz2;
- delete []niz2;
- }
- }
- void imena(ljubimac *a,int vel)
- {
- bool provjera=false;
- for(int i=0; i<vel; i++)
- {
- for (int j=i+1; j<vel; j++)
- {
- if(strcmp(a[i].ime,a[j].ime) !=0) cout<<"Ne postoje ljubimci sa istim imenima!"<<endl;
- else provjera=true;
- }
- }
- if(provjera) cout<<"Postoje ljubimci sa istim imenima!"<<endl;
- }
- void dealociraj(ljubimac *a,int vel)
- {
- for (int i=0; i<vel; i++)
- {
- delete [] a[i].ime;
- delete [] a[i].vrsta;
- for (int j=0; j<3; j++)
- {
- delete [] a[i].datum[j];
- delete [] a[i].vrstacjep[j];
- }
- }
- }
- int main()
- {
- int broj;
- char vrsta2[29];
- cout<<"unesite koliko zelite ljubimaca:"; cin>>broj;
- ljubimac *niz=new ljubimac [broj];
- for(int i=0; i<broj; i++)
- unos(niz+i);
- for(int i=0; i<broj; i++)
- ispis(niz[i]);
- cout<<"unesite vrstu po kojoj zelite pretraziti:"; cin.getline(vrsta2,19);
- pronadji(niz,broj,vrsta2);
- char datum[20];
- cout<<"unesite datum po kojem zelite naci ljubimca:"; cin.getline(datum,19);
- cout<<endl;
- pronadjidatum(niz,broj,datum);
- cout<<endl<<"ljubimac sa najkracim imenom je:"<<endl;
- najime(niz,broj);
- int brojmanj=0;
- cout<<endl<<"ljubimci koji su mladji od 13 mj:"<<endl;
- ljubimac *manji=manjiod13(niz,broj,brojmanj);
- for(int i=0; i<brojmanj; i++)
- ispis(manji[i]);
- imena(niz,broj);
- dealociraj(niz,broj);
- delete [] niz;
- niz=NULL;
- manji=NULL;
- system ("pause>0");
- return 0;
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement