Jestem poczatkujacym programista w c++, porgramuje w tym jezyku od moze tygodnia i mam pewien problem... otoz pisze sobie program (zamieszcze go ponizej), ktory wg. mnie powinien zrobic wszystko po mojej mysli, a jednak jest inaczej: program powinien krok po kroku:
- Wypisac napis 'fizyka' z gwiazdek
- Deklaracja zmiennych itd.
- Wyswietla tekst przed pierwsza petla 'do...while'
- Wypisuje menu
- Sprawdza wybor
- Tutaj program wykonuje kod wg. wyboru
- Sprawdza czy uzytkownik programu chce kontynuowac czy zamknac
I tutaj pojawia sie pierwszy blad: jezeli wpiszemy 'nie' program nie konczy swojej pracy... (polecmy dalej) - Sprawdza czy uzytkownik nie chce 'oszukac' programu i nie wpisuje np. liczb
- Jezeli uzytkownik programu wpisal co innego to bedzie pytal o 'tak' lub 'nie' dopoki uzytkownik tego nie wpisze
Drugi blad: program pomimo wpisania 'nie' nie konczy programu
#include <iostream>
using namespace std;
int main()
{
cout << "********** ** ********** ** ** ** ** **" << endl; // 1. Wypisac napis 'fizyka' z gwiazdek
cout << "** ** ** ** ** ** ** ***" << endl;
cout << "** ** ** ** ** ** ****" << endl;
cout << "** ** ** **** ** ** ** **" << endl;
cout << "** ** ** ** ** ** ** **" << endl;
cout << "***** ** ** ** ***** ** **" << endl;
cout << "** ** ** ** ** ** ********" << endl;
cout << "** ** ** ** ** ** ** **" << endl;
cout << "** ** ** ** ** ** ** **" << endl;
cout << "** ** ********** ** ** ** ** **" << endl;
long me = 91688714; // 2. Deklaracja zmiennych itd.
long we = 41388964;
long ma = 78338748;
long jo = 628814130;
long sa = 1277154522;
long ur = 2721374330;
long ne = 4348655010;
int pred = 12;
char tak[4] = "nie";
char nie[4] = "tak";
char koniec[4];
int wybor, predwy;
long odleg;
cout << "Oto program ktory umozliwi ci obliczenie ile dni zajmie podroz na planety\n ukladu slonecznego" << endl; // 3. Wyswietla tekst przed pierwsza petla 'do...while'
cout << endl;
do
{
cout << "Wybierz planete do ktorej czas podrozy chcialbys poznac: " << endl; // 4. Wypisuje menu
cout << " 1 - Merkury" << endl;
cout << " 2 - Wenus" << endl;
cout << " 3 - Mars" << endl;
cout << " 4 - Jowisz" << endl;
cout << " 5 - Saturn" << endl;
cout << " 6 - Uran" << endl;
cout << " 7 - Neptun" << endl;
cout << " 8 - Wprowadz swoje wlasne dane" << endl;
cin >> wybor; // 5. Sprawdza wybor
if ( wybor == 1) // 6. Tutaj program wykonuje kod wg. wyboru
{
cout << " Odleglosc do Merkury wynosi 91 688 714km" << endl;
cout << " Srednia predkosc statku kosmicznego to " << pred << "km/s" << endl;
cout << " Tak wiec na Merkury dolecimy w ciagu " << me / pred / 60 / 60 / 24 << " dni." << endl;
cout << endl;
cout << " Czy chcialbys poznac czas podrozy do innej planety?" << endl;
cout << " Prosze o odpowiedz tak/nie" << endl;
cin >> koniec; // 7. Sprawdza czy uzytkownik programu chce kontynuowac czy zamknac
if ( koniec != tak || koniec != nie ) // 8. Sprawdza czy uzytkownik nie chce 'oszukac' programu i nie wpisuje np. liczb
do // 9. Jezeli uzytkownik programu wpisal co innego to bedzie pytal o 'tak' lub 'nie' dopoki uzytkownik tego nie wpisze
{
cout << " Nie wpisales tak lub nie!" << endl;
cout << endl;
cout << " Czy chcialbys poznac czas podrozy do jakiejs planety?" << endl;
cout << " Prosze o odpowiedz tak/nie" << endl;
cin >> koniec;
} while ( koniec == tak || koniec == nie );
}
} while ( koniec == tak || koniec == nie );
return 0;
}
Probowalem rozwiazac ten problem na wszystkie znane mi obecnie sposoby, ale jestem w 99% procentach przekonany, ze ten blad wynika z faktu, iz wczesniej programowalem w pascalu i raczej nie czuje tego c++, no ale coz, musze to zrobic... Prosze o wyrozumialosc, poniewaz wiem ze ten program nie jest zadnym wyzwaniem intelektualnym, wiec mysle ze mozecie mi pomoc :)