Soru çözüldü @root__'a çok teşekkür ederim konu kilit.
C programlama soruları
sorularınızı paylaşırsanız yardımcı olmaya çalışırım
Bu sorulardan herhangi 2 tanesi lazım https://i.hizliresim.com/dBW1k4.jpg
kusura bakmayın ilk soruda linki görmemişim,şans bugün başka bir forumda en üstteki soruya cevap vermiştim, bir tane daha çözüp yine bu mesajı düzenleyerek paylaşacağım birazdan
kontrol ifadeleri eklenebilir ve daha çok süslenebilirdi,text dosyalarından kullanıcılar alınıp yeni kullanıcılar oraya kaydedilebilirdi, size tavsiyem kodu o hale getirmeniz ödevinizi vermeden.Basit bir halde yazdım ve uzun uzun kontrolden geçiremedim, bir sorun çıkarsa özel mesaj ile ulaşabilirsiniz.
#include <stdio.h>
typedef struct {
char isim[50],soyisim[50];
int yas,tc;
}hasta;
int main()
{ hasta hasta[100];
int input,secim,i,j=0;
while(1)
{getch();
system("cls");
printf("ABC hastanesi otomasyon sistemi");
printf("\nHasta kaydi eklemek icin 1\nKullanici arama icin 2\nTum kullanicilari goruntulemek icin 3 u tuslayin");
scanf("%d",&secim);
fflush(stdin);
switch(secim)
{
case 1:
printf("Hasta ismi giriniz:");
gets(hasta[j].isim);
printf("Hasta soyismi giriniz:");
gets(hasta[j].soyisim);
printf("Hasta yasini giriniz");
scanf("%d",&hasta[j].yas);
printf("Hasta tcsini giriniz:");
scanf("%d",&hasta[j].tc);
break;
case 2:printf("Bulmak istediginiz kayitin TC sini giriniz:");
scanf("%d",&input);
for(i=0;i<100;i++)
if(input==hasta.tc)
{
printf("AD: %s\nSOYAD:%s,YAS:%d,TC:%d",hasta.isim,hasta.soyisim,hasta.yas,hasta.tc);
break;
}
if(i==100)printf("Kullanici bulunamadi");
break;
case 3:
printf("\nTum kullanicilar listeleniyor");
printf("\nAD\t\t\tSOYAD\t\t\tYAS\t\t\tTC");
for(i=0;i==j;i++)
printf("\n%s\t\t\t%s\t\t\t%d\t\t\t%d",hasta.isim,hasta.soyisim,hasta.yas,hasta.tc);
break;
default: printf("Gecersiz giris");
}}}
if(input==hasta.tc) burada hata veriyor sebebi ne olabilir?
Şuan nasıl olduğuna hiç anlam veremediğim bir hata yapmışım, ama kodu 2-3 defa çalıştırarak gönderdiğime de eminim, şu halini kullanın, yine bir sorun olursa özelden yazarsanız aynı gün içerisinde cevaplarım,gecikme için kusura bakmayın
şimdi anladım, buraya kodu aktarırken bazı köşeli parantezler ve içerisi aktarılmıyor.
satır 36 da hastaKOSELIPARANTEZICERISINDE i .tc şeklinde
satır 38 de her hastadan sonra KOSELIPARANTEZICERISINDE i olacak şekilde
yine satır 47de de her 'hasta' dan sonra yani printf("xxx %d xxx %s xx", hastaKOSELIPARANTEZICERISINDE i .isim ...); olacak şekilde düzenleme yaparsanız kod sorunsuz çalışacaktır, bir sorun olursa yukarıda da dediğim gibi özelden ulaşabilirsiniz
Ben de inceledikten sonra köşeli parantezleri koymuştum sadece getch(); kısmında hata alıyordum conio kütüphanesini ekleyince o da halloldu fakat system ("cls") de hata veriyor .İsminizde özel karakter olduğu için özelden mesaj atılamıyor kusura bakmayın.
Son hali aşağıdaki gibi oldu.Fakat satır 39 if(input==[hasta].tc) olan yerde hata veriyor.(For dan sonra { açmama rağmen)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct {
char isim[50],soyisim[50];
int yas,tc;
}hasta;
int main()
{ hasta hasta[100];
int input,secim,i,j=0;
while(1)
{
getch();
system("cls");
printf("ABC hastanesi otomasyon sistemi");
printf("\nHasta kaydi eklemek icin 1\nKullanici arama icin 2\nTum kullanicilari goruntulemek icin 3 u tuslayin");
scanf("%d",&secim);
fflush(stdin);
switch(secim)
{
case 1:
printf("Hasta ismi giriniz:");
gets(hasta[j].isim);
printf("Hasta soyismi giriniz:");
gets(hasta[j].soyisim);
printf("Hasta yasini giriniz");
scanf("%d",&hasta[j].yas);
printf("Hasta tcsini giriniz:");
scanf("%d",&hasta[j].tc);
break;
case 2:printf("Bulmak istediginiz kayitin TC sini giriniz:");
scanf("%d",&input);
for(i=0;i<100;i++)
if(input==[hasta].tc)
{
printf("AD: %s\nSOYAD:%s,YAS:%d,TC:%d",[hasta].isim,[hasta].soyisim,[hasta].yas,[hasta].tc);
break;
}
if(i==100)printf("Kullanici bulunamadi");
break;
case 3:
printf("\nTum kullanicilar listeleniyor");
printf("\nAD\t\t\tSOYAD\t\t\tYAS\t\t\tTC");
for(i=0;i==j;i++)
printf("\n%s\t\t\t%s\t\t\t%d\t\t\t%d",[hasta].isim,[hasta].soyisim,[hasta].yas,[hasta].tc);
break;
default: printf("Gecersiz giris");
}
}
}
biraz yanlış anlaşıldım, hata bende, düzelteyim
<> şu işaretler köşeli parantez olsun
hasta<i>.tc gibi olmalı koşeli parantez i yi içerisine almalı yani, bütün bölümlerde
Hala if(input== hasta<i>.tc) olan yerde hata alıyorum sanırım olmayacak çok şey denedim.
dostum ben çalıştırıp gönderdim kodu,dün tekrar çalıştırdım, özelden ulaşırsan yardımcı olacağım burayı meşgul etmeyelim daha fazla