Petla
Ostatnio zmodyfikowano 2012-12-29 14:37
kuba465 Temat założony przez niniejszego użytkownika |
Petla » 2012-12-29 13:20:30 Witam, przerobiłem wczorajszy program i teraz wygląda tak: #include <stdio.h> #include <stdlib.h>
int main( void ) { int stopy; float centy, cale; centy = 1; while( centy >= 0 ) { printf( "Podaj wzrost w centymetrach: \n" ); scanf( "%f", & centy ); stopy = centy / 30; cale = centy / 2.54; printf( "%3.2f cm = %d stop i %2.1f cali", centy, stopy, cale ); } printf( "Zakończenie petli" ); system( "PAUSE" ); return 0; }
Tyle, że nie mam pomysłu jak zrobić żeby dobrze liczyło cale oraz żeby pętla zatrzymywała się po wpisaniu wartości nieujemnej. Bo jak wpisałem -1 to wyliczyło jakieś liczby i dopiero się zakończyło. |
|
jsc |
» 2012-12-29 13:25:14 Bo wylicza zanim sprawdza warunek przejścia do nowej iteracji. |
|
kuba465 Temat założony przez niniejszego użytkownika |
» 2012-12-29 13:26:44 to można to zrobić jakoś posługując się samą pętlą while? |
|
jsc |
» 2012-12-29 13:33:08 Kod odpowiedzialny za pobieranie centymetrów wypychasz przed pętlę i jednocześnie umieszczasz go tuż przed klamrą zamykającą pętlę. |
|
kuba465 Temat założony przez niniejszego użytkownika |
» 2012-12-29 13:38:36 Bardzo dziękuję pomogło :) tylko teraz mam problem z wyliczeniem cali... bo można by użyć funkcji modulo, ale ona nie działa na liczbach zmiennoprzecinkowych... bo program wylicza cale z calem puli centymetrow a powinien z tego co zostało z dzieleni centy / 30... Masz może jakiś pomysł na to? |
|
jsc |
» 2012-12-29 13:49:14 Trzeba zrzutować centymetry na float lub zapisać 30 jako 30.00. |
|
kuba465 Temat założony przez niniejszego użytkownika |
» 2012-12-29 14:02:50 Nie bardzo wiem o co chodzi w rzutowaniu bo tego jeszcze nie miałem... Ale przecież centymetry już są we floacie. |
|
jsc |
» 2012-12-29 14:18:09 Ale spróbuj z tym 30.00. |
|
« 1 » 2 |