İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C++ sorunu yardım

kongo9925.06.20133 cevap2.079 görüntüleme
2013'den beri9 mesaj
#1
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.
#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:
Cevaplar
2011'den beri101 mesaj
#2
olmadık yerlere cin>>x koymanın anlamı ne anlamadım :)
en sondaki köşeli parantezden önce koymayı dene!
2013'den beri21 mesaj
#3
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.
#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;




}


2013'den beri10 mesaj
#4
kongo99 dedi: ↑
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.
#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 :
#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;

}

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.