Evo drugog.
#include <stdlib.h>
#include <stdio.h>
/////////////////////////////////////////////////////////////////////////////
struct podaci
{
char prezime[20];
long broj_osobne;
int broj_sobe;
int broj_nocenja;
};
/////////////////////////////////////////////////////////////////////////////
void jedan(int broj,podaci *gosti)
{
system("cls");
for(int i=0;i<broj;i++)
{
printf("Osoba %d:\n\n",i+1);
printf("Prezime %d. gosta: %s\n",i+1,gosti[i].prezime);
printf("Broj osobne %d. gosta: %d\n",i+1,gosti[i].broj_osobne);
printf("Broj sobe %d. gosta: %d\n",i+1,gosti[i].broj_sobe);
printf("Broj nocenja %d. gosta: %d\n",i+1,gosti[i].broj_nocenja);
printf("\n---------------------------------\n");
}
getchar();
getchar();
}
void dva(int broj,podaci *gosti)
{
system("cls");
int n;
printf("Zadjte broj nocenja:");scanf("%d",&n);
printf("Osobe koje imaju vise od %d nocenja:\n\n",n);
for(int i=0;i<broj;i++)
{
if(gosti[i].broj_nocenja<=n) continue;
printf("Prezime gosta: %s\n",gosti[i].prezime);
printf("\n---------------------------------\n");
}
getchar();
getchar();
}
void tri(int broj,podaci *gosti)
{
system("cls");
getchar();
char c;
printf("Zadjte slovo nocenja:");scanf("%c",&c);
printf("Osobe kojima ime pocinje sa %c:\n\n",c);
for(int i=0;i<broj;i++)
{
if(gosti[i].prezime[0]!=c) continue;
printf("Prezime %d. gosta: %s\n",i+1,gosti[i].prezime);
printf("Broj osobne %d. gosta: %d\n",i+1,gosti[i].broj_osobne);
printf("Broj sobe %d. gosta: %d\n",i+1,gosti[i].broj_sobe);
printf("Broj nocenja %d. gosta: %d\n",i+1,gosti[i].broj_nocenja);
printf("\n---------------------------------\n");
}
getchar();
getchar();
}
/////////////////////////////////////////////////////////////////////////////
int main()
{
int broj=-1;
while((broj<0)||(broj>99))
{
printf("Zadajte broj gostiju:");
scanf("%d",&broj);
}
podaci *gosti;
gosti=new podaci[broj];
for(int i=0;i<broj;i++)
{
printf("\n---------------------------------\n");
printf("Zadajte prezime %d. gosta:",i+1);
scanf("%s",gosti[i].prezime);
printf("Zadajte osobnu %d. gosta:",i+1);
scanf("%d",&gosti[i].broj_osobne);
printf("Zadajte sobu %d. gosta:",i+1);
scanf("%d",&gosti[i].broj_sobe);
printf("Zadajte nocenje %d. gosta:",i+1);
scanf("%d",&gosti[i].broj_nocenja);
}
int funkcija=-1;
while(funkcija!=0)
{
system("cls");
printf("Kaj bus?\n\n");
printf("1. Pregled svih podataka za goste.\n");
printf("2. Ispis prezimena gostiju koji imaju više od 'n' nocenja.\n");
printf("3. Ispis svih podataka za goste čije prezime pocinje nekim zadanim slovom.\n");
printf("0. Kraj programa.\n\n");
scanf("%d",&funkcija);
switch(funkcija)
{
case(1):jedan(broj,gosti);break;
case(2):dva(broj,gosti);break;
case(3):tri(broj,gosti);break;
}
}
return 0;
}