C Sonsuz Döngüye Giriyor Neden ?
-
#include <stdio.h>
#include <stdlib.h>
struct customer{
char first_name[20];
char family_name[20];
char passport_num[20];
};
struct car{
char name[20];
char id[6];
int price1day;
int days;
struct customer cust;
};
void add_car(struct car c[],int *n){
printf("Name: ");
scanf("%s",&c[*n].name);
printf("ID: ");
scanf("%s",&c[*n].id);
printf("Price of one day");
scanf("%d",&c[*n].price1day);
c[*n].days=0;
(*n)++;
}
void rent_car(struct car c[],int *n){
int i,sel;
for(i=0;i<*n;i++)
if(c[i].days==0)
printf("%s price of 1 day: %d",c[i].name,c[i].price1day);
printf("Which car: ");
scanf("%d",&sel);
printf("How many days: ");
scanf("%d",&c[sel].days);
printf("Customer first name: ");
scanf("%s",&c[sel].cust.first_name);
printf("Customer family name");
scanf("%s",&c[sel].cust.family_name);
printf("Customer passport number");
scanf("%s",&c[sel].cust.passport_num);
}
void car_return(struct car c[],int *n){
int i,sel;
for(i=0;i<*n;i++)
if(c[i].days!=0);
printf("%s cost of it %d",c[i].name,c[i].price1day);
printf("which car: ");
scanf("%d",&sel);
printf("\n Total cost: %d",c[sel].price1day*c[sel].days);
system("pause");
c[sel].days=0;
}
void save_car(struct car c[],int *n){
FILE* output;
output=fopen("Cars.dat","wb");
fwrite(n,sizeof(int),1,output);
fwrite(n,sizeof(struct car),1,output);
fclose(output);
}
void load_car(struct car c[],int *n){
FILE* input;
input=fopen("Cars.dat","rb");
fread(n,sizeof(int),1,input);
fread(n,sizeof(struct car),1,input);
fclose(input);
}
void list_car(struct car c[],int *n){
int i;
for(i=0;i<*n;i++){
printf("%s %s %d",c[i].name,c[i].id,c[i].price1day);
if(c[i].days!=0)
printf("%d %s %s %s",c[i].days,c[i].cust.first_name,
c[i].cust.family_name,c[i].cust.passport_num);
printf("\n");
}
system("pause");
}
void print_car(struct car c[],int *n){
FILE* text_file;
text_file=fopen("Cars.txt","w");
fprintf(text_file," Name\t\t ID 1day\t\t Customer\n");
int i;
for(i=0;i<*n;i++){
fprintf(text_file,"%d\t %s %s\t %s",
c[i].days,c[i].cust.first_name,c[i].cust.family_name,
c[i].cust.passport_num);
fprintf(text_file,"\n");
}
fclose(text_file);
}
void delete_car(struct car c[],int *n){
int i,sel;
for(i=0;i<*n;i++)
printf("%d. %s\t %d\n",i,c[i].name,c[i].price1day);
printf("which car: ");
scanf("%d",&sel);
c[sel]=c[*n-1];
(*n)--;
}
int main()
{
struct car cars[20];
int com=0;
int i=0;
while (com!=9){
printf("1.Add car");
printf("2.Rent a car");
printf("3.Car retun");
printf("4.Save cars to file");
printf("5.Load cars to file");
printf("6.List of all cars");
printf("7.Print all cars to text file");
printf("8.Delete car");
printf("9.Exit");
if(com==1)add_car(cars,&i);
if(com==2)rent_car(cars,&i);
if(com==3)car_return(cars,&i);
if(com==4)save_car(cars,&i);
if(com==5)load_car(cars,&i);
if(com==6)list_car(cars,&i);
if(com==7)print_car(cars,&i);
if(com==8)delete_car(cars,&i);
}
system("PAUSE");
return 0;
}
-
int com=0;
int i=0;
printf("1.Add car");
printf("2.Rent a car");
printf("3.Car retun");
printf("4.Save cars to file");
printf("5.Load cars to file");
printf("6.List of all cars");
printf("7.Print all cars to text file");
printf("8.Delete car");
printf("9.Exit");
scanf("%d",&com);
while (com!=9){
if(com==1)add_car(cars,&i);
if(com==2)rent_car(cars,&i);
if(com==3)car_return(cars,&i);
if(com==4)save_car(cars,&i);
if(com==5)load_car(cars,&i);
if(com==6)list_car(cars,&i);
if(com==7)print_car(cars,&i);
if(com==8)delete_car(cars,&i);
printf("1.Add car");
printf("2.Rent a car");
printf("3.Car retun");
printf("4.Save cars to file");
printf("5.Load cars to file");
printf("6.List of all cars");
printf("7.Print all cars to text file");
printf("8.Delete car");
printf("9.Exit");
scanf("%d",&com);
}
şöyle dene?
-
sıkıntı şurda hocam
int com=0; int i=0; while (com!=9){ printf("1.Add car"); printf("2.Rent a car"); printf("3.Car retun"); printf("4.Save cars to file"); printf("5.Load cars to file"); printf("6.List of all cars"); printf("7.Print all cars to text file"); printf("8.Delete car"); printf("9.Exit"); // bunlari yazdirdiktan sonra scanf("%d",&com); kodu ile seçtirtmelisin. com her zaman 0 olduğu için while döngüsünden çıkamıyor program. if(com==1)add_car(cars,&i); if(com==2)rent_car(cars,&i); if(com==3)car_return(cars,&i); if(com==4)save_car(cars,&i); if(com==5)load_car(cars,&i); if(com==6)list_car(cars,&i); if(com==7)print_car(cars,&i); if(com==8)delete_car(cars,&i); }
-
pSkpt bunu yazdı
int com=0;
int i=0;
printf("1.Add car");
printf("2.Rent a car");
printf("3.Car retun");
printf("4.Save cars to file");
printf("5.Load cars to file");
printf("6.List of all cars");
printf("7.Print all cars to text file");
printf("8.Delete car");
printf("9.Exit");
scanf("%d",&com);
while (com!=9){
if(com==1)add_car(cars,&i);
if(com==2)rent_car(cars,&i);
if(com==3)car_return(cars,&i);
if(com==4)save_car(cars,&i);
if(com==5)load_car(cars,&i);
if(com==6)list_car(cars,&i);
if(com==7)print_car(cars,&i);
if(com==8)delete_car(cars,&i);
printf("1.Add car");
printf("2.Rent a car");
printf("3.Car retun");
printf("4.Save cars to file");
printf("5.Load cars to file");
printf("6.List of all cars");
printf("7.Print all cars to text file");
printf("8.Delete car");
printf("9.Exit");
scanf("%d",&com);
}
şöyle dene?
tmm hocam oldu sanırım sorun scanf koymamışım menü kısmına :@ ahhh c den nefret ediom
-
OnLyGoDCaNStoPMe bunu yazdı
sıkıntı şurda hocam
int com=0; int i=0; while (com!=9){ printf("1.Add car"); printf("2.Rent a car"); printf("3.Car retun"); printf("4.Save cars to file"); printf("5.Load cars to file"); printf("6.List of all cars"); printf("7.Print all cars to text file"); printf("8.Delete car"); printf("9.Exit"); // bunlari yazdirdiktan sonra scanf("%d",&com); kodu ile seçtirtmelisin. com her zaman 0 olduğu için while döngüsünden çıkamıyor program. if(com==1)add_car(cars,&i); if(com==2)rent_car(cars,&i); if(com==3)car_return(cars,&i); if(com==4)save_car(cars,&i); if(com==5)load_car(cars,&i); if(com==6)list_car(cars,&i); if(com==7)print_car(cars,&i); if(com==8)delete_car(cars,&i); }
saolasın hocam :) yardım alabilmek gzl ya
-
o kadar yaz yaz, sonra menüye scanf koymayı unut, c de böyle şeyler oluyor işte :)