Cześć!
Mam takie pytanie. Napisałam właśnie program znajdujący liczby pierwsze w danym przedziale i zastanawiam się, czy da się dodać do niego coś takiego, że po tym, jak program już znajdzie te liczby, nie trzeba było wyłączać go i wpisywać nowego przedziału tylko od razu za pomocą np. Enter'a przejść do początku programu.
Dziękuję
C++ Zacząć program od nowa
-
- Użytkownik
- Posty: 201
- Rejestracja: 6 gru 2009, o 14:57
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 16 razy
- Pomógł: 24 razy
C++ Zacząć program od nowa
Możesz stworzyć główną pętlę programu - w niej będzie wykonywana dana czynność, a kiedy się wykona - pobierze od użytkownika jakiś znak z klawiatury. Jeśli znakiem będzie enter to kontynuujesz, w przeciwnym wypadku wykonujesz inną dowolną akcję.
-
- Użytkownik
- Posty: 201
- Rejestracja: 6 gru 2009, o 14:57
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 16 razy
- Pomógł: 24 razy
C++ Zacząć program od nowa
A czy mógłbyś mi napisać jak i gdzie? Szukałam troche w internecie, ale za każdym razem, gdy próbowałam kompilować, pokazywało mi błąd.
Kod: Zaznacz cały
#include <iostream>
#include <cmath>
using namespace std;
int main (){
int a,b;
cout << "Podaj najmniejsza liczbe z przedzialu: ";
cin >> a;
cout << "Podaj najwiekszą liczbe z przedzialu: ";
cin >> b;
cout<<"Liczby pierwsze z przedzialu ("<<a<<","<<b<<"): ";
for (int i=a;i<=b;i++) {
if (i==2) cout<<i<<" ";
for (int j=2;j<=ceil(sqrt(i));j++) {
if ((i%j)==0) break;
if (j==ceil(sqrt(i))) cout<<i<<" ";
}
}
cout<<endl;
system("pause");
return 0;
}
C++ Zacząć program od nowa
Na przykład w ten sposób:
Kod: Zaznacz cały
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a;
int b;
while (1) { // wejście w pętle główną programu
cout << endl << "Podaj najmniejsza liczbe z przedzialu: ";
cin >> a;
cout << "Podaj najwiekszą liczbe z przedzialu: ";
cin >> b;
cout << "Liczby pierwsze z przedzialu ("<<a<<","<<b<<"): ";
for (int i = a; i <= b; i++) {
if (i == 2) cout << i << " ";
for (int j = 2; j <= ceil(sqrt(i)); j++) {
if (!(i % j)) { break; }
if (j == ceil(sqrt(i))) cout << i << " ";
}
}
cout << endl;
cout << "Naciśnij ENTER by kontynuować, 'q' by zakończyć\n";
/* tutaj Twoja procedura obslugi standardowego wejścia */
}
return 0;
}
-
- Użytkownik
- Posty: 201
- Rejestracja: 6 gru 2009, o 14:57
- Płeć: Kobieta
- Lokalizacja: Polska
- Podziękował: 16 razy
- Pomógł: 24 razy
C++ Zacząć program od nowa
Bardzo, bardzo dziękuję.
Nie wychodziło mi, bo próbowałam zastosować "do...while", ale teraz już wszystko działa.
Jeszcze raz dziękuję
Nie wychodziło mi, bo próbowałam zastosować "do...while", ale teraz już wszystko działa.
Jeszcze raz dziękuję
C++ Zacząć program od nowa
Proszę uprzejmie. Konstrukcja, którą podałaś też by się sprawdziła, dla przykładu:
1. Załóżmy, że zmienna ch to integer znaku wprowadzonego z klawiatury.
2. Załóżmy też, że jeśli ch będzie miało wartość 'q' to program się zakończy, wtedy:
1. Załóżmy, że zmienna ch to integer znaku wprowadzonego z klawiatury.
2. Załóżmy też, że jeśli ch będzie miało wartość 'q' to program się zakończy, wtedy:
Kod: Zaznacz cały
do {
// kod
} while (ch != 'q')