c'de dosyalama işlemleri

Şu anda konuyu okuyanlar (Üyeler: 1, Ziyaretçi & Botlar: 0)


merve89

Üyecik
Katılım
4 May 2019
Mesajlar
2
Puanları
1
Arkadaşlar bir hastane otomasyon sistemi yapmamız isteniyor. arama fonksiyonu ile kullanıcıdan hasta numarası istenip dosyadan o hastaya ait bilgiler ekrana bastırılcak. yazdığım kodda hasta numarası isteniyor ancak ekran bastırılmıyor ve sonlanmıyor da yardımcı olabilir misiniz ?

fonksiyon bu şekilde;
void kayit_arama()
{
struct Hasta Kayit;

FILE *p;
p=fopen("hastabilgileri.txt","r");
char HastaNo[100];
printf("\nAradiginiz Hastanin Numarasini Giriniz:");
scanf("%s",HastaNo);
while(!feof(p))
{
int x;
scanf("%d",&x);
HastaNo; x;
fscanf(p,"%d %s %d %d %s %d %s %d",kayit.HastaNo,kayit.HastaAdi,kayit.HastaYasi,kayit.OdaNo,kayit.OdaKayitTarihi,kayit.IlacNo,kayit.IlacAdi,kayit.GunlukIlacAdedi);
if(strcmp(HastaNo,HastaNo)==0)
{
printf("Hasta bulunamadi..");
printf("%d\n %s\n %d\n %d\n %s\n %d\n %s\n %d\n",kayit.HastaNo,kayit.HastaAdi,kayit.HastaYasi,kayit.OdaNo,kayit.OdaKayitTarihi,kayit.IlacNo,kayit.IlacAdi,kayit.GunlukIlacAdedi);
}
}
fclose(p);
}
 

ÆSir

1881-19∞
Yönetici
Mod. Adayı
Katılım
26 Ocak 2018
Mesajlar
1,883
Puanları
113
Konum
Karaman
Kod:
if(strcmp(HastaNo,HastaNo)==0)
{
printf("Hasta bulunamadi..");
printf("%d\n %s\n %d\n %d\n %s\n %d\n %s\n %d\n",kayit.HastaNo,kayit.HastaAdi,kayit.HastaYasi,kayit.OdaNo,kayit.OdaKayitTarihi,kayit.IlacNo,kayit.IlacAdi,kayit.GunlukIlacAdedi);
}
else
İşleminde dışarı yazması gereken kodu yazması ve hemen sonrasında !feof(p) yi true ya çevirdiğinde döngüden çıkıp ekrana basar gibi duruyor.
Benim gördüğüm; Mevcut kod yapısında while dan açılmıyor ve if yani hatalı işlemden sonra ne yapması gerektiğini bilmiyor. Bu şekilde bir yardım aldım. Dilerseniz inceleyin.
 

merve89

Üyecik
Katılım
4 May 2019
Mesajlar
2
Puanları
1
Kod:
if(strcmp(HastaNo,HastaNo)==0)
{
printf("Hasta bulunamadi..");
printf("%d\n %s\n %d\n %d\n %s\n %d\n %s\n %d\n",kayit.HastaNo,kayit.HastaAdi,kayit.HastaYasi,kayit.OdaNo,kayit.OdaKayitTarihi,kayit.IlacNo,kayit.IlacAdi,kayit.GunlukIlacAdedi);
}
else
İşleminde dışarı yazması gereken kodu yazması ve hemen sonrasında !feof(p) yi true ya çevirdiğinde döngüden çıkıp ekrana basar gibi duruyor.
Benim gördüğüm; Mevcut kod yapısında while dan açılmıyor ve if yani hatalı işlemden sonra ne yapması gerektiğini bilmiyor. Bu şekilde bir yardım aldım. Dilerseniz inceleyin.
Mesaj otomatik birleştirildi:

Peki nasıl düzeltebilirim ? Bulamadım ben
 
Üst
stat counter