hallenberg Opublikowano 11 Listopada 2005 Zgłoś Opublikowano 11 Listopada 2005 Mam problem z tym oto zadaniem - co w nim jest źle, bo ciągle wychodzi mi wynik 0 ://// program zadanie12; {1 cal = 25.4 mm = 2.54 cm = 0.0254 m 1 stopa = 12 cali = 304.8 mm = 30.48 cm = 0.3048 m 1 jard = 3 stopy = 914.4 mm = 91.44 cm = 0.9144 m} uses crt; var m,c,s,j,wynik,numer:real; zamiana:char; begin clrscr; writeln('Wybierz rodzaj dzialania: '); writeln('1 - Zamiana metrow na cale'); writeln('2 - Zamiana metrow na stopy'); writeln('3 - Zamiana metrow na jardy'); writeln('4 - Zamiana cali na metry'); writeln('5 - Zamiana cali na stopy'); writeln('6 - Zamiana cali na jardy'); writeln('7 - Zamiana stop na metry'); writeln('8 - Zamiana stop na cale'); writeln('9 - Zamiana stop na jardy'); writeln(''); readln(numer); write(''); write('Podaj wartosc w metrach: '); readln(m); case zamiana of '1' : Wynik:= m/0.0254; end; writeln(''); writeln(m:4:4,' metrow to ',wynik:4:4,' cali(cala)'); readln end. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makatiel Opublikowano 11 Listopada 2005 Zgłoś Opublikowano 11 Listopada 2005 (edytowane) writeln('');readln(zamiana);write('');chyba powinno byc - no przynajmniej 0 nie wychodzi:P Edytowane 11 Listopada 2005 przez makatiel Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
hallenberg Opublikowano 11 Listopada 2005 Zgłoś Opublikowano 11 Listopada 2005 Dzięki, głupi błąd zrobiłem, już działa :-P . Mam teraz pytanie - jak załatwić linijkę writeln(m:4:4,' metrow to ',wynik:4:4,' cala(cali)'); żeby pokazywała ile jest cali, jardów i stóp, a nie tylko pisała "cala(cali)", ale też "stóp(stopy)" i "jardów(jarda)" w zależności od tego co liczę. I kolejne pytanie, jak technicznie to rozwiązać - czy dałoby się zrobić tak, żeby program obliczał pozostałych 6 możliwości - stopy na cale, cale na jardy itp.? program zadanie12;{1 cal = 25.4 mm = 2.54 cm = 0.0254 m1 stopa = 12 cali = 304.8 mm = 30.48 cm = 0.3048 m1 jard = 3 stopy = 914.4 mm = 91.44 cm = 0.9144 m}uses crt;var m,wynik:real; zamiana:char;beginclrscr;writeln('Wybierz rodzaj dzialania: ');writeln('1 - Zamiana metrow na cale');writeln('2 - Zamiana metrow na stopy');writeln('3 - Zamiana metrow na jardy');writeln('');readln(zamiana);writeln('');write('Podaj wartosc w metrach: ');readln(m);writeln('');case zamiana of'1' : Wynik:= m/0.0254;'2' : Wynik:= m/(12*0.0254);'3' : Wynik:= m/(3*(12*0.0254));else halt;end;writeln('');writeln(m:4:4,' metrow to ',wynik:4:4,' cala(cali)');readln;end. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makatiel Opublikowano 11 Listopada 2005 Zgłoś Opublikowano 11 Listopada 2005 (edytowane) '1' : begin Wynik:= m/0.0254; writeln(m:4:4,' metrow to ',wynik:4:4,' cala(cali)'); end; O takie cos powinno zalatwic sprawe - do kazdej mozliwosci inny tekst Edytowane 11 Listopada 2005 przez makatiel Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
hallenberg Opublikowano 11 Listopada 2005 Zgłoś Opublikowano 11 Listopada 2005 program zamieniak;{1 cal = 25.4 mm = 2.54 cm = 0.0254 m1 stopa = 12 cali = 304.8 mm = 30.48 cm = 0.3048 m1 jard = 3 stopy = 914.4 mm = 91.44 cm = 0.9144 m}uses crt;var m,wynik,c,j,s:real; zamiana:char;procedure metry;beginc:=m/0.0254;s:=m/(12*0.0254);j:=m/(3*(12*0.0254));end;beginclrscr;write('Podaj wartosc w metrach: ');readln(m);writeln('');writeln('Wybierz rodzaj dzialania: ');writeln('1 - Zamiana metrow na cale');writeln('2 - Zamiana metrow na stopy');writeln('3 - Zamiana metrow na jardy');writeln('0 - Koniec programu');writeln('');readln(zamiana);writeln('');metry;case zamiana of'0' : halt;'1' : begin Wynik:= c; writeln(''); writeln(m:4:4,' metrow to ',wynik:4:4,' cala(cali)'); readln; end;'2' : begin Wynik:= s; writeln(''); writeln(m:4:4,' metrow to ',wynik:4:4,' stop(stopy)'); readln; end;'3' : begin Wynik:= j; writeln(''); writeln(m:4:4,' metrow to ',wynik:4:4,' jardow(jarda)'); readln; end;else halt;end;end. I mam ten programik już, jak go teraz najprościej zapętlić? (repeat... until) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makatiel Opublikowano 11 Listopada 2005 Zgłoś Opublikowano 11 Listopada 2005 (edytowane) program zamieniak;beginrepeatclrscr;write('Podaj wartosc w metrach: ');(...)'3' : begin Wynik:= j; writeln(''); writeln(m:4:4,' metrow to ',wynik:4:4,' jardow(jarda)'); readln; end;else halt;end;until zamiana='0';end. O tak chyba bedzie ok. Z tym ze najpierw powinna byc mozliwosc wyjscia z programu a nie najpierw trzeba wprowadzic jakas wartosc a dopiero pozniej mozna wyjsc z programu. No i to 'else halt;' nie bardzo pasuje, moze wywalic halt:) zeby zostalo samo 'else ;' P.S fajnie sobie przypomniec pascala po 6 latach:) Edytowane 11 Listopada 2005 przez makatiel Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...