Problem z prostym programem
Ostatnio zmodyfikowano 2012-09-06 22:14
Sayrs Temat założony przez niniejszego użytkownika |
Problem z prostym programem » 2012-09-06 21:32:55 Witam, mam pewien problem z moim prostym programikiem, wszystko niby działa, tyle że program prosi mnie po kilka raz o podanie danych do strumieni wejsciowych w funkcjach, które wywołuje niestety nie we własciwej kolejnosci. Poniżej zamieszczam mój programik i proszę o powiedzenie mi co zrobiłem źle. #include <iostream> using namespace std;
int Wprowadz1() { int Predkosc; bool Prawda; do { cout << "Wprowadz predkosc ciala goniacego (m/s): "; cin >> Predkosc; Prawda = cin.good(); cin.clear(); cin.sync(); } while( Prawda == 0 ); return Predkosc; }
int Wprowadz2() { int Predkosc; bool Prawda; do { cout << "Wprowadz predkosc ciala gonionego (m/s): "; cin >> Predkosc; Prawda = cin.good(); cin.clear(); cin.sync(); } while( Prawda == 0 ); return Predkosc; }
int Odleglosc() { int Odleglosc; bool Prawda; do { cout << "Wprowadz odleglosc miedzy cialami (m): "; cin >> Odleglosc; Prawda = cin.good(); cin.clear(); cin.sync(); } while( Prawda == 0 ); return Odleglosc; }
int Wybor() { int Liczba; bool Prawda; do { cin >> Liczba; Prawda = cin.good(); cin.clear(); cin.sync(); } while( Prawda == 0 ); return Liczba; }
int main() { int Wybrales; int A; int B; int C; do { cout << "--------------------------------------------------" << endl; cout << "| Wybierz jedna z opcji: |" << endl; cout << "| [1] W ile jedno cialo dogoni drugie |" << endl; cout << "| [0] Koniec |" << endl; cout << "--------------------------------------------------" << endl; Wybor(); Wybrales = Wybor(); switch( Wybrales ) case 1 : Wprowadz1(); Wprowadz2(); Odleglosc(); A = Wprowadz1(); B = Wprowadz2(); C = Odleglosc(); cout << "Cialo goniace dogoni drugie cialo w czasie " <<( C /( A - B ) ) << " sekund" << endl; break; } while( Wybrales == 1 ); cout << "This is over..."; return 0; }
PS - Sorki za błędy ortograficzne ale klawka mi nawala :/ |
|
cyklopek11 |
» 2012-09-06 22:09:33 Pocisk naprowadzający .... 1.) Wybor(); Wybrales = Wybor();
2.) Gdzie Switch ma case 0: ???????? Popraw te błędy i spróbuj podumać czy to pomoże ... |
|
Sayrs Temat założony przez niniejszego użytkownika |
» 2012-09-06 22:13:52 Dzięki za pomoc, ale już sam wyczaiłem co zrobiłem nie tak, do zamknięcia. |
|
paki2009 |
Wyjasnienie » 2012-09-06 22:14:45 Jak deklarujesz funkcje to zwróć uwagę na to co do niej wpisujesz, mianowicie wpisałeś zapytanie do wprowadzenia prędkości ciała w funkcji, wywołuje się ona dwa razy, ponieważ //Wprowadz1(); //Wprowadz2(); //Odleglosc(); A = Wprowadz1(); B = Wprowadz2(); C = Odleglosc();
Chodzi o to że funkcja zapyta ciebie o dany parametr nawet jak została przypisana do zmiennej, zatem usuń Wprowadz1(); itp. Po wykonaniu tej operacji program będzie działał jak należy.
|
|
« 1 » |