Skocz do zawartości


Zdjęcie

[Turbo Pascal] Program ''baza danych sklepu komputerowego''


  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 mkazik

mkazik

    Nowy

  • 3 postów

Napisano 28 12 2010 - 18:30

Witam,
Dostałem projekt na zaliczenie z podstaw programowania, mecze się z nim już trzeci dzień i szału dostaje bo za nic poprawnie nie mogę go napisać, czasu tez za dużo nie mam, wiec pierwszy raz w życiu proszę kogoś przez internet o pomoc:) program ma wyglądać następująco;

- 5 rodzajów komputerów
- sprzedaż dzienna
- sprzedaż narastająca
- sumowanie dziennej sprzedaży
- dodawanie narastająco dziennej sprzedaży
- program ma zawierać menu sprzedaży
- możliwość wprowadzenia nowej ilości komputerów

jeżeli ktoś będzie miał czas i ochotę mi pomóc z góry dziękuje.

  • 0

#2 keddie

keddie

    Początkujący

  • 15 postów

Napisano 29 12 2010 - 10:09

Przede wszystkim podaj konkretną stawkę - nie sądzisz chyba, że ktoś będzie marnował swój czas za free xD

  • 0

#3 mkazik

mkazik

    Nowy

  • 3 postów

Napisano 30 12 2010 - 14:38

Dobrze wiec tyle byłem w stanie napisać to prawie wszystko co mam zrobić brakuje tylko sumowania i ustawienia narastająco sprzedaży, jeżeli ktoś mi pomorze to będę bardzo wdzięczny, mile widziane poprawki w samym programie nie mówię ze jestem najlepszy wiec pewnie parę błędów będzie.




program sklep_Komputerowy;
uses crt;
type
dane=record
nazwa_towaru:string[20];
cena:string[20];
nr:integer;
ilosc:string[10];
typ:string[20];
end;
var
licznik:byte;
dane1:dane;
plik:file of dane;
wybrany_klawisz:char;

Procedure wstep;
Begin
Writeln('*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*');
Writeln('*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*');
Writeln('*-*- -*-*');
Writeln('*-*- Projekt Na Programowanie 2010r -*-*');
Writeln('*-*- Temat Projektu: -*-*');
Writeln('*-*- Napisz program obslugujacy sklep Komputerowy -*-*');
Writeln('*-*- -*-*');
writeln('*-*- Created by Michał Król -*-*');
Writeln('*-*- -*-*');
Writeln('*-*- Aby kontynuowac nacisnij Dowolny Klawisz -*-*');
Writeln('*-*- -*-*');
Writeln('*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*');
Writeln('*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*');
Repeat until keypressed;
End;

function istnieje_plik(nazwa_pliku:string):boolean;
begin
(*$i-*)
assign(plik,nazwa_pliku);
reset(plik);
(*$i+*)
if ioresult=0 then
begin
close(plik);
istnieje_plik:=true;
end
else
istnieje_plik:=false;
end;


procedure tworzenie_nowego_pliku;
var
nowy_plik:boolean;
begin
clrscr;
nowy_plik:=true;
textcolor(yellow);
if Istnieje_plik('sklep.dan') then
begin
writeln('Wszystkie dotychczasowe dane zostana usuniete z pliku.');
writeln;
repeat
write('Wykonywac dalej? (T)ak/(N)ie');
readln(Wybrany_klawisz);
until wybrany_klawisz in ['T','t','N','n'];
if wybrany_klawisz in['N','n'] then
nowy_plik:=false;
end;
if nowy_plik then
begin
assign(plik,'sklep.dan');
rewrite(plik);
close(plik);
end;
end;


procedure wprowadzanie_danych;
begin
clrscr;
writeln('Wprowadzanie danych');
textcolor(yellow);
if istnieje_plik('sklep.dan') then
begin
assign(plik,'sklep.dan');
reset(plik);
seek(plik,filesize(plik));
writeln;
writeln('Rezygnacja >>X<<+>>Enter<<');
textcolor(lightblue);
repeat
writeln;
write('Podaj nazwe towaru: ');
readln(dane1.nazwa_towaru);
if ((dane1.nazwa_towaru<>'X') and (dane1.nazwa_towaru<>'x')) then
begin
write('Podaj cene towaru:');
readln(dane1.cena);
write('Podaj ilo˜† sprzedanego towaru: ');
readln(dane1.ilosc);
dane1.nr:=filepos(plik);
write(plik,dane1);
end;
until (dane1.nazwa_towaru='X') or (dane1.nazwa_towaru='x');
close(plik);
end;
end;

procedure wypisywanie_danych;
begin
clrscr;
licznik:=0;
if istnieje_plik('sklep.dan') then
begin
assign(plik,'sklep.dan');
reset(plik);
textcolor(white);
writeln('-----------------------------------------------------------');
writeln('Nr Nazwa towaru Cena Ilosc');
writeln('-----------------------------------------------------------');
textcolor(yellow);
while not eof(plik) do
begin
licznik:=licznik+1;
read(plik,dane1);
gotoxy(1,licznik+4);
write(dane1.nr);
gotoxy(12,licznik+4);
write(dane1.nazwa_towaru);
gotoxy(37,licznik+4);
write(dane1.cena);
gotoxy(54,licznik+4);
write(dane1.ilosc);
if licznik=21 then
begin
readln;
clrscr;
licznik:=0;
end;
end;
textcolor(white);
gotoxy(1,licznik+6);
writeln('***********************************************************');
close(plik);
end;
end;


