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;
}
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı