Çözüldü Hesap makinesi kodu hata veriyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

mehmet_emin_dgn

Decapat
Katılım
17 Temmuz 2021
Mesajlar
19
Daha fazla  
Cinsiyet
Erkek
Hesap makinesi yapmaya çalışıyordum ama nedense kod hata veriyor hatayı da anlamadım, nasıl düzelteceğimi yardım eder misiniz? Kodu ve hatayı aşağıya yazıyorum.

C:
#include <stdio.h>

int main(void) {
 int say1;
 int islem;
 int say2;
 int sonuc;

 printf("islemi giriniz. Toplama için 1'e, çıkarma için 2'ye, çarpma için 3'e, bölme için 4'e basınız.\n");
 scanf("%d", &islem);

 if(islem==1)
 {
 printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
 scanf("%d", &say1);
 printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
 scanf("%d", &say2);

 printf("%d",say1 + say2);
 }

 else if(islem==2);
 {
 printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
 scanf("%d", &say1);
 printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
 scanf("%d", &say2);

 printf("%d",say1 - say2);
 }

 else(islem==3)
 {
 printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
 scanf("%d", &say1);
 printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
 scanf("%d", &say2);

 printf("%d",say1 * say2);
 }

else(islem==4)
 {
 printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
 scanf("%d", &say1);
 printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
 scanf("%d", &say2);

 printf("%d",say1 / say2);

 }

 return 0;
}

Hata:

/Main. C:32:4: Error: Expected expression.
Else(işlem==3)
^
1 error generated.
Make: *** [Makefile:10: Main] error 1
Exit status.
 
Çözüm
C:
#include <stdio.h>

int main() {

  int sayi1;
  int sayi2;
  int islem;
  int sonuc;

  printf("islemi giriniz. Toplama için 1'e, çıkarma için 2'ye, çarpma için "
         "3'e, bölme için 4'e basınız.\n");
  scanf("%d", &islem);

  if (islem == 1) {
    printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
    scanf("%d", &sayi1);
    printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
    scanf("%d", &sayi2);

    printf("%d", sayi1 + sayi2);
  }

  else if (islem == 2) {
    printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
    scanf("%d", &sayi1);
    printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
    scanf("%d", &sayi2);

    printf("%d", sayi1 - sayi2);
  }

  else if (islem == 3) {
    printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
    scanf("%d", &sayi1);
    printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
    scanf("%d", &sayi2);

    printf("%d", sayi1 * sayi2);
  }

  else {
      printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
      scanf("%d", &sayi1);
      printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
      scanf("%d", &sayi2);

      printf("%d", sayi1 / sayi2);
    }

  return 0;
}

Program fonksiyonlarını yerine getiriyor mu test etmedim, yazım hatalarını düzelttim ve biraz oynadım. Test etmek sende. Sorunun çözülürse çözüm olarak işaretlersen sevinirim.

@mehmet_emin_dgn
C:
#include <stdio.h>

int main() {

  int sayi1;
  int sayi2;
  int islem;
  int sonuc;

  printf("islemi giriniz. Toplama için 1'e, çıkarma için 2'ye, çarpma için "
         "3'e, bölme için 4'e basınız.\n");
  scanf("%d", &islem);

  if (islem == 1) {
    printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
    scanf("%d", &sayi1);
    printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
    scanf("%d", &sayi2);

    printf("%d", sayi1 + sayi2);
  }

  else if (islem == 2) {
    printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
    scanf("%d", &sayi1);
    printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
    scanf("%d", &sayi2);

    printf("%d", sayi1 - sayi2);
  }

  else if (islem == 3) {
    printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
    scanf("%d", &sayi1);
    printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
    scanf("%d", &sayi2);

    printf("%d", sayi1 * sayi2);
  }

  else {
      printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
      scanf("%d", &sayi1);
      printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
      scanf("%d", &sayi2);

      printf("%d", sayi1 / sayi2);
    }

  return 0;
}

Program fonksiyonlarını yerine getiriyor mu test etmedim, yazım hatalarını düzelttim ve biraz oynadım. Test etmek sende. Sorunun çözülürse çözüm olarak işaretlersen sevinirim.

@mehmet_emin_dgn
Çok teşekkür ederim çalıştı sadece else of leri mi düzelttin?
 
Arkadaşın kodu okunabilecek halde değildi, bi el atmak istedim.
Parantezlerin yeni satıra alınması veya aynı satırdan devam etmesi kişiden kişiye değişir. İnsanların koduna bu kadar da izinsiz müdehale etmek yerine sorunu açıklamak daha "öğretici" geliyor bana. Bilmem katılır mısınız.

Çok teşekkür ederim çalıştı sadece else of leri mi düzelttin?
Bakın, sonuç olarak tekrar soruluyor. Çünkü anlaşılmıyor.
 
Parantezlerin yeni satıra alınması veya aynı satırdan devam etmesi kişiden kişiye değişir. İnsanların koduna bu kadar da izinsiz müdehale etmek yerine sorunu açıklamak daha "öğretici" geliyor bana. Bilmem katılır mısınız.


Bakın, sonuç olarak tekrar soruluyor. Çünkü anlaşılmıyor.
Sorunu kendisinin tespit etmesi de öğretici değil midir sence? Ben arkadaşın kodunu düzelttim. Şimdi onun sırası. Kendi koduyla kıyaslayıp hata yaptığı yerleri tespit etsin değil mi?
 
else(islem==3)
{
printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
scanf("%d", &say1);
printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
scanf("%d", &say2);

printf("%d",say1 * say2);
}

else(islem==4)
{
printf("ilk sayıyı giriniz.\n(ÖRN:16)\n");
scanf("%d", &say1);
printf("ikinci sayıyı giriniz.\n(ÖRN:93)\n");
scanf("%d", &say2);

printf("%d",say1 / say2);

}

return 0;
}

[/CODE]
Bu arkadaşın attığı kod, üst üste 2 tane else kullanılmış ve kullanımları yanlıştı, ben bunları düzelttim ve extra bir şey eklemedim.
 

Geri
Yukarı