Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zatrzymanie dzialania programu (dzialanie na zmiennych tekstowych)

Ostatnio zmodyfikowano 2021-01-05 19:36
Autor Wiadomość
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.

C/C++
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;
}
P-177932
DejaVu
» 2021-01-05 19:11:08
C/C++
if( drugaLiczba > wynik )
   
 break;
Generalnie zrób sobie funkcję do porównywania liczb która jest większa. To powinno Ci wystarczyć.
P-177933
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.
P-177934
« 1 »
  Strona 1 z 1