Pomoc w dokończeniu programu w Turbo Pascalu
Witam, ogromnie bym prosił o dokończenie tego programu:
[URL=http://www.fotosik.pl/showFullSize.php?id=80afdf2e45197315][IMG]http://images31.fotosik.pl/252/80afdf2e45197315m.jpg[/IMG][/URL]
Po słowie end; na obrazku dalej jest ten kod:
[code]repeat
writeln ('Podaj kolor : Biały : B, Czerwony : C, Zielony : Z, Niebieski : N, Srebrny : S');
readln (znak);
until (Upcase (znak) ; n ['B','C','Z','N','S']);
case Upcase (znak) of
'B':Samochod.kolor:=bialy;
'C':Samochod.kolor:=czerwony;
'Z':Samochod.kolor:=zielony;
'S':Samochod.kolor:=srebrny;
end;
writeln ('Podaj numer rejestracyjny');
readln (Samochod.NumerRejestracyjny);
writeln ('Podaj numer nadwozia');
readln (Samochod.NumerNazdwozia);
writeln ('Podaj numer silnika');
readln (Samochod.NumerSilnika);
writeln ('Podaj przebieg');
readln (Samochod.Przebieg);
i:=1;
repeat
writeln ('Podaj dodatkowe wyposażenie');
readln (Samochod.DodatkoweWyposazenie[i]);
i:=i+1;
writeln ('Czy chcesz dodać dodatkowe wyposażenie (T/N)');
readln (Znak);
Znak:=Upcase (Znak);
Until (i=11) or (Znak='N');
[/code]
Tak więc, już dużo mam zrobione i prosił bym o dokończenie tak aby on działał. Z góry ogromnie dziękuję.
Odpowiedzi: 1
Nie będę za Ciebie pisał programu. Mogę co najwyżej wrzucić taki mój stary projekt - może Ci on rozjaśni sytuację. W obu przypadkach jest to kwestia rozgryzienia tablicy rekordów - jak mniemam.
[code]program Project;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
mojrekord:record
imie, nazwisko :string[40];
ocena1, ocena2, ocena3:real;
end;
plik, plik2, plik3: TextFile;
zn:char;
nr:integer;
nazwa, nazwa2,a, submenu:string;
////////////////////////////////////////////////
Label
pmenu,psubmenu;
/////////////////////////////////////////////////
function srednia (var a, b, c:real) :real;
var
x:integer;
begin
x:=0;
If mojrekord.ocena1<>0 then x:=x+1;
If mojrekord.ocena2<>0 then x:=x+1;
If mojrekord.ocena3<>0 then x:=x+1;
srednia:=a+b+c/x;
end;
//////////////////////////////
begin
AssignFile(plik,'moje.txt');
If FileExists('moje.txt') then Append(plik)
else Rewrite(plik);
pmenu :
writeln('|::::::::::::::::::::::::::::::::|');
writeln('| .:MENU:. |');
writeln('|--------------------------------|');
writeln('| 1. Lista Studentow |');
writeln('|--------------------------------|');
writeln('| 2.Eksport Listy |');
writeln('|--------------------------------|');
writeln('| 3.Import |');
writeln('|--------------------------------|');
writeln('| 0.Zakoncz program |');
writeln('|::::::::::::::::::::::::::::::::|');
writeln(' ');
writeln('Witaj w programie, ktory ma na celu organizacje laboratoriow studenckich.');
writeln('Co chcesz zrobic?');
writeln('Aby dostac sie do opcji studentow, wpisz 1');
writeln('Aby dostac sie do opcji eksportu, wpisz 2');
writeln('Aby dostac sie do opcji importu, wpisz 3');
writeln('Aby zakonczyc program wpisz 0 ');
Readln(nr);
While nr<>0 do
begin
If nr=1 then
begin
psubmenu:
Reset(plik);
If EoF(plik) then Writeln('Plik nie zawiera danych')
else
begin
repeat;
Read(plik,zn);
Write(zn);
until EoF(plik);
end;
Writeln('Czy chcesz dodac studenta? ');
Writeln('Wpisz: tak lub nie');
Readln(submenu);
If submenu='tak' then
begin
Writeln('Imie?');
Readln(mojrekord.imie);
Writeln('Nazwisko?');
Readln(mojrekord.nazwisko );
Writeln('Ocena1?');
Readln(mojrekord.ocena1);
Writeln('Ocena2?');
Readln(mojrekord.ocena2);
Writeln('Ocena3?');
Readln(mojrekord.ocena3);
Append(plik);
Write(plik,mojrekord.imie);
Write(plik,' ',mojrekord.nazwisko);
Writeln(plik,' ',srednia(mojrekord.ocena1, mojrekord.ocena2, mojrekord.ocena3):3:2);
Writeln('Nacisnij dowolny klawisz, by kontynuowac');
Readln;
goto psubmenu;
end;
If submenu='nie' then
begin
goto pmenu;
end
else
Writeln('Miales wpisac: Tak lub Nie');
end;
if nr=2 then
begin
a:=' ';
writeln('Podaj nazwe pliku do eksportowania');
readln(nazwa);
assign(plik2, nazwa);
rewrite(plik2);
if eof(plik) then writeln('Plik nie zawiera danych')
else
begin
repeat;
Read(plik,zn);
a:=a+zn;
until EoF(plik);
end;
Writeln(plik2,a);
Write('Nacisnij dowolny klawisz, aby kontynuowac');
Readln;
CloseFile(plik2);
goto pmenu;
end;
If nr=3 then
begin
a:=' ';
Writeln('Podaj sciezke pliku do zaimportowania');
Readln(nazwa2);
AssignFile(plik3,nazwa2);
Reset(plik3);
if eof(plik3) then writeln('Plik jest pusty')
else
begin
repeat;
read(plik3,zn);
a:=a+zn;
until eof(plik3);
end;
rewrite(plik);
writeln(plik,a);
writeln(a);
readln;
close(plik3);
goto pmenu;
end;
end;
close(plik);
end.
[/code]
Strona 1 / 1