Mam za zadanie napisać program pobierający Imię, Nazwisko oraz Wiek użytkownika. Następnie go powita stosownym komentarzem i poprosi o wprowadzenia liczby. Program wyświetli 10 kolejnych liczb nie-parzystych od liczby wpisanej przez użytkownika.
Napisałem taki kod ale liczba blokuje się zawsze na 43 zamiast wyliczać 10 liczb:
#include <iostream>
using namespace std;
int main() {
setlocale(LC_CTYPE, "Polish");
string imie;
string nazwisko;
int c;//wiek
int d;//liczba od ktorej liczy
int i;//petla
int x;
x==10;
cout<<"Podaj swoje imie"<<endl;
cin>>imie;
cout<<"Podaj swoje nazwisko"<<endl;
cin>>nazwisko;
cout<<"Podaj swoj wiek"<<endl;
cin>>c;
cout<<"Witaj "<<imie<<" "<< nazwisko <<"masz lat "<< c<< endl;
cout<<"Podaj losowa liczbe"<<endl;
cin>>d;
do{
for(int i = d; i <= x; i++)
{
if( (i % 2) != 0)
cout << i << endl;
}
}
while(i==10);
return 0;
}
I to samo jak kod się kończy (w osobnej linie te same 3 znaki), wtedy szybciej będzie można zobaczyć bez kopiowania gdzie masz błąd.
Podgląd jak wygląda dobrze wstawiony kod:
#include <iostream>
using namespace std;
int main() {
setlocale(LC_CTYPE, "Polish");
string imie;
string nazwisko;
int c;//wiek
int d;//liczba od ktorej liczy
int i;//petla
int x;
x==10;
cout<<"Podaj swoje imie"<<endl;
cin>>imie;
cout<<"Podaj swoje nazwisko"<<endl;
cin>>nazwisko;
cout<<"Podaj swoj wiek"<<endl;
cin>>c;
cout<<"Witaj "<<imie<<" "<< nazwisko <<"masz lat "<< c<< endl;
cout<<"Podaj losowa liczbe"<<endl;
cin>>d;
do{
for(int i = d; i <= x; i++)
{
if( (i % 2) != 0)
cout << i << endl;
}
}
while(i==10);
return 0;
}
Ja bym w pierwszym warunku ustalił czy podano liczbę parzystą czy nieparzystą. W pierwszym wypadku zwiększył ją o 1 a w drugim o 2 i potem zrobiłbym pętlę od otrzymanej liczby przez 20 powtórzeń ze skokiem o 2. Tak hakersko trochę