C de basit hesap makinesi yapma

Anıl Vatanbekler

Öğrenci
Katılım
27 Şubat 2016
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
C dilinde else if yapısı ile basit hesap programı yapmya çalışıyorm ama sayı girdikten sonra menu şeçimi gelmedi. Yardım ederseniz sevinirim

Dev-C derleyicisi kullanıyorum

yazdığım kodun ilgili bölümü:
....
printf("İki sayı giriniz: ");
scanf("%d ", &x, &y);

printf("İşlem seçiniz : \n");
printf("[1] Toplama\n");
printf("[2] Çıkarma\n");
printf("[3] Çarpma\n");
printf("[4] Bölme\n");
scanf("%d ", &a);
....
 

MustafaAydemir

Software Developer
Katılım
12 Ağustos 2015
Mesajlar
70
Reaksiyon puanı
21
Puanları
28
Bu şekilde tekrar deneyebilir misin ?

printf("İki sayı giriniz: ");
scanf("%d %d ", &x, &y);

printf("İşlem seçiniz : \n");
printf("[1] Toplama\n");
printf("[2] Çıkarma\n");
printf("[3] Çarpma\n");
printf("[4] Bölme\n");
scanf("%d ", &a);
...
 

Anıl Vatanbekler

Öğrenci
Katılım
27 Şubat 2016
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
Üç sayı girince açılıyor. İlk başta hatalı yazdığımda da üçüncü sayıyı girince açıldı,
 

Anıl Vatanbekler

Öğrenci
Katılım
27 Şubat 2016
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
İşlemleri 2 sayıya göre yaptırdım programa ama üç sayı girince işlem menüsü açıldı. İşlemleri z değişkeni ekleyip tekrar yazmadan sadece iki sayı girerek menüyü açtırmam gerekiyor
 

MustafaAydemir

Software Developer
Katılım
12 Ağustos 2015
Mesajlar
70
Reaksiyon puanı
21
Puanları
28
Bütün kodları göndermen münkün mü ?

Bende programı çalıştırıp bakayım.
 

Anıl Vatanbekler

Öğrenci
Katılım
27 Şubat 2016
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>

int main()
{
int a,x,y,z;

setlocale(LC_ALL, "Turkish");

printf("İki sayı giriniz: ");
scanf("%d %d ", &x, &y);

printf("İşlem seçiniz : \n");
printf("[1] Toplama\n");
printf("[2] Çıkarma\n");
printf("[3] Çarpma\n");
printf("[4] Bölme\n");
scanf("%d ", &a);


if ( a == 1 ){
z = x + y ;
printf("%d ",&z);
}
else if ( a == 2 ){
z = x - y ;
printf("%d ",&z);
}
else if ( a == 3 ) {
z = x * y;
printf("%d ",&z);
}
else{
z = x/y;
printf("%d ",&z);
}
system("PAUSE");
return 0;
}
 

MustafaAydemir

Software Developer
Katılım
12 Ağustos 2015
Mesajlar
70
Reaksiyon puanı
21
Puanları
28
http://cpp.sh/74qn

Bu şekildede yapabilirsin istersen.

Bu arada printf() fonksiyonunu yanlış kullanmışsın.
Orada & işaretini yazmaman gerekiyor.
 

Anıl Vatanbekler

Öğrenci
Katılım
27 Şubat 2016
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
birinci sayı girerken yine iki sayı yazmadan ikinci sayiyi girin yazısı çıkmıyor
 

Ekli dosyalar

  • Adsız.png
    Adsız.png
    28.4 KB · Görüntüleme: 876

MustafaAydemir

Software Developer
Katılım
12 Ağustos 2015
Mesajlar
70
Reaksiyon puanı
21
Puanları
28
Kod:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>

int main()
{
int a,x,y,z;
setlocale(LC_ALL, "Turkish");

printf("Birinci sayıyı giriniz: ");
scanf("%d", &x);

printf("İkinci sayıyı giriniz: ");
scanf("%d", &y);

printf("İşlem seçiniz : \n");
printf("[1] Toplama\n");
printf("[2] Çıkarma\n");
printf("[3] Çarpma\n");
printf("[4] Bölme\n");
scanf("%d ", &a);


if ( a == 1 ){
z = x + y ;
printf("%d ",z);
}
else if ( a == 2 ){
z = x - y ;
printf("%d ",z);
} 
else if ( a == 3 ) {
z = x * y;
printf("%d ",z);
}
else{
z = x/y;
printf("%d ",z); 
} 
system("PAUSE"); 
return 0;
}

Bu şekilde denedim şimdi. Bende çalıştı.
Sende deneyebilir misin ?
 

Anıl Vatanbekler

Öğrenci
Katılım
27 Şubat 2016
Mesajlar
8
Reaksiyon puanı
0
Puanları
1
Şimdi oldu. Teşekkür ederim, sağ ol. %d den sonra boşluk bırakmamdan kaynaklandı galiba.
 
Üst