C Dili Hesap Makinesi Ve İf-Else Yapısı Hk. Yardım
-
Merhabalar
Yarın c kodlama dersinden sınavımız var çalışırken hesap makinası yazayım dedim fakat şöyle bir sorunla karşılaştım işlemi seçiyorum seçtiğim işlem dışında 4 işlemin sonucunuda yazdırıyor if-else yapısıyla yapamadım yardımcı olur musunuz ?
#include <stdio.h>
#include <conio.h>
main ()
{
int s1,s2;
char is;
printf ("Birinci sayiyi giriniz = ");
scanf ("%d",&s1);
printf ("Ikinci sayiyi giriniz = ");
scanf ("%d",&s2);
printf ("\nToplama için +");
printf ("\nCikarma icin - ");
printf ("\nCarpma icin * ");
printf ("\nBolme icin / " );
printf ("\nBir islem seciniz");
is=getch();
is=='+';
printf ("\n %d + %d = %d",s1,s2,s1+s2);
is=='-';
printf ("\n %d - %d = %d",s1,s2,s1-s2);
is=='*';
printf ("\n %d * %d = %d",s1,s2,s1*s2);
is=='/';
printf ("\n %d / %d = %d",s1,s2,s1/s2);
} -
kodun dogrulugundan emin degilim hocam yatatacaktim konunu gordum yazayim dedim bu saatte kimse yazmaz.. oncelike if else diye bir kavramin yok senin
soyle yapacaksin
if(is=='+')
printf ("\n %d + %d = %d",s1,s2,s1+s2);
else if (is=='-')
printf ("\n %d - %d = %d",s1,s2,s1-s2);
else if (is=='*')
printf ("\n %d * %d = %d",s1,s2,s1*s2);
else if (is=='/')
printf ("\n %d / %d = %d",s1,s2,s1/s2);
seklinde olmasi eger geri kalanlar dogruysa..
normalde if else satirini icin suslu parantezler koyarsin yani
if (sart)
{
//kodlar
}
ancak senin programinda if ve else if lerden sonra tek satir geldigi icin bu sekilde parantezli yapmana gerke yok, eger if in altinda birden fazla satir calistirmak isteseydin o zaman parantez kullanmak zorunda kalirdin..
umarim yazdiklarim bi nebze yardimci olur.. kolay gelsin, sinavinda basarilar
-
#include <stdio.h> #include <conio.h> int main () { int s1,s2; char is; printf ("Birinci sayiyi giriniz = "); scanf ("%d",&s1); printf ("Ikinci sayiyi giriniz = "); scanf ("%d",&s2); printf ("\nToplama icin +"); printf ("\nCikarma icin - "); printf ("\nCarpma icin * "); printf ("\nBolme icin / " ); printf ("\n\nBir islem seciniz : "); is=getche(); // getch yerine getche kullanırsan eğer /, +, -, * karakterlerinden birine bastığında onu önce ekrana basar sonra işleme koyar. // getch kullanırsan ekrana basmadan işleme başlar. if (is=='+') printf ("\n %d + %d = %d",s1,s2,s1+s2); else if(is=='-') printf ("\n %d - %d = %d",s1,s2,s1-s2); else if (is=='*') printf ("\n %d * %d = %d",s1,s2,s1*s2); else if (is=='/') printf ("\n%d / %d = %.2f",s1,s2,float(s1)/float(s2)); /* Eğer değişkenleri float olarak tanımlamazsan işlem yaparken float'a çevirmen gerekir. Yoksa 5/2 sonucundan 2 alırsın, 1/2 sonucundan 0 alırsın. %.2f ise ekrana yazdırırken 1/2 = 0.50 şeklinde sıfırdan sonra 2 basamak yazması içindir. %f float olarak yazması içindir. */ }
-
pSkpt bunu yazdı
#include #include int main () { int s1,s2; char is; printf ("Birinci sayiyi giriniz = "); scanf ("%d",&s1); printf ("Ikinci sayiyi giriniz = "); scanf ("%d",&s2); printf ("\nToplama icin +"); printf ("\nCikarma icin - "); printf ("\nCarpma icin * "); printf ("\nBolme icin / " ); printf ("\n\nBir islem seciniz : "); is=getche(); // getch yerine getche kullanırsan eğer /, +, -, * karakterlerinden birine bastığında onu önce ekrana basar sonra işleme koyar. // getch kullanırsan ekrana basmadan işleme başlar. if (is=='+') printf ("\n %d + %d = %d",s1,s2,s1+s2); else if(is=='-') printf ("\n %d - %d = %d",s1,s2,s1-s2); else if (is=='*') printf ("\n %d * %d = %d",s1,s2,s1*s2); else if (is=='/') printf ("\n%d / %d = %.2f",s1,s2,float(s1)/float(s2)); /* Eğer değişkenleri float olarak tanımlamazsan işlem yaparken float'a çevirmen gerekir. Yoksa 5/2 sonucundan 2 alırsın, 1/2 sonucundan 0 alırsın. %.2f ise ekrana yazdırırken 1/2 = 0.50 şeklinde sıfırdan sonra 2 basamak yazması içindir. %f float olarak yazması içindir. */ }
hocam cok tesekkür ederim sana zahmet olmaz ise bunun algoritma ve akış diyagramınıda yapabilir misin mezuniyetim bu sınava baglı
-
Persebar bunu yazdıpSkpt bunu yazdı
#include #include int main () { int s1,s2; char is; printf ("Birinci sayiyi giriniz = "); scanf ("%d",&s1); printf ("Ikinci sayiyi giriniz = "); scanf ("%d",&s2); printf ("\nToplama icin +"); printf ("\nCikarma icin - "); printf ("\nCarpma icin * "); printf ("\nBolme icin / " ); printf ("\n\nBir islem seciniz : "); is=getche(); // getch yerine getche kullanırsan eğer /, +, -, * karakterlerinden birine bastığında onu önce ekrana basar sonra işleme koyar. // getch kullanırsan ekrana basmadan işleme başlar. if (is=='+') printf ("\n %d + %d = %d",s1,s2,s1+s2); else if(is=='-') printf ("\n %d - %d = %d",s1,s2,s1-s2); else if (is=='*') printf ("\n %d * %d = %d",s1,s2,s1*s2); else if (is=='/') printf ("\n%d / %d = %.2f",s1,s2,float(s1)/float(s2)); /* Eğer değişkenleri float olarak tanımlamazsan işlem yaparken float'a çevirmen gerekir. Yoksa 5/2 sonucundan 2 alırsın, 1/2 sonucundan 0 alırsın. %.2f ise ekrana yazdırırken 1/2 = 0.50 şeklinde sıfırdan sonra 2 basamak yazması içindir. %f float olarak yazması içindir. */ }
hocam cok tesekkür ederim sana zahmet olmaz ise bunun algoritma ve akış diyagramınıda yapabilir misin mezuniyetim bu sınava baglı
Ben yaparım da yurda gidince. Bunun akış diyagramı nasıl mezuniyetine bağlı oluyor orda büyük bi şaşkınlık içerisindeyim