procedure pojedynczy_towar;
var
szukany_towar:string[25];
towar_jest_w_pliku:boolean;
begin
clrscr;
if istnieje_plik('sklep.dan') then
begin
towar_jest_w_pliku:=false;
write('Prosze podac nazwe poszukiwanego towaru: ');
readln(szukany_towar);
assign(plik,'sklep.dan');
reset(plik);
writeln;
textcolor(red);
if eof(plik) then
writeln('W pliku nie ma zadnego zapisu.');
textcolor(white);
while not eof(plik) do
begin
read(plik,dane1);
if dane1.nazwa_towaru=szukany_towar then
begin
writeln('Nazwa towaru....................',dane1.nazwa_towaru);
writeln('Cena............................',dane1.cena);
writeln('Ilosc sprzedanego towaru........',dane1.ilosc:1);
writeln('Nr towaru.......................',dane1.nr);
towar_jest_w_pliku:=true;
end;
end;
if not towar_jest_w_pliku then
writeln('Szukany towar nie znajduje sie w spisie!!!');
close(plik);
end;
end;


procedure usuwanie_towaru;
var
okno_tymczasowe:file of dane;
usuwany_numer:integer;
begin
writeln;
if istnieje_plik('sklep.dan') then
begin
assign(plik,'sklep.dane');
reset(plik);
textcolor(lightRed);
writeln('Prosze podac numer usuwanego towaru: ');
readln(usuwany_numer);
assign(okno_tymczasowe,'czasowe.dan');
rewrite(okno_tymczasowe);
while not eof(plik) do
begin
read(plik,dane1);
if (dane1.nr)<>usuwany_numer then
begin
dane1.nr:=filepos(okno_tymczasowe);
write(okno_tymczasowe,dane1);
end;
end;
close(plik);
close(okno_tymczasowe);
erase(plik);
rename(okno_tymczasowe,'sklep.dan');
end;
end;


procedure zmiany;
var
podany_numer:integer;
begin
clrscr;
if istnieje_plik('sklep.dan') then
begin
textcolor(lightgreen);
assign(plik,'sklep.dan');
reset(plik);
write('Prosze podac numer towaru, ktorego dane maja byc zmienione.');
readln(podany_numer);
seek(plik,podany_numer);
(*$I-*)
read(plik,dane1);
(*$I+*)
if ioresult=0 then
begin
textcolor(white);
writeln;
writeln('dotychczasowe dane sprzedazy');
writeln('-----------------------------------------------------------');
writeln;
textcolor(yellow);
writeln('Nazwa towaru...............:',+dane1.nazwa_towaru);
writeln('Cena towaru................:',+dane1.cena);
writeln('Ilosc sprzedanego towaru...:',+dane1.ilosc);
seek(plik,podany_numer);
writeln;
textcolor(white);
writeln('-----------------------------------------------------------');
writeln;
textcolor(lightred);
writeln('Nowe dane sprzedanych towarow');
writeln('-----------------------------------------------------------');
writeln;
textcolor(white);
write('Nazwa towaru...........:');
readln(dane1.nazwa_towaru);
write('Cena towaru............:');
readln(dane1.cena);
write('Ilosc..................:');
readln(dane1.ilosc);
write(plik,dane1);
close(plik);
end;
end;
end;


procedure koniec;
begin
halt;
end;
function menu:char;
var
znak:char;
Tak_Nie:char;
begin
write('Dane');
repeat
clrscr;
writeln('Wybierz');
writeln('1-Tworzenie nowego pliku');
writeln('2-Wprowadzanie danych');
writeln('3-Wypisz wszystkie dane');
writeln('4-Wskaz pojedynczy towar');
writeln('5-Usuniecie wskazanego towaru');
writeln('6-Zmiany danych sprzedazy');
writeln('0-Koniec');
readln(znak);
case znak of
'1':tworzenie_nowego_pliku;
'2':wprowadzanie_danych;
'3':wypisywanie_danych;
'4':pojedynczy_towar;
'5':usuwanie_towaru;
'6':zmiany;
'0':koniec;
end;
writeln('Czy chesz wykonac kolejna czynnosc? (T)ak');
Tak_Nie:=Upcase(readkey);
until not(Tak_Nie='T');
end;


begin
clrscr;
textcolor(lightgreen);
wstep;
menu;
end.

Użytkownik Katarina edytował ten post 31 12 2010 - 16:17

  • 0

#4 mkazik

mkazik

    Nowy

  • 3 postów

Napisano 09 01 2011 - 10:23

Dzięki za pomoc, wszystko musiałem zrobić sam, zero pomocy!!! Tylko jakiś palant chciał wycisnąć ode mnie pieniądze. Narazie temat do zamknięcia

  • 0

Zobacz więcej tematów z tagiem: Turbo Pascal



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych