if ile ilgili bir sorun (C++)

Başlatan koraykutanoglu, 12 Mayıs 2019 - 01:29:43

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

koraykutanoglu

burada programı çalıştırdığım zaman, if komutu uygulanırken ilk iki printf ve bir scanf çalışıyor ve sonra program diğer printfleri yan yana yazıp scanf leri çalıştırmıyor. nedeni nedir ?
kodu buraya bırakıyorum.
{
int x,kalkis_yeri,inis_yeri,gidis_tarihi,fiyat,gidis_saati;
etiket:
system("cls");
printf("YERLI HAVA YOLLARINA HOSGELDINIZ. \n");
printf("\nISLEMLER MENUSU ICIN BIR TUSA BASIN. \n");
getche();
system("cls");
printf("1: BILET SATIN ALMA ISLEMLERI ");
printf("\nLUTFEN ISLEM NUMARASI GIRINIZ: ");
scanf("%d",&x);
system("cls");
if ( x == 1 )
{
printf("LUTFEN SIRASIYLA SORULARI CEVAPLANDIRINIZ. \n");
printf("UCAK KALKIS YERI:");
scanf("%d",&kalkis_yeri);
printf("UCAK INIS YERI:");
scanf("%d",&inis_yeri);
printf("GIDIS TARIHI:");
scanf("%d",&gidis_tarihi);
printf("GIDIS SAATI:");
scanf("%d",&gidis_saati);
        srand(time(NULL));
fiyat=100+rand()%150;
printf("ISTEDIGINIZ TARIH VE SAAT DOGRULTUSUNDA BILET MEVCUTTUR. FIYATI %d YTL'DIR.",fiyat);
}
else {

printf("HATALI TUSLAMA YAPTINIZ. \n ISLEMLER MENUSUNE DONMEK ICIN BIR TUSA BASIN.");
getche();
goto etiket;
}
return 0;
}


[eklenti yönetici tarafından silindi]

Empat

Lütfen çıktıları ve kodları kod etiketleri arasında paylaşın ve konu başlığında konuyla alakasız (acil yardım vb.) ifadeler kullanmayın.

Kodları kod etiketi içine aldım ve konu başlığını düzenledim.

kod etiketleri hakkında daha fazla bilgi edinmek için bu konuyu inceleyebilirsiniz.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!

Amenofis

Kullandığın derleyici 10 yıl, yazdığın dil standardı ise 30 yıl öncesinde kaldı. Bence bildiklerini unut ve sıfırdan modern bir kaynakla başla.

programmer

#3
C, C++'ın modasının geçeceğini sanmıyorum . Ama C, low level (makineye yakın işler için) C idealdir. Bir şeyin "eski" olması artık miyadını doldurduğu anlamına gelmez.
Koda gelince fiyat eğer ondalıksız ise int olabilir. Kuruş varsa float tanımlayın diğerleri için char dizisi (char kalkis_yeri[20];) gibi tanımlayabilirsiniz. ondalıklı veya tam sayıları da string formatında alıp atoi, atof gibi fonksiyonlarla çevirebilirsiniz. mesala "123abc" değeri, atoi ile int  türünden 123 olur gibi..
Etiket kullanmak mümkün ama C'de pek tercih edilmeyen yöntemdir. Onun yerine do while döngüsü kullanıp, girilen örneğin "xxx" gibi belli bir karakter ise "break" ile döngüden çıkabilirsiniz.

Empat

[mention=646081]@koraykutanoglu[/mention]

Sorununuz çözüldüyse, konu başlığınızı "[ÇÖZÜLDÜ]" olarak işaretleyin lütfen.

"[ÇÖZÜLDÜ]" işaretlemesini nasıl yapacağınızı bilmiyorsanız buraya tıklayarak, "[ÇÖZÜLDÜ]" olarak işaretlemeyi öğrenebileceğiniz makaleye gidebilirsiniz.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!

kodcubey

sorununuz tam olarak nedir anlayamadım herhangi bir hata görünmüyor mantık hatasını daha detaylı bir şekilde paylaşırmısın ?
~ Kitap okumadan daha iyi olmak isteyenler, birde uyuyarak denesin ~