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.
Cradle of Filth [ Konsul ]
UP!
reik [ Pretorianin ]
ja bym potrafił.
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.
Kijano [ Generaďż˝ ]
tam w miejsce mie.nazwa powinno byc mie[ i ].nazwa taksamo w miejsu gdzie jest wed.nazwa
Cradle of Filth [ Konsul ]
Kijano---->dzieki ci wielkie....mam jeszcze pytanko...dlaczego przy string jest [20] ???
Cradle of Filth [ Konsul ]
i co to jest "dodanie:boolean" ???
wysiu [ ]
"dlaczego przy string jest [20] "
"co to jest "dodanie:boolean""
Moze zapoznaj sie z podstawami jezyka, zanim zabierzesz sie za programy..
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
Cradle of Filth [ Konsul ]
write('Podaj nazwe : '); ‹sam tu dokoncz›
a jak mam tu dokonczyc??
Cradle of Filth [ Konsul ]
nie dziala ten program, nawet sie skompilowac nie da bo jest zle napisany :/
czy ktos potrafi napisac dobrze??
ronn [ moralizator ]
Nie pamietam juz pascala.. ale czy funcja biblioteczna sluzaca do wypisywania na ekran nie nazywa sie przypadkiem : "writeln"?
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]
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.
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??
Cradle of Filth [ Konsul ]
to [ i ]
Kijano [ Generaďż˝ ]
napewno sie da
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?)
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.