Şimdi Ara

C++ Programı Tekrarlanabilir Kılmak

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
1.967
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar konsol üzerinde bir hesap makinesi yapıyorum fakat program bittiğinde yeni işlem yapmam için programı kapatıp yine açmam gerekiyor.Bunu engellemek için nasıl bir yol izleyebilirim?Ben do while döngüsüyle yapmayı denedim ama olmadı. Yardımlarınız için Teşekkürler.



    #include <iostream>
    #include <cmath>

    using namespace std;

    int main(){
    int s;
    float i,j;
    int a;
    cout << "İki Sayi Giriniz: ";
    cin >> i >> j;
    do{

    cout << "Bir İslem Seciniz : " << endl << "1. İlk Sayinin Karekokunu Al" << endl << "2.İlk Sayinin İkinci Sayi kadar kuvvetini al" << endl <<"3. İlk sayinin sinusunu Hesapla : " ;
    cin >> s;

    if(s==1){
    cout << sqrt(i) << endl ;

    }
    else if(s==2){
    cout << pow(i,j) << endl;


    }
    else if(s==3){

    cout << sin(i) << endl;

    }
    else {
    cout << "1-3 Arasi Bir Sayi Giriniz: " << endl;

    }
    cout << "İslemlere Devam Etmek İstemiyorsanız 0 Yaziniz : ";
    cin >> a;

    }while(a=0);





    system("PAUSE");
    return 0;
    }







  • quote:

    Orijinalden alıntı: Hunterangel

    Arkadaşlar konsol üzerinde bir hesap makinesi yapıyorum fakat program bittiğinde yeni işlem yapmam için programı kapatıp yine açmam gerekiyor.Bunu engellemek için nasıl bir yol izleyebilirim?Ben do while döngüsüyle yapmayı denedim ama olmadı. Yardımlarınız için Teşekkürler.



    #include <iostream>
    #include <cmath>

    using namespace std;

    int main(){
    int s;
    float i,j;
    int a;
    cout << "İki Sayi Giriniz: ";
    cin >> i >> j;
    do{

    cout << "Bir İslem Seciniz : " << endl << "1. İlk Sayinin Karekokunu Al" << endl << "2.İlk Sayinin İkinci Sayi kadar kuvvetini al" << endl <<"3. İlk sayinin sinusunu Hesapla : " ;
    cin >> s;

    if(s==1){
    cout << sqrt(i) << endl ;

    }
    else if(s==2){
    cout << pow(i,j) << endl;


    }
    else if(s==3){

    cout << sin(i) << endl;

    }
    else {
    cout << "1-3 Arasi Bir Sayi Giriniz: " << endl;

    }
    cout << "İslemlere Devam Etmek İstemiyorsanız 0 Yaziniz : ";
    cin >> a;

    }while(a=0);





    system("PAUSE");
    return 0;
    }
    quote:


    int a=1;
    .
    .
    .

    }while(a!=0);

    Boyle dene bakalim. Sonraki adimda buyuk ihtimal bufferlari temizlemek isteyeceksin. cin.ignore tarzi birseyler.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 25 Aralık 2012; 14:23:38 >




  • #include <iostream>
    #include <cmath>

    using namespace std;

    int main(){
    int s;
    float i,j;
    int a;

    do{
    cout << "İki Sayi Giriniz: ";
    cin >> i >> j;

    cout << "Bir İslem Seciniz : " << endl << "1. İlk Sayinin Karekokunu Al" << endl << "2.İlk Sayinin İkinci Sayi kadar kuvvetini al" << endl <<"3. İlk sayinin sinusunu Hesapla : " ;

    etiket1:

    cin >> s;

    if(s==1){
    cout << sqrt(i) << endl ;

    }
    else if(s==2){
    cout << pow(i,j) << endl;


    }
    else if(s==3){

    cout << sin(i) << endl;

    }
    else {
    cout << "1-3 Arasi Bir Sayi Giriniz: " << endl;
    goto etiket1;
    }

    cout << "İslemlere Devam Etmek İstemiyorsanız 0 Yaziniz : ";
    cin >> a;

    }while(a!=0);

    system("PAUSE");
    return 0;
    }


    denemedim ama bunun çalışması lazım. değişiklikler: do yu biraz daha başa alabilirsin programın en başa dönmesi için. while içindeki kontrolü 0 değil yapmalısınki 0 yazınca döngü bitsin. içerdeki else bölümüne ise ben bu basit bir uygulama olduğundan goto kullandım fakat bir kontrol değişkeni kullanarak aynı dıştaki do while gibi kontrol bölümünüde döngü içine alabilirsin.




  • cevbabın için saol denicem.Bu arada şuana kadar goto gibi bi ifade görmedim çalıştığım kitapta tam oalrak ne işe yarıyor bilmiyorum :D
  • Biraz değiştirdim kodu. Burada if else yerine switch kullanmak hem daha kolay hem de switch daha hızlıdır. Ayrıca programdan çıkmak için ayrı soru sormana gerek yok.
    Senin yazdığındaki hata "do{" satırını biraz geç yazmışsın. int a; dan sonra do while a girmen gerekiyordu.

     
    #include <iostream>
    #include <cmath>

    using namespace std;

    int main()
    {
    int s;
    float i,j;

    while(1)
    {
    cout << "\niki sayi giriniz: ";
    cin >> i >> j;
    cout << "\nBir islem Seciniz :\n1. ilk Sayinin Karekokunu Al\n2. ilk Sayinin ikinci Sayi kadar kuvvetini al\n3. ilk sayinin sinusunu Hesapla";
    cout << "\nislemlere Devam Etmek istemiyorsaniz 0 Yaziniz\n";
    cin >> s;

    switch (s)
    {
    case 0:
    return 0;
    case 1:
    cout << sqrt(i) << endl;
    break;
    case 2:
    cout << pow(i,j) << endl;
    break;
    case 3:
    cout << sin(i) << endl;
    break;
    default:
    cout << "0-3 Arasi Bir Sayi Giriniz: " << endl;
    }
    }
    }




  • Cevap için teşşekkürler saorun çözülmüştür.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.