C++ Jump Case Hatası Veriyor

Agartha

Decapat
Katılım
1 Ağustos 2018
Mesajlar
37
Arkadaşlar merhaba, 3. Case eklediğim zaman görseldeki hatayı alıyorum. Nedenini çözemedim. Bilen var ise yardımcı olursa sevinirim. Şimdiden teşekkürler.

379866


Görselden okuyamayan olur ise eğer hata kodu aşağıdaki gibi:

C:\Users\Hasrett\Desktop\Şahan\2.cpp In function 'int main()':
205 9 C:\Users\Hasrett\Desktop\Şahan\2.cpp [Error] jump to case label [-fpermissive]
205 9 C:\Users\Hasrett\Desktop\Şahan\2.cpp [Error] jump to case label [-fpermissive]

C++:
#include <iostream>
#include <cmath>


using namespace std;

int main ( )
{


setlocale(LC_ALL,"Turkish");

int secim;
int dil;
string help;
cout << "Lütfen Bir Dil Seçin / Please Select a Language \n \n \n "<<endl;

cout <<"Türkçeyi Seçmek İçin 1'e Basın \n "<<endl<<"Press 2 to Choose English \n"<<endl;

cin >>dil;
if (dil==1)

{
    cout <<"**** TÜRKÇE SEÇİLDİ ***"<<endl;
go:
cout <<"**** Yapmak İstediğiniz İşlemi Seçiniz ***"<<endl;

cout <<"********** Kodlayan Şahan Hasret **********"<<endl;

cout <<"**** 1. Genel Matematik İşlemleri ***"<<endl;

cout <<"**** 2. Daire Alanı Hesaplama ***"<<endl;

cout <<"**** 3. Kök Hesaplama ***"<<endl;

cout <<"**** 4. EBOB ***"<<endl;

cout <<"**** 5. EKOK ***"<<endl;

cout <<"**** 6. Basamaklarına Ayırma ***"<<endl;

cout <<"**** 7. Karesini Alma ***"<<endl;

cout <<"**** 8. EKOK ***"<<endl;

cout <<"**** 9. Katlarını Hesaplama ***"<<endl;

cout <<"**** 10. EKOK ***"<<endl;

cout <<"**** 11. Yüzde Hesaplama ***"<<endl;

cout <<"**** 12. Bölenden Kalanı Bulma ***"<<endl;

cout <<"**** 13. EKOK ***"<<endl;

cout <<"**** 14. Vize/Sınav Hesaplama ***"<<endl;

cout <<"**** 15. Üs Hesaplama  ***"<<endl;

cin >> secim;

cout <<"**** İŞLEM BAŞLATILIYOR  ***"<<endl;
    switch (secim)
{

case 1:
tekrar1:
int islem;
cout <<"Yapmak İstediğiniz İşlemi Seçin"<<endl;
cout <<"Toplama 1"<<endl;
cout <<"Çıkarma 2"<<endl;
cout <<"Bölme 3"<<endl;
cout <<"Çarpma 4"<<endl;
cin >>islem;
    if (islem ==1){
        float a;
        float b;
        int tekrar1a;
        cout <<"İlk Sayıyı Değerlerini Giriniz"<<endl;
        cin >>a;
        cout <<"İkinci Sayıyı Değerlerini Giriniz"<<endl;
        cin>> b;
        cout <<"Sonuç: "<< a+b<<endl;
        cout <<"Aynı İşlemi Tekrar Yapmak İçin 1, Başa Dönmek İçin 2 Yazınız"<<endl;
        cin >> tekrar1a;
        if (tekrar1a==1)
        {
            goto tekrar1;
        }
        else if (tekrar1a ==2)
        {
            goto go;
        }
        else
        {
                cout <<"HATALI TUŞLAMA YAPTINIZ";
        }
       
        }
   
    else if (islem ==2)
   
    {
            float a;
        float b;
        int tekrar1a;
        cout <<"İlk Sayıyı Değerlerini Giriniz"<<endl;
        cin >>a;
        cout <<"İkinci Sayıyı Değerlerini Giriniz"<<endl;
        cin>> b;
        cout <<"Sonuç: "<< a-b<<endl;
        cout <<"Aynı İşlemi Tekrar Yapmak İçin 1, Başa Dönmek İçin 2 Yazınız"<<endl;
        cin >> tekrar1a;
            if (tekrar1a==1)
            {
                goto tekrar1;
            }
            else if (tekrar1a ==2)
            {
                goto go;
            }
            else
            {
                cout <<"HATALI TUŞLAMA YAPTINIZ";
            }
            }
   
    else if (islem ==3)
    {
        float a;
        float b;
        int tekrar1a;
        cout <<"İlk Sayıyı Değerlerini Giriniz"<<endl;
        cin >>a;
        cout <<"İkinci Sayıyı Değerlerini Giriniz"<<endl;
        cin>> b;
        cout <<"Sonuç: "<< a / b<<endl;
        cout <<"Aynı İşlemi Tekrar Yapmak İçin 1, Başa Dönmek İçin 2 Yazınız"<<endl;
        cin >> tekrar1a;
            if (tekrar1a==1)
            {
                goto tekrar1;
            }
            else if (tekrar1a ==2)
            {
                goto go;
            }
            else
            {
                cout <<"HATALI TUŞLAMA YAPTINIZ";
            }
            }
    else if (islem == 4)  
   
    {
        float a;
        float b;
        int tekrar1a;
        cout <<"İlk Sayıyı Değerlerini Giriniz"<<endl;
        cin >>a;
        cout <<"İkinci Sayıyı Değerlerini Giriniz"<<endl;
        cin>> b;
        cout <<"Sonuç: "<< a*b<<endl;
        cout <<"Aynı İşlemi Tekrar Yapmak İçin 1, Başa Dönmek İçin 2 Yazınız"<<endl;
        cin >> tekrar1a;
            if (tekrar1a==1)
            {
                goto tekrar1;
            }
            else if (tekrar1a ==2)
            {
                goto go;
            }
            else
            {
                cout <<"HATALI TUŞLAMA YAPTINIZ";
            }
        }  
            break;
    case 2:
    tekrar2:    
  int tekrar2a;  
  float r;
  float pis= 3.1415;
  float alani;
  cout <<"Daire Yarıçapını Giriniz"<<endl;
  cin >>r;
  alani = pis * r * r;
  cout<<"Dairenin Alanı: "<< alani <<endl;
  cout <<"Aynı İşlemi Tekrar Yapmak İçin 1, Başa Dönmek İçin 2 Yazınız"<<endl;
        cin >> tekrar2a;
            if (tekrar2a==1)
            {
                goto tekrar2;
            }
            else if (tekrar2a ==2)
            {
                goto go;
            }
            else
            {
                cout <<"HATALI TUŞLAMA YAPTINIZ";
            }
              break;
      case 3:
      cout <<"deneme"<<endl;      
   
        }//CASE YUVASI
        } //DİL SEÇİMİ
        }//MAİN
 
Son düzenleyen: Moderatör:
"pis" değişkeni için başlatma "initialization" hatası vermiş. float pis = 3.1415; satırını switch'in dışına, yani üst satırına taşıyıp deneyin.
 
Go to kullanmanı tavsiye etmem, kodun okunabilirliğini büyük derecede azaltıyor, bu şekilde küçük projelerde belki anlaman zor olmayabilir ama ilerde profesyonel olarak çalıştığında sana zorluk çıkarabilir.
 
Uyarı! Bu konu 6 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.

Geri
Yukarı