#include <stdio.h>
#include <stdlib.h>
struct insan {
char *isim_soyisim[30];
char *meslek[30];
};
int main()
{
int adet;
printf("kac adet isim gireceksin? ");
scanf("%d", &adet);
struct insan *insanlar = (struct insan*) malloc(adet*sizeof(struct insan));
for(int i = 0; i<adet; i++)
{
printf("isim ve soyisim gir: ");
scanf("%s", (insanlar+i)->isim_soyisim);
printf("meslegi gir: ");
scanf("%s", (insanlar+i)->meslek);
}
return 0;
}Bu şekilde bir kodum var fakat "kac adet isim gireceksin? " değeri girdikten sonra gelen döngüdeki ilk elemana girmem gereken değeri atlayıp diğer elemandan başlıyor, bu sorunu nasıl çözebilirim? şimdiden cevaplarınız için teşekkürler
C Programlada Scanf() boşluklu değer girme sorunu
9
●126
- 23-12-2022, 18:17:14Merhaba hocalarım bir konuda takıldım ve yardımınıza ihtiyacım var. Aslında internet üzerinde sorunun çözümü mevcut fakat farklı farklı fonksiyonlar kullanarak sorunu çözmüşler.
- 23-12-2022, 18:34:58Tamamdır çok teşekkürler hocamyunusemre34 adlı üyeden alıntı: mesajı görüntüle
- 23-12-2022, 20:13:32Buyrun hocam birde şu algoritmamı deneyin
#include <stdio.h> #include <stdlib.h> struct human { char fullname[30]; char job[30]; }; int main() { int amount,i; printf("How many names will you enter? \n"); scanf("%d",&amount); struct human *humans = (struct human*) malloc (amount *sizeof(struct human)); for(i = 0; i < amount; ++i){ printf("Please enter the fullname: "); scanf("%s", (humans+i) -> fullname); printf("Please enter the %s's jobs: ",(humans+i) -> fullname); scanf("%s",(humans+i) -> job); } return 0; } - 23-12-2022, 22:08:37Cevabınız için teşekkürler hocam, fakat aynı hatayı almaya devam ediyorum. "How many names will you enter?" Değerini girdikten sonra ilk çıkan "Please enter the fullname" "Baran Kanat" Degerini girdiğimde art arda değer doldurmama izin vermeden bir diğer elemana geçiyor. Çıktıyı görsel olarak ekliyorum.yunusemre34 adlı üyeden alıntı: mesajı görüntüle

- 23-12-2022, 22:15:10Hangi compiler'i deniyorsunuz? Tamam olayı anladım boşluk bıraktığımız için bir sonraki ifadeye geçtiğimizi zannediyor compiler başka bir şey deniyorum hemenBaran_Knt adlı üyeden alıntı: mesajı görüntüle
- 23-12-2022, 22:44:12Code::blocks https://www.codeblocks.org/yunusemre34 adlı üyeden alıntı: mesajı görüntüle
Başka bir derleyici kullanmam yasak üniversite bölüm hocası herkesin haklı olarak aynı derleyici kulanılmasını isteniyor. - 23-12-2022, 22:55:34Dostum olayı çözdüm baya araştırdım en doğru çalışan şurada yazdıklarım bir dener misin?Baran_Knt adlı üyeden alıntı: mesajı görüntüle
#include <stdio.h> #include <stdlib.h> struct human { char fullname[30]; char job[30]; }; int main() { int amount,i; printf("How many names will you enter? \n"); scanf("%d",&amount); struct human *humans = (struct human*) malloc (amount *sizeof(struct human)); for(i = 0; i < amount; ++i){ printf("Please enter the fullname: "); scanf(" %30[^\n]", (humans+i) -> fullname); printf("Please enter the %s's jobs: ",(humans+i) -> fullname); scanf(" %30[^\n]", (humans+i) -> job); } return 0; }
- 23-12-2022, 23:18:57yunusemre34 adlı üyeden alıntı: mesajı görüntüle
Hocam gerçekten çok çok teşekkür ederim çalıştı 🙏🙏🙏

