Çözüldü C hesap makinesi kodunu yanlış ifadede tekrar yürütme

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

Bwed

Hectopat
Katılım
5 Ocak 2021
Mesajlar
83
Merhaba, hesap makinesi yapıyorum, eğer kullanıcı yanlış bir ifade (çok basamaklı sayı, harf) girerse nasıl kodu tekrar yürütebilirim?

Kod:
#include <stdio.h>
#include <stdlib.h>

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

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

 if(x ) //eğer kişi buraya harf yada çok büyük sayı girerse nasıl kodu tekrar yürütürüm ?
 {
 printf("Ltfen Gecerli Bir Sayi Giriniz\n\n");

 return printf("Tekrar Deneyiniz ");

 }

 printf("Ltfen 2. sayıyı giriniz:");
 scanf("%d",&y);

 if(y )//eğer kişi buraya harf yada çok büyük sayı girerse nasıl kodu tekrar yürütürüm ?
 {
 printf("Ltfen Gecerli Bir Sayi Giriniz\n\n");

 return printf("Tekrar Deneyiniz ");

 }

 printf("Ltfen yapacaginiz islemi seciniz:\n");
 printf("1.Toplama\n2.Cıkarma\n3.Bolme\n4.Carpma\n");
 printf("Yapmak Istediginiz Islemi Tuslayınız:");
 scanf("%d",&z);

 if(z == 1)
 {
 printf("Toplama Isleminin Sonucu %d",x+y);
 }
 else(z == 2);
 {
 printf("Cikarma Isleminin Sonucu %d",x-y);
 }

 return 0;
}

@Rona
 

Dosya Ekleri

  • Screenshot_2023-07-30_20-54-16.png
    Screenshot_2023-07-30_20-54-16.png
    82,8 KB · Görüntüleme: 37
Çözüm
Sonsuz döngüye alacaksın, eğer yanlış girdi olursa döngü başa döner eğer doğru girdi alınırsa break ile döngüden çıkıp program akışını devam ettirirsin. İnput alırken hata tespitini kolaylaştırmak için değerleri char array olarak alıp integer'e cast etmelisin cast fonksiyonu hata kodu dönerse geçersşz girdi der döngüye devam edersin.

Bu arada C de exceptions yok.
Merhaba, hesap makinesi yapıyorum, eğer kullanıcı yanlış bir ifade (çok basamaklı sayı, harf) girerse nasıl kodu tekrar yürütebilirim?

Kod:
#include <stdio.h>
#include <stdlib.h>

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

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

 if(x ) //eğer kişi buraya harf yada çok büyük sayı girerse nasıl kodu tekrar yürütürüm ?
 {
 printf("Ltfen Gecerli Bir Sayi Giriniz\n\n");

 return printf("Tekrar Deneyiniz ");

 }

 printf("Ltfen 2. sayıyı giriniz:");
 scanf("%d",&y);

 if(y )//eğer kişi buraya harf yada çok büyük sayı girerse nasıl kodu tekrar yürütürüm ?
 {
 printf("Ltfen Gecerli Bir Sayi Giriniz\n\n");

 return printf("Tekrar Deneyiniz ");

 }

 printf("Ltfen yapacaginiz islemi seciniz:\n");
 printf("1.Toplama\n2.Cıkarma\n3.Bolme\n4.Carpma\n");
 printf("Yapmak Istediginiz Islemi Tuslayınız:");
 scanf("%d",&z);

 if(z == 1)
 {
 printf("Toplama Isleminin Sonucu %d",x+y);
 }
 else(z == 2);
 {
 printf("Cikarma Isleminin Sonucu %d",x-y);
 }

 return 0;
}

@Rona
Çok büyük sayı derken ne kadar büyük zaten İnteger değişkenler belirli bir sayının değerinden fazlasını tutamayacaktır. Daha büyük sayılar için long kullanıyoruz.
 
Sonsuz döngüye alacaksın, eğer yanlış girdi olursa döngü başa döner eğer doğru girdi alınırsa break ile döngüden çıkıp program akışını devam ettirirsin. İnput alırken hata tespitini kolaylaştırmak için değerleri char array olarak alıp integer'e cast etmelisin cast fonksiyonu hata kodu dönerse geçersşz girdi der döngüye devam edersin.

Bu arada C de exceptions yok.
 
Çözüm
Sonsuz döngüye alacaksın, eğer yanlış girdi olursa döngü başa döner eğer doğru girdi alınırsa break ile döngüden çıkıp program akışını devam ettirirsin. İnput alırken hata tespitini kolaylaştırmak için değerleri char array olarak alıp ınteger'e cast etmelisin cast fonksiyonu hata kodu dönerse geçersşz girdi der döngüye devam edersin.

Bu arada C de exceptions yok.

Kodu düzenleyip koyabilme şansınız var mı rica etsem daha öğrenme aşamasındayım. Char array, cast ve exceptions ile ne demek istediğiniz anlamadım.

Sonsuz döngüye alacaksın, eğer yanlış girdi olursa döngü başa döner eğer doğru girdi alınırsa break ile döngüden çıkıp program akışını devam ettirirsin. İnput alırken hata tespitini kolaylaştırmak için değerleri char array olarak alıp Integer'e cast etmelisin cast fonksiyonu hata kodu dönerse geçersşz girdi der döngüye devam edersin.

Bu arada C de exceptions yok.

Demek istediğiniz şey şöyle bir şey sanırım.

C:
for(;;)
 {

 printf("Ltfen 1. sayiyi giriniz:");
 scanf("%d",&x);
 if(x ==1)
 {
 printf("1 saysi girildi\n");
 break;
 }
 }
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı