C++ sorunu yardım

Bu konuyu okuyanlar

kongo99

Öğrenci
Katılım
8 Haziran 2013
Mesajlar
9
Reaksiyon puanı
0
Puanları
0
yeni başladım c++ a.

switch case if falan görünce bir şey yazıyım alıştırma olur dedim. saçma da olsa şunu yazdım.



Kod:
#include <iostream>
using namespace std;


main () {


int x;
cout<< "Merhaba bu bir kisilik analiz testidir. Vereceginiz cevaplar\n kisiliginizin bulunmasina yardim edecek." << endl<<endl
<< "Bir odaya girdiniz ve oda bos. sadece ortada bir masa var.\n Ortada bir meyve kasesi ve cilek,muz,kayisi ve elma var\n bir meyve aldiktan sonra meyveler kaybolacak. hangi meyveyi secersiniz. \n 1-elma\n 2-cilek\n 3-muz\n 4- kayisi\n 5- hepsinden nefret ederim\n ";


cin>>x;




switch (x) 
{


cin>>x;




case 1 :
cout << "elma seven birisiniz";
break;
case 2 :
cout<< "cilek seven birisin";
break;
case 3 :


cout << "muz seven birisin";
break;
case 4:


cout<< "kayisi seven birisin";
break;
case 5:


cout<< "meyveler ile arasi iyi olmayan birisin.";
break;
default:


cout<<" MAKINE KANDIRILMAZ SEN KIMSIN KI ???";
break;












cin>>x;








}










}


neyse sorun şu = derle çalıştır yapınca sorunsuz çalışıyor. kaydedip çıkıyorum. exe dosyasına basıyorum. sayı istiyor ve bir anda sayıyı yazıp entera basınca kapanıyor. cin>> eklemedim diye düşündüm ama var. bir de derle çalıştır yapınca sorunsuz, exeden hatalı oluyor. çözerseniz sevinirim:biggrin:
 

cosmosfb

Asistan
Katılım
20 Haziran 2011
Mesajlar
101
Reaksiyon puanı
0
Puanları
0
olmadık yerlere cin>>x koymanın anlamı ne anlamadım :)
en sondaki köşeli parantezden önce koymayı dene!
 

CMLYKL

Öğrenci
Katılım
6 Ocak 2013
Mesajlar
21
Reaksiyon puanı
1
Puanları
0
Kodları düzenledim. Switch (x) yapısından sonra içeri cin >> x; koyman bir işe yaramaz.
Birde program kapanmasın diye en sonra cin >> x; koymuşsun. Ama switch case yapısının içinde yani köşeli parantezlerin içinde kalmış. O yüzden tuşa basınca ekran kapanıyor.

ÖNERİ: Bence kodları yazarken o kadar fazla boşlu bırakma enter tuşu ile aşağı inince zaten alttaki kodlar kayıyo.

Kod:
#include <iostream>using namespace std;


main () {


int x;
cout << "Merhaba bu bir kisilik analiz testidir. Vereceginiz cevaplar\n kisiliginizin bulunmasina yardim edecek." << endl<<endl
<< "Bir odaya girdiniz ve oda bos. sadece ortada bir masa var.\n Ortada bir meyve kasesi ve cilek,muz,kayisi ve elma var\n bir meyve aldiktan sonra meyveler kaybolacak. hangi meyveyi secersiniz. \n 1-elma\n 2-cilek\n 3-muz\n 4- kayisi\n 5- hepsinden nefret ederim\n ";


cin >> x;


switch (x) 
{
case 1 :
cout << "elma seven birisiniz";
break;
case 2 :
cout<< "cilek seven birisin";
break;
case 3 :




cout << "muz seven birisin";
break;
case 4:




cout<< "kayisi seven birisin";
break;
case 5:




cout<< "meyveler ile arasi iyi olmayan birisin.";
break;
default:




cout<<" MAKINE KANDIRILMAZ SEN KIMSIN KI ???";
break;
}




cin >> x;




}
 

serbayacar1

Öğrenci
Katılım
16 Haziran 2013
Mesajlar
10
Reaksiyon puanı
0
Puanları
0
yeni başladım c++ a.

switch case if falan görünce bir şey yazıyım alıştırma olur dedim. saçma da olsa şunu yazdım.



Kod:
#include <iostream>
using namespace std;


main () {


int x;
cout<< "Merhaba bu bir kisilik analiz testidir. Vereceginiz cevaplar\n kisiliginizin bulunmasina yardim edecek." << endl<<endl
<< "Bir odaya girdiniz ve oda bos. sadece ortada bir masa var.\n Ortada bir meyve kasesi ve cilek,muz,kayisi ve elma var\n bir meyve aldiktan sonra meyveler kaybolacak. hangi meyveyi secersiniz. \n 1-elma\n 2-cilek\n 3-muz\n 4- kayisi\n 5- hepsinden nefret ederim\n ";


cin>>x;




switch (x) 
{


cin>>x;




case 1 :
cout << "elma seven birisiniz";
break;
case 2 :
cout<< "cilek seven birisin";
break;
case 3 :


cout << "muz seven birisin";
break;
case 4:


cout<< "kayisi seven birisin";
break;
case 5:


cout<< "meyveler ile arasi iyi olmayan birisin.";
break;
default:


cout<<" MAKINE KANDIRILMAZ SEN KIMSIN KI ???";
break;












cin>>x;








}










}


neyse sorun şu = derle çalıştır yapınca sorunsuz çalışıyor. kaydedip çıkıyorum. exe dosyasına basıyorum. sayı istiyor ve bir anda sayıyı yazıp entera basınca kapanıyor. cin>> eklemedim diye düşündüm ama var. bir de derle çalıştır yapınca sorunsuz, exeden hatalı oluyor. çözerseniz sevinirim:biggrin:

Switch-case kullanımın gerçekten öğrenmişsin ancak içindeki cin>x kullanman olmamış. Kullanılabilir ancak girdi kodları genellikle case'ler içinde yapıcağın işe göre kullanabilirsin ancak bu basit deneme programında gereksiz olmuş.

Parantez hatan vardı , eğer parantez hatası yapmak istemiyorsan daha düzenli yazmaya çalış ve bir parantezi açıyorsan hemen ardından kapattıktan sonra arasına kodları yazmaya başlaki parantez hatalarını en aza indirebilirsin.

Son olarak en alttaki cin>x komutunu sanırım programın sonucunu göremeden hızla kapandığı için yazdın. Genellikle c++'ta son kapanış olarak system("PAUSE"); return 0; yazarsan eğer "Devam etmek için lütfen bir tuşa basınız" uyarısını alır ve basana kadar program kapanmaz.

Programını düzelttim ve düzgünce çalışıyor. Derleyicine benim kodumu kopyalıyıp yapıştırdığında düzenine dikkat et. Az önce anlatmaya çalıştım ama görmen daha etkili olabilir. Çünkü yeni başlıyorsun ileride daha komplex programlar yazacaksın. Programlar büyüdükçe hata yapma olanağını azaltmış olursun.
Umarım yardımcı olabilmişimdir :D

Kendi kodum :
Kod:
#include <iostream>
using namespace std;

main () {


     int x;
     cout<< "Merhaba bu bir kisilik analiz testidir. Vereceginiz cevaplar\n kisiliginizin bulunmasina yardim edecek." << endl<<endl
     << "Bir odaya girdiniz ve oda bos. sadece ortada bir masa var.\n Ortada bir meyve kasesi ve cilek,muz,kayisi ve elma var\n bir meyve aldiktan sonra meyveler kaybolacak. hangi meyveyi secersiniz. \n 1-elma\n 2-cilek\n 3-muz\n 4- kayisi\n 5- hepsinden nefret ederim\n ";
     cin>>x;

     switch (x) 
     {
           case 1:
                   cout << "elma seven birisiniz";
                   break;
           case 2:
                   cout<< "cilek seven birisin";
                   break;
           case 3:
                   cout << "muz seven birisin";
                   break;
           case 4:
                   cout<< "kayisi seven birisin";
                   break;
           case 5:
                   cout<< "meyveler ile arasi iyi olmayan birisin.";
                   break;
            default:
                   cout<<" MAKINE KANDIRILMAZ SEN KIMSIN KI ???";
                   break;
      }
      
      system("PAUSE");
      return 0;

}
 
Üst