GRY-Online.pl --> Archiwum Forum

Turbo Pascal 7.0 pomocy!!

10.01.2006
11:08
smile
[1]

Cradle of Filth [ Konsul ]

Turbo Pascal 7.0 pomocy!!

kto potrafilby napisac taki program w turbo pascalu??

Napisz program wstawiający do tablicy rekordów informacje o wędlinach i mięsie: Jeżeli produkt jest wedliną to: -nazwa wyrobu, -cena jednostkowa. Jeżeli produkt jest mięsem to:-rodzaj miesa (wieprzowina,wolowina itp..), -cena jednostkowa, -nazwa czesci rzezniczej(np. lopatka,szynka,mostek). Wśród danych w tablicy odszukac nazwy tych wyrobów miesnych, których rodzaj mięsa okresla użytkownik. Wypisana jest na ekranie cena i nazwa czesci rzezniczej.

10.01.2006
12:23
smile
[2]

Cradle of Filth [ Konsul ]

UP!

10.01.2006
12:37
[3]

reik [ Pretorianin ]

ja bym potrafił.

10.01.2006
12:54
[4]

Kijano [ Generaďż˝ ]

program rzeznia;
uses crt;

type wedliny = record
nazwa:string[20];
cena:real;
end;

type mieso = record
rodzaj:string[20];
cena:real;
nazwa:string[20];
end;

var
wed:array[1..10] of wedliny;
mie:array[1..10] of mieso;
dodanie:boolean;
c:char;
i:integer;
czescszukana:string;

procedure dodaj;

begin
clrscr;
write('Czy produkt jest miesem[m] czy wedlina[w] : [m/w] ');
while (c<>'w') and (c<>'m') do c:=readkey;

if (c='m') then for i:=1 to 10 do if (mie.nazwa = '') and (dodanie=false) then begin
write('Podaj nazwe : '); ‹sam tu dokoncz›

dodanie:=true;
end;
if (c='w') then for i:=1 to 10 do if (wed.nazwa = '') and (dodanie=false) then begin
write('Podaj nazwe : ');readln(wed.nazwa);
write('Podaj cene : '); readln(wed.cena);
dodanie:=true;
end;
dodanie:=false;
end;

procedure wyszukaj;
begin
clrscr;
write('Podaj jakas czesc :');readln(czescszukana);
for i:=1 to 10 do if mie.rodzaj = czescszukana then begin
writeln(mie.nazwa);
writeln(mie.rodzaj);
writeln(mie.cena);
end;
readln;
end;

begin
repeat
clrscr;
writeln('1.Dodaj Produkt');
writeln('2.Wyszukaj');
writeln('3.Wyjscie');
c:=readkey;
if c='2' then wyszukaj;
if c='1' then dodaj;
until c='3';
end.

Kompilowane w Dev Pascalu.

10.01.2006
12:56
[5]

Kijano [ Generaďż˝ ]

tam w miejsce mie.nazwa powinno byc mie[ i ].nazwa taksamo w miejsu gdzie jest wed.nazwa

10.01.2006
14:36
[6]

Cradle of Filth [ Konsul ]

Kijano---->dzieki ci wielkie....mam jeszcze pytanko...dlaczego przy string jest [20] ???

10.01.2006
15:06
[7]

Cradle of Filth [ Konsul ]

i co to jest "dodanie:boolean" ???

10.01.2006
15:08
[8]

wysiu [ ]

"dlaczego przy string jest [20] "
"co to jest "dodanie:boolean""

Moze zapoznaj sie z podstawami jezyka, zanim zabierzesz sie za programy..

10.01.2006
16:26
smile
[9]

GADU [ Pretorianin ]

my GOD! wysiu ma calkowita racje. Nie ma to jak wykonywanie zadania przez osobe ktora nie ma o nim najmniejszego pojecia. Obys wiedzial jak to skompilowac...
string[20]-20-elementowa tablica znakow, czyli max 20-literowy wyraz
zmienna typu boolean- zmienna logiczna, przyjmuje wartosci ‹0,1›

BIG LOL

10.01.2006
17:38
smile
[10]

Cradle of Filth [ Konsul ]

write('Podaj nazwe : '); ‹sam tu dokoncz›


a jak mam tu dokonczyc??

10.01.2006
18:03
smile
[11]

Cradle of Filth [ Konsul ]

nie dziala ten program, nawet sie skompilowac nie da bo jest zle napisany :/

czy ktos potrafi napisac dobrze??

10.01.2006
18:06
[12]

ronn [ moralizator ]

Nie pamietam juz pascala.. ale czy funcja biblioteczna sluzaca do wypisywania na ekran nie nazywa sie przypadkiem : "writeln"?

10.01.2006
18:09
[13]

Ayertienna [ Konsul ]

LOL czlowieku....
ile potrafisz zrobic sam?
odczytywanie bledow pascala tez sztuka...
co wywala? [komp po formacie, nie mam kompilatora..]

ad funkcji
writeln- wypisuje to co podasz+nowa linia
write - bez znaku nowej linii :)

Wypowiedź została zmodyfikowana przez jej autora [2006-01-10 18:10:31]

10.01.2006
18:21
[14]

Kijano [ Generaďż˝ ]

czlowieku dalem ci gotowca jedyne co masz zrobic to dopisac tam gdzie brakuje [ i ] bo GOL zjadl sobie to i dopisac 2 linijki z readln widocznie za trudne zmienilem to [ i ] na [ d ] te 2 linijki dopisz sobie sam

program rzeznia;
uses crt;

type wedliny = record
nazwa:string[20];
cena:real;
end;

type mieso = record
rodzaj:string[20];
cena:real;
nazwa:string[20];
end;

var
wed:array[1..10] of wedliny;
mie:array[1..10] of mieso;
dodanie:boolean;
c:char;
d:integer;
czescszukana:string;

procedure dodaj;

begin
clrscr;
write('Czy produkt jest miesem[m] czy wedlina[w] : [m/w] ');
while (c<>'w') and (c<>'m') do c:=readkey;

if (c='m') then for d:=1 to 10 do if (mie[d].nazwa = '') and (dodanie=false) then begin
write('Podaj nazwe : ');

dodanie:=true;
end;
if (c='w') then for d:=1 to 10 do if (wed[d].nazwa = '') and (dodanie=false) then begin
write('Podaj nazwe : ');readln(wed[d].nazwa);
write('Podaj cene : '); readln(wed[d].cena);
dodanie:=true;
end;
dodanie:=false;
end;

procedure wyszukaj;
begin
clrscr;
write('Podaj jakas czesc :');readln(czescszukana);
for d:=1 to 10 do if mie[d].rodzaj = czescszukana then begin
writeln(mie[d].nazwa);
writeln(mie[d].rodzaj);
writeln(mie[d].cena);
end;
readln;
end;

begin
repeat
clrscr;
writeln('1.Dodaj Produkt');
writeln('2.Wyszukaj');
writeln('3.Wyjscie');
c:=readkey;
if c='2' then wyszukaj;
if c='1' then dodaj;
until c='3';
end.

10.01.2006
18:54
[15]

Cradle of Filth [ Konsul ]

dzieki juz teraz dziala bo wczesniej nie wszedzie wpisalem to ....ja jestem dopiero początkujący...czy nie daloby sie napisac tego programu jakos prosciej??

10.01.2006
18:55
[16]

Cradle of Filth [ Konsul ]

to [ i ]

10.01.2006
19:00
[17]

Kijano [ Generaďż˝ ]

napewno sie da

11.01.2006
09:39
[18]

GADU [ Pretorianin ]

wlasnie widac ze jestes poczatkujacy... bardzo, ale twoja grupa juz tak bardzo poczatkujaca nie jest bo to jest program dla ludzi po 1 semestrze nauki pascala.
czy da sie tu cos ulatwic? ewentualnie jak nie znasz procedur to wladowac wszystko do maina :)
ja w pascalu napisalem moze ze 3 programy ale kod jest jasny i przejrzysty.
(pytanie tylko jedno do autora od glodnego wiedzy ;p :) : po co uzywasz zmiennej boolean dodawanie w procedurze dodajacej?)

11.01.2006
13:18
[19]

Kijano [ Generaďż˝ ]

ona jest po to zebys mogl wpisac tylko jeden produkt naraz. bez niej musial bys klepac 10 produktow. ewentualnie da sie to zrobic inaczej poprzez zamiane dodawanie:=true na d:=10 efekt ten sam.

© 2000-2024 GRY-OnLine S.A.