Program v Pascalu, pomůžete s opravou?
Háže mi to chybu a moc tomu nerozumím. Je to program na převádění hmotnostních jednotek a nějak to blbne. Byla bych moc ráda za opravu mé práce. Snad to nemám celý blbě. Ukazuje mi to jen 2 chyby, tak nevim. Jo a je to v programu Free Pascal. Předem děkuji všem, kteří se do toho pustí za ochotu a trpělivost. A tady je:
program prevadeni_zakladnich_jednotek_hmotnosti;
uses crt;
var mg,g,dkg,kg,t,q,a,b,c,d,e,f:integer;
co:byte;
begin
clrscr;
writeln('=======================================');
writeln('Program na převádění jednotek hmotnosti');
writeln('=======================================');
writeln('Vysvětlivky: ');
writeln('------------ ');
writeln(' mg = miligram ');
writeln(' g = gram ');
writeln(' dkg = dekagram ');
writeln(' kg = kilogram ');
writeln(' q = metrický cent ');
writeln(' t = tuna ');
writeln('=======================================');
writeln('Vyber číslo počáteční jednotky: ');
writeln('mg....................................1');
writeln('g.....................................2');
writeln('dkg...................................3');
writeln('kg....................................4');
writeln('q.....................................5');
writeln('t.....................................6');
writeln('Zadej číslo od jedničky do šestky podle předchozí tabulky!: ');
read(co);
if co=1 then
writeln('Zadej počáteční hodnotu v mg: ');
read(a);
g:= a DIV 1000;
dkg:= a DIV 10000;
kg:= a DIV 1000000;
q:= a DIV 100000000;
t:= a DIV 1000000000;
writeln(',a,'miligramů je ',g,'gramů, ',dkg,' dekagramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
if co=2 then
writeln('Zadej počáteční hodnotu v g: ');
read(b);
mg:= b*1000;
dkg:= b DIV 10;
kg:= b DIV 1000;
q:= b DIV 100000;
t:= b DIV 1000000;
writeln(',b,'gramů je ',mg,'miligramů, ',dkg,' dekagramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
if co=3 then
writeln('Zadej počáteční hodnotu v dkg: ');
read(c);
mg:= c*10000;
g:= c*10;
kg:= c DIV 100;
q:= c DIV 10000;
t:= c DIV 100000;
writeln(',c,'dekagramů je ',mg,'miligramů, ',g,' gramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
if co=4 then
writeln('Zadej počáteční hodnotu v kg: ');
read(d);
mg:= d*1000000;
g:= d*1000;
dkg:= d*100;
q:= d DIV 100;
t:= d DIV 1000;
writeln(',d,'kilogramů je ',mg,'miligramů, ',g,' gramů, ',dkg,'dekagramů, ',q,'metrických centů a ',t,'tun.');
if co=5 then
writeln('Zadej počáteční hodnotu v q: ');
read(e);
mg:= e*100000000;
g:= e*100000;
dkg:= e*10000;
kg:= e*100;
t:= e DIV 10;
writeln(',e,'metrických centů je ',mg,'miligramů, ',g,' gramů, ',dkg,'dekagramů, ',kg,'kilogramů a ',t,'tun.');
if co=6 then
writeln('Zadej počáteční hodnotu v t: ');
read(f);
mg:= f*1000000000;
g:= f*1000000;
dkg:= f*100000;
kg:= f*1000;
q:= f*10;
writeln(',f,'tun je ',mg,'miligramů, ',g,' gramů, ',dkg,'dekagramů, ',kg,'kilogramů a ',q,'metrických centů.');
repeat until keypressed;
end.
program prevadeni_zakladnich_jednotek_hmotnosti;
uses crt;
var mg,g,dkg,kg,t,q,a,b,c,d,e,f:integer;
co:byte;
begin
clrscr;
writeln('=======================================');
writeln('Program na převádění jednotek hmotnosti');
writeln('=======================================');
writeln('Vysvětlivky: ');
writeln('------------ ');
writeln(' mg = miligram ');
writeln(' g = gram ');
writeln(' dkg = dekagram ');
writeln(' kg = kilogram ');
writeln(' q = metrický cent ');
writeln(' t = tuna ');
writeln('=======================================');
writeln('Vyber číslo počáteční jednotky: ');
writeln('mg....................................1');
writeln('g.....................................2');
writeln('dkg...................................3');
writeln('kg....................................4');
writeln('q.....................................5');
writeln('t.....................................6');
writeln('Zadej číslo od jedničky do šestky podle předchozí tabulky!: ');
read(co);
if co=1 then
writeln('Zadej počáteční hodnotu v mg: ');
read(a);
g:= a DIV 1000;
dkg:= a DIV 10000;
kg:= a DIV 1000000;
q:= a DIV 100000000;
t:= a DIV 1000000000;
writeln(',a,'miligramů je ',g,'gramů, ',dkg,' dekagramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
if co=2 then
writeln('Zadej počáteční hodnotu v g: ');
read(b);
mg:= b*1000;
dkg:= b DIV 10;
kg:= b DIV 1000;
q:= b DIV 100000;
t:= b DIV 1000000;
writeln(',b,'gramů je ',mg,'miligramů, ',dkg,' dekagramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
if co=3 then
writeln('Zadej počáteční hodnotu v dkg: ');
read(c);
mg:= c*10000;
g:= c*10;
kg:= c DIV 100;
q:= c DIV 10000;
t:= c DIV 100000;
writeln(',c,'dekagramů je ',mg,'miligramů, ',g,' gramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
if co=4 then
writeln('Zadej počáteční hodnotu v kg: ');
read(d);
mg:= d*1000000;
g:= d*1000;
dkg:= d*100;
q:= d DIV 100;
t:= d DIV 1000;
writeln(',d,'kilogramů je ',mg,'miligramů, ',g,' gramů, ',dkg,'dekagramů, ',q,'metrických centů a ',t,'tun.');
if co=5 then
writeln('Zadej počáteční hodnotu v q: ');
read(e);
mg:= e*100000000;
g:= e*100000;
dkg:= e*10000;
kg:= e*100;
t:= e DIV 10;
writeln(',e,'metrických centů je ',mg,'miligramů, ',g,' gramů, ',dkg,'dekagramů, ',kg,'kilogramů a ',t,'tun.');
if co=6 then
writeln('Zadej počáteční hodnotu v t: ');
read(f);
mg:= f*1000000000;
g:= f*1000000;
dkg:= f*100000;
kg:= f*1000;
q:= f*10;
writeln(',f,'tun je ',mg,'miligramů, ',g,' gramů, ',dkg,'dekagramů, ',kg,'kilogramů a ',q,'metrických centů.');
repeat until keypressed;
end.
Odpovědi
Diskuze
prevody1.pas(49,14) Fatal: Syntax error, ")" expected but "identifier MILIGRAM found"
prevody1.pas(0) Fatal: Compilation aborted
writeln(',a,'miligramů je ',g,'gramů, ',dkg,' dekagramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
Nema tam nejt ten apostrof a carka na zacatku, melo by to bejt takhle:
writeln(a,'miligramů je ',g,'gramů, ',dkg,' dekagramů, ',kg,'kilogramů, ',q,'metrických centů a ',t,'tun.');
A taky by tam místo DIV mělo bejt normální dělení, DIV je celočíselný dělení, tj. místo
g:= a DIV 1000;
by mělo být
g:= a/1000;
(vždycky, když chceš poradit a píšeš, že ti něco hlásí chyby, tak napiš, JAKOU chybu a případně KDE).
http://www.freepascal.org/docs-html/rtl/crt/readkey.html
Ale nevim, zeptej se neějakýho odporníka na Free Pascal, to já nejsem
writeln('Jak se vede?');) atd.)
???"
Asi je to zbytečná otázka, já myslím, že neplatí, ale jen už si nevim rady, jak to udělat, aby se mi zobrazoval ten text celý a ne jen pár koncovejch řádků.
Kdyby někdo potřeboval upřesnit, pošlu klidně mailem (pokud to půjde).
Jinak dík moc všem, fajn tady radíte =)