[]
C Programlama Dosyadaki sayı silme?
şimdi kullanıcıdan hangi kayıdı silmesi istediği soruluyor sicil no giriliyor ardından şu işlemleri yaptım
if(c==2) {printf("Silmek istediginiz kisinin sicil nosu\n");
scanf("%d",&no);
t=0; dosya=fopen("kayit.txt","r");
while(!feof(dosya)){
fscanf(dosya,"%d %s %s %s %s %d %d",&kisi[t].sicil_no,&kisi[t].ad,&kisi[t].soyad,&kisi[t].sicil,&kisi[t].dogum,&kisi[t].yas,&kisi[t].ceza);
t++;
for(i=0;i<t;i++){
if(kisi[i].sicil_no==no) {kisi[i].yas=0;
kisi[i].sicil_no=0;
strcpy(kisi[i].ad,"");
strcpy(kisi[i].soyad,"");
strcpy(kisi[i].sicil,"");
strcpy(kisi[i].dogum,"");
kisi[i].ceza=0;
printf("%d nolu kayit basariyla silindi",&no);}
}
}
fclose(dosya);
dosya=fopen("kayit.txt","w");
for(i=0;i<t;i++){
fprintf(dosya,"%d %s %s %s %s %d %d",kisi[i].sicil_no,kisi[i].ad,kisi[i].soyad,kisi[i].sicil,kisi[i].dogum,kisi[i].yas,kisi[i].ceza);
fprintf(dosya,"\n");}
fclose(dosya);
karakter olanlara " " yerleştirince txt dosyasından siliniyor fakat sayı olanlara nasıl bişi atamam lazım ki silinsin bu haliyle 0 yapıyor?
if(c==2) {printf("Silmek istediginiz kisinin sicil nosu\n");
scanf("%d",&no);
t=0; dosya=fopen("kayit.txt","r");
while(!feof(dosya)){
fscanf(dosya,"%d %s %s %s %s %d %d",&kisi[t].sicil_no,&kisi[t].ad,&kisi[t].soyad,&kisi[t].sicil,&kisi[t].dogum,&kisi[t].yas,&kisi[t].ceza);
t++;
for(i=0;i<t;i++){
if(kisi[i].sicil_no==no) {kisi[i].yas=0;
kisi[i].sicil_no=0;
strcpy(kisi[i].ad,"");
strcpy(kisi[i].soyad,"");
strcpy(kisi[i].sicil,"");
strcpy(kisi[i].dogum,"");
kisi[i].ceza=0;
printf("%d nolu kayit basariyla silindi",&no);}
}
}
fclose(dosya);
dosya=fopen("kayit.txt","w");
for(i=0;i<t;i++){
fprintf(dosya,"%d %s %s %s %s %d %d",kisi[i].sicil_no,kisi[i].ad,kisi[i].soyad,kisi[i].sicil,kisi[i].dogum,kisi[i].yas,kisi[i].ceza);
fprintf(dosya,"\n");}
fclose(dosya);
karakter olanlara " " yerleştirince txt dosyasından siliniyor fakat sayı olanlara nasıl bişi atamam lazım ki silinsin bu haliyle 0 yapıyor?
tum fieldlari string olarak al. sonra sayi olarak kullanicaklarini atoi ile cevirirsin, boylece sorunun cozulur.
- mini mini bir nick konmustu (05.06.12 15:17:28)
1