Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nemogu proaci gresku u zadatku.Ako ko zna pomagajte.Hvala

[es] :: C/C++ programiranje :: Nemogu proaci gresku u zadatku.Ako ko zna pomagajte.Hvala

[ Pregleda: 2709 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kekinjo9

Član broj: 88055
Poruke: 5
80.71.150.*



Profil

icon Nemogu proaci gresku u zadatku.Ako ko zna pomagajte.Hvala14.03.2006. u 12:34 - pre 219 meseci
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct pacijent
{
char ime_prezime[50];
char adresa[50];
int br_zdr;
struct pacijent *veza;
}
*glavap=NULL,*novip, *pomp;

struct lijecnicki_pregled
{
int br_zdrp;
int sifra;
char dijagnoza[50];
int datum;
struct lijecnicki_pregled *veza;
}
*glavalp=NULL,*pomlp, *novilp;

void upis_novog();
void brisanje();
void novi_pregled();
void popis_svih();

void main()
{
int b;

do{
printf("\n 1. Upis novog pacijenta");
printf("\n 2. Brisanje pacijenta");
printf("\n 3. Novi pregled");
printf("\n 4. Popis svih pregleda");
printf("\n 5. Izlaz");
printf("\n ----------------------------");
printf("\n Unesi izbor:"); scanf("%d",&b);
switch(b)
{ case 1: upis_novog();break;
case 2: brisanje();break;
case 3: novi_pregled();break;
case 4: popis_svih();break;
case 5: break;
}
}while(b!=5);
}
void upis_novog()
{
int temp_br_zdr;
printf("Unesi broj zdravstvene iskaznice:");
scanf("%d",&temp_br_zdr);

pomp=glavap;
while(pomp!=NULL)
{
if(pomp->br_zdr==temp_br_zdr)
{
printf("Pacijent vec postoji!");
}
pomp=pomp->veza;
}
novip=(struct pacijent *)malloc(sizeof(struct pacijent));
novip->br_zdr=temp_br_zdr;
printf("Ime i prezime:");fflush(stdin);
gets(novip->ime_prezime);
printf("Adresa:");fflush(stdin);
gets(novip->adresa);

novip->veza=glavap;
glavap=novip;
}
void brisanje()
{
int temp_br_zdr=0;
pomp=glavap;
printf("Unesi broj zdravstvene iskaznice za brisanje:");
scanf("%d",&temp_br_zdr);


if(pomp->br_zdr==temp_br_zdr)
{
glavap=glavap->veza;

free(pomp);
pomp=glavap;
}
printf("");



struct pacijent *pom2;
pom2=pomp->veza;
while(pom2!=NULL)
{
if(pom2->br_zdr==temp_br_zdr)
{
pomp->veza=pom2->veza;
free(pom2);
pom2=pomp->veza;
return;
}
pom2=pom2->veza;
pomp=pomp->veza;
}

}
void novi_pregled()
{
int temp_br_zdr;
printf("Unesi broj zdravstvene iskaznice za novi pregled:");
scanf("%d",&temp_br_zdr);
pomp=glavap;
while(pomp!=NULL)
{
if(pomp->br_zdr==temp_br_zdr)
{

FILE *fp;
fp=fopen("Pregled.txt","w");
fprintf(fp,"Broj zdravstvene : %d",temp_br_zdr);


int tempsifra;
printf("Unesi sifru lijecnika:");
scanf("%d",&tempsifra);
fprintf(fp,"Sifra lijecnika je : %d",tempsifra);

char dijagnoza[50];
printf("Unesi dijagnozu:");
gets(dijagnoza);
fprintf(fp,"Dijagnoza je : %s",dijagnoza);

int datum;
printf("Datum:");
scanf("%d",&datum);
fprintf(fp,"Datum je : %d",datum);
}
pomp=pomp->veza;
}
}
void popis_svih()
{
int sortiranje=0;
struct lijecnicki_pregled *pom1, *pom2;
FILE *fp;
fp=fopen("pregledi.txt","r")

int sifra=0;

printf("Izaberi kategoriju sortiranja\n");
printf("\n1.Po sifri lijecnika\n");
printf("\n1.Po dijagnozi\n");
printf("\n1.Po datumu\n");
printf("Vas izbor je:\n");
scanf("%d",&sortiranje);

switch(sortiranje)
{
case 1:
{
while(fscanf(fp,"%d",&sifra)!=EOF)
{
novilp=(struct lijecnicki_pregled*)malloc(sizeof(lijecnicki_pregled));

novilp->sifra=sifra;
fscanf(fp,"%d",&novilp->br_zdrp);
fscanf(fp,"%s",&novilp->dijagnoza);
fscanf(fp,"%d",&novilp->datum);

pomp=glavap;

while(pomp!=NULL)
{
if(pomp->br_zdr==novilp->br_zdrp)
{
printf("Ime je:%s\n",pomp->ime_prezime);
printf("Ime je:%d\n",pomp->br_zdr);
break;
}

pomp=pomp->veza;
}

if((glavalp==NULL)||(glavalp->sifra>novilp->sifra))
{

novilp->veza=glavalp;
glavalp=novilp;
}

else
{
pom1=glavalp;
pom2=pom1->veza;

while(pom2!=NULL)
{
if(pom2->sifra>novilp->sifra)
{
pom1->veza=novilp;
novilp->veza=pom2
}
pom2=pom2->veza;
pom1=pom1->veza;
}
if(pom2==NULL)
{
pom1->veza=novilp;
novilp->veza=NULL;
}

}
break;
}

case 2:
{

while(fscanf(fp,"%d",&sifra)!=EOF)
{
novilp=(struct lijecnicki_pregled*)malloc(sizeof(lijecnicki_pregled));

novilp->sifra=sifra;
fscanf(fp,"%d",&novilp->br_zdrp);
fscanf(fp,"%s",&novilp->dijagnoza);
fscanf(fp,"%d",&novilp->datum);

pomp=glavap;

while(pomp!=NULL)
{
if(pomp->br_zdr==novilp->br_zdrp)
{
printf("Ime je:%s\n",pomp->ime_prezime);
printf("Ime je:%d\n",pomp->br_zdr);
break;
}

pomp=pomp->veza;
}

if((glavalp==NULL)||(glavalp->sifra>novilp->sifra))
{

novilp->veza=glavalp;
glavalp=novilp;
}

else
{
pom1=glavalp;
pom2=pom1->veza;

while(pom2!=NULL)
{
if(pom2->sifra>novilp->sifra)
{
pom1->veza=novilp;
novilp->veza=pom2
}
pom2=pom2->veza;
pom1=pom1->veza;
}
if(pom2==NULL)
{
pom1->veza=novilp;
novilp->veza=NULL;
}

}
break;
}














 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: Nemogu proaci gresku u zadatku.Ako ko zna pomagajte.Hvala14.03.2006. u 15:17 - pre 219 meseci
Nisi stavio ;
151. linija fp=fopen("pregledi.txt","r")
204. linija novilp->veza=pom2
262. linija novilp->veza=pom2

Nisi zatvorio sve funkcije i petlje unutar programa,na kraju dodaj:
}}}}

:))
 
Odgovor na temu

[es] :: C/C++ programiranje :: Nemogu proaci gresku u zadatku.Ako ko zna pomagajte.Hvala

[ Pregleda: 2709 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.