C dilinde yazılmaya çalışılan kodun hatası ne?

SinSharrah

Hectopat
Katılım
29 Ağustos 2019
Mesajlar
356
Çözümler
5
Yer
Evrende bir yerde.
Herkese selamlar, laboratuvar dersinde C dilinde yazılması istenen basit hesap makinesini yazdım ancak bir yerlerde hata yapmışım, doğrulama alamıyorum. Formatı değiştirmeden kodumda olan hatayı söyleyebilir misiniz?

Kullanıcıdan iki tam sayı, bu tam sayılar arasındaki işlemin baş harfi ve sonucun tipini alan ve ekrana işlemi ve sonucunu yazan bir program yazınız.
İşlem adları;
T: Toplama.
E: Eksi.
C: Çarpma.
B: Bölme.
Sonuç tipi.
İ: İnteger.
D: Double.

ınput;
2 Tam sayı.
İşlemin baş harfi.
Sonuç tipinin baş harfi.

output;
İşlem ve sonucu.

example
Input.
20.
40.
T.
İ.
Output.
20 + 40 = 60.

C:
#include <stdio.h>

int main()
{

int x, y;

char islem, sonuc;

scanf("%d", &x);
scanf("%d", &y);
scanf(" %c", &islem);
scanf(" %c", &sonuc);

switch(islem){

case't':
if(sonuc=='i')
{
printf("%d + %d = %d", x+y);
}else if(sonuc=='d'){
printf("%d + %d = %.2lf", (double)x+y);
}
break;

case'e':
if(sonuc=='i')
{
printf("%d - %d = %d", x-y);
}else if(sonuc=='d'){
printf("%d - %d = %.2lf", (double)x-y);
}
break;

case'c':
if(sonuc=='i'){
printf("%d * %d = %d", x*y);
}else if(sonuc=='d'){
printf("%d * %d = %.2lf", (double)x*y);
}
break;

case'b':
if( sonuc == 'i' )
{
printf("%d / %d = %d", x/y);
}else if(sonuc=='d'){
printf("%d / %d = %.2lf", (double)x/y);
}
break;
}
return 0;
}
 
Printf te 3 tane değişken veriyorsunuz %d %d %.2lf olarak. ama parantezden sonra sadece 1 değişken veriyorsunuz (double)x*y olarak
 

Yeni konular

Geri
Yukarı