c'de dosyalama işlemleri

Bu konuyu okuyanlar

merve89

Öğrenci
Katılım
4 Mayıs 2019
Mesajlar
3
Reaksiyon puanı
0
Puanları
1
Yaş
23
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);
}
 

Dora

Müdavim
Cezalı
Emektar
Katılım
26 Ocak 2018
Mesajlar
5,728
Reaksiyon puanı
9,731
Puanları
113
Yaş
30
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

Öğrenci
Katılım
4 Mayıs 2019
Mesajlar
3
Reaksiyon puanı
0
Puanları
1
Yaş
23
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