Zatrzymanie dzialania programu (dzialanie na zmiennych tekstowych)
Ostatnio zmodyfikowano 2021-01-05 19:36
Adyn Temat założony przez niniejszego użytkownika |
Zatrzymanie dzialania programu (dzialanie na zmiennych tekstowych) » 2021-01-05 18:29:44 Dzień dobry, próbuje zrobić kalkulator obslugujacy dzialania na stringach, zrobilem juz wszystko z wyjatkiem dzielenia. Próbuje napisac to tak, aby odejmowac od pierwszej liczby druga, i tyle ile bedzie tych "odejmowan" tyle wynosi liczba pierwsza podzielona przez druga. Problem polega na czyms w kodzie, funkcja nie zatrzymuje sie tylko zapętla a ja nie wiem jak ja zatrzymac. Mowiac bardziej zrozumiale, chce zatrzymac funkcje w momencie kiedy program dojdzie do momentu, kiedy pierwsza liczba odjac druga liczba bedzie wartoscia ujemna. Bylbym wdzieczny za jakąkolwiek sugestie. Przyklad dzialania : 20 / 3 20 - 3 = 17 17 - 3 = 14 14 - 3 = 11 11 - 3 = 08 8 - 3 = 05 5 - 3 = 02 i chcialbym zeby w tym momencie program sie zakonczyl, jednak on leci dalej dajac takie wyniki: 2 - 3 = -01 nastepnie na zmiane -01 i -02. Czy istnieje jakis sposob, zebym mogl zatrzymac ten kod w momencie kiedy od wyniku juz nie da sie odjac tej drugiej liczby? Ponizej zamieszczam kod i wynik dzialania programu. int main() { string pierwszaLiczba, drugaLiczba; string wynik; int dzielnik; char znak = '-'; cin >> pierwszaLiczba >> drugaLiczba; wynik = pierwszaLiczba; cout << wynik.at( 0 ); while( wynik.at( 0 ) != '-' ) { wynik = odejmowanie( wynik, drugaLiczba ); cout << " wynik - " << wynik << endl; cout << " wynik.at - " << wynik.at( 0 ) << endl; dzielnik++; cout << " dzielnik - " << dzielnik << endl; } return 0; } |
|
DejaVu |
» 2021-01-05 19:11:08 if( drugaLiczba > wynik ) break;
Generalnie zrób sobie funkcję do porównywania liczb która jest większa. To powinno Ci wystarczyć. |
|
Adyn Temat założony przez niniejszego użytkownika |
» 2021-01-05 19:36:18 Tak wlasnie zrobilem, jednak musialem jeszcze dodac funkcje ktora uzupelniala liczby tak aby dlugosc kazdej byl taki sam (dopisywala zera na poczatku, np. dzielac 20 na 2 dopisywala do 2 zero, robiac 02) i teraz wszystko dziala poprawnie. Dziekuje. |
|
« 1 » |