[ unknow13 @ 31.05.2012. 15:55 ] @
Radimo program za skolu, i napisali smo skoro do kraja, i imamo problem da prilikom unosa novog automobila program ulazi u beskonacnu petlju i nikako ne mozemo da smislimo kako da napisemo for petlju i da radi dobro. Stanje predstavlja broj automobila na placu. Evo koda : Code: #include<stdio.h> #include<conio.h> #include<string.h> #include<math.h> int main() { char izbor,search,fuel[10]; int u,stanje,euro,kms,year,i; printf("\n Dobrodosli na Auto plac"); struct parking{ char marka[20]; char model[20]; char gorivo[10]; int km; int god; int cena; }; FILE *plac; parking auto1[50]; printf("\n Za unos novog automobila unesite U , za pretragu unesite P, a za listanje dostupnih auta L \n" ); scanf("%c",&izbor); if(izbor=='U') { plac=fopen("plac.txt","r"); fscanf(plac,"%d",&stanje); fclose(plac); plac=fopen("plac.txt","w+"); for(i=stanje;i<stanje+1;i++) { printf("\n Unesite marku auta"); scanf("%s",&auto1[i].marka); fprintf(plac,"%s",&auto1[i].marka); printf("\n Unesite model auta"); scanf("%s",&auto1[i].model); fprintf(plac,"%s",&auto1[i].model); printf("\n Unesite gorivo koje auto koristi"); scanf("%s",&auto1[i].gorivo); fprintf(plac,"%s",&auto1[i].gorivo); printf("\n Unesite kilometrazu"); scanf("%d",&auto1[i].km); fprintf(plac,"%d",&auto1[i].km); printf("\n Unesite godiste u formatu xxxx"); scanf("%d",&auto1[i].god); fprintf(plac,"%d",&auto1[i].god); printf("\n Unesite cenu auta"); scanf("%d",&auto1[i].cena); fprintf(plac,"%d",&auto1[i].cena); stanje ++; } fclose(plac); } else if(izbor=='P') { plac=fopen("plac.txt","r"); printf("\n Za pretragu po gorivu unesite G \n za pretragu po godistu Y \n za pretragu po kilometrazi unesti K \n za pretragu po ceni, unesite C \n"); scanf("%c",&search); if(search=='G') { printf("\n Unesite gorivo koje zelite ( DIZEL/BENZIN/GAS )"); scanf("%s",&fuel[10]); for(i=0;i<stanje;i++) { if(auto1[i].gorivo==fuel) { printf("%s",&auto1[i].marka); printf("%s",&auto1[i].model); printf("%d",&auto1[i].km); printf("%d",&auto1[i].god); printf("%d",&auto1[i].cena); printf("%s",&auto1[i].gorivo); } } } } else if(search=='Y') { printf("\n Unesite od kojeg godista trazite auto (xxxx)"); scanf("%d",&year); for(i=0;i<stanje;i++) { if(auto1[i].god>=year) { printf("%s",&auto1[i].marka); printf("%s",&auto1[i].model); printf("%d",&auto1[i].km); printf("%s",&auto1[i].gorivo); printf("%d",&auto1[i].cena); printf("%d",&auto1[i].god); } } } else if(search=='K') { printf("\n Unesite do koje kilometraze trazite auto"); scanf("%d",&kms); for(i=0;i<stanje;i++) { if(auto1[i].km<=kms) { printf("%s",&auto1[i].marka); printf("%s",&auto1[i].model); printf("%s",&auto1[i].gorivo); printf("%d",&auto1[i].god); printf("%d",&auto1[i].cena); printf("%d",&auto1[i].km); } } } else if(search=='C') { printf("\n Unesite do koje cene trazite auto"); scanf("%d",&euro); for(i=0;i<stanje;i++) { if(auto1[i].cena<=euro) { printf("%s",&auto1[i].marka); printf("%s",&auto1[i].model); printf("%d",&auto1[i].km); printf("%d",&auto1[i].god); printf("%s",&auto1[i].gorivo); printf("%d",&auto1[i].cena); } } } else { for(i=0;i<stanje;i++) { printf("%s",&auto1[i].marka); printf("%s",&auto1[i].model); printf("%d",&auto1[i].km); printf("%d",&auto1[i].god); printf("%s",&auto1[i].gorivo); printf("%d",&auto1[i].cena); } } fclose(plac); getch(); return 0; } [Ovu poruku je menjao Mihajlo Cvetanović dana 31.05.2012. u 17:25 GMT+1] |