Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
2072
Tıklama
0
Öne Çıkarma
C++ Programı Tekrarlanabilir Kılmak
H
13 yıl
Teğmen
Konu Sahibi

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;
}



G
13 yıl
Yüzbaşı

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 >
Bu mesaja 1 cevap geldi.
U
13 yıl
Binbaşı

#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.


Bu mesaja 1 cevap geldi.
H
13 yıl
Teğmen
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
C
13 yıl
Yüzbaşı

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;
}
}
}


Bu mesaja 1 cevap geldi.
H
13 yıl
Teğmen
Konu Sahibi

Cevap için teşşekkürler saorun çözülmüştür.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.