Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [pascal]wprowadzanie danych do tabel, i wyprowadzanie na ekran
dabb
post 21.11.2004, 15:34:36
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 13.11.2003
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


Witam

Musze na jutro napisac pare programow w pascalu jestem przy pierwszym i juz mam problem sad.gif.

Problem jest taki:
Napisać program, który pozwala na wprowadzanie pewnej liczby zapisów. Każdy zapis obejmuje imię (ograniczone do 10 znaków) i nazwisko (ograniczone do 15 znaków) oraz wzrost (podawany w pełnych centymetrach). Liczba zapisów (nie większa niż 15) powinna być wprowadzona na początku działania programu.
Po wprowadzeniu danych program powinien wyświetlić listę zapisów (odpowiednio wyrównanych). Lista powinna być opatrzona nagłówkiem, a każdy wpis numerem porządkowym. Ostatni wiersz powinien być podkreślony, a poniżej podkreślenia powinna być wyświetlona średnia wzrostów wszystkich osób w grupie (z dokładnością do centymetra).


Wszystko zrobilem ale zatrzymalem sie przy punkcie 9 ktory jest taki:

9.Zorganizować wprowadzanie danych do tabel ImionaDryblasow, NazwiskaDryblasow, WzrostyDryblasow.
Ze względu na zdeterminowaną liczbę wpisów (zawiera ją zmienna LiczbaDryblasow) należy użyć konstrukcji For. Stąd wynika konieczność zadeklarowania dodatkowej zmiennej typu byte – jako zmiennej sterującej.


Prosze o pomoc


Kod
program prog3_1;

Uses CRT;

var
  ImionaDryblasow: array[1..15] of string[10];
  NazwiskaDryblasow: array[1..15] of string[10];
  WzrostyDryblasow: array[1..15] of byte;
  LiczbaDryblasow: byte;
  Srednia: single;
  ZS:byte; {zmienna sterujaca}
begin
repeat
writeln('Podaj liczbe osob z zakresu<1,15>');
readln(LiczbaDryblasow);
until(LiczbaDryblasow>0) and (LiczbaDryblasow<16);

writeln('Zaczynamy wprowadzanie danych dryblasow');
writeln('Zostaniesz poproszny o podanie imion, nazwisk i wzrostu');

{ ... w tym miejscu sie zatrzymalem :( }


writeln('Aby zakonczyc dzialanie programu nacisnij ENTER');
readln
end.


Ten post edytował d4b 21.11.2004, 18:00:20


--------------------
Remember to brush your teeth !
biedziak.com biuro rachunkowe w rozsądnej cenie.
Go to the top of the page
+Quote Post
ikioloak
post 21.11.2004, 16:50:04
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


for zs:=1 to liczbadryglasow do
begin
writeln('Podaj nazwisko dryblasa nr '+zs);
readln(nazwiskodryblasa[zs]);
{i tak samo z innymi danymi}
end;

Chyba ze nie zrozumialem problemu...
Go to the top of the page
+Quote Post
dabb
post 21.11.2004, 16:59:07
Post #3





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 13.11.2003
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


przy writeln('podaj nazwisko dryblasa nr ' +zs);
wywala sie blad Error 26 Type MisMatch

powinno byc:
writeln('podaj nazwisko dryblasa nr ',+zs,'');



Ok teraz mam juz dane wprowadzaone smile.gif ale kolejny problem bo z pierwszym sobie jakos poradzilem jest taki:

jak wyprowadzic dane na ekran tak jak na tym obrazku:



caly kod programy wyglada tak:
Kod
program prog3_1;

Uses CRT;

var
  ImionaDryblasow: array[1..15] of string[10];
  NazwiskaDryblasow: array[1..15] of string[10];
  WzrostyDryblasow: array[1..15] of byte;
  LiczbaDryblasow: byte;
  Srednia: single;
  ZS:byte; {zmienna sterujaca}
begin
repeat
writeln('Podaj liczbe osob z zakresu<1,15>');
readln(LiczbaDryblasow);
until(LiczbaDryblasow>0) and (LiczbaDryblasow<16);

writeln('Zaczynamy wprowadzanie danych dryblasow');
writeln('Zostaniesz poproszny o podanie imion, nazwisk i wzrostu');
writeln(' ');
writeln(' ');

for zs:=1 to LiczbaDryblasow do
begin
writeln('Podaj imie dryblasa nr ',+zs,'');
readln(ImionaDryblasow[zs]);
end;


for zs:=1 to LiczbaDryblasow do
begin
writeln('Podaj nazwisko dryblasa nr ',+zs,'');
readln(NazwiskaDryblasow[zs]);
end;


for zs:=1 to LiczbaDryblasow do
begin
writeln('Podaj wzrost dryblasa nr ',+zs,'');
readln(WzrostyDryblasow[zs]);
end;


clrscr;

writeln('Lp.        Imie        nazwisko        Wzrost');
writeln('=============================================');

{tutaj nie wiem jak te wprowadzone dane wypisac w postaci tabeli}

writeln('Aby zakonczyc dzialanie programu nacisnij ENTER');
readln;
end.


Ten post edytował d4b 21.11.2004, 18:39:45


--------------------
Remember to brush your teeth !
biedziak.com biuro rachunkowe w rozsądnej cenie.
Go to the top of the page
+Quote Post
ikioloak
post 21.11.2004, 23:22:21
Post #4





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


Idea jest ta sama.
Kod
for zs:=1 to liczbadryblasow do
writeln('  ',zs,'   ',imionadryblasow[zs],'    ',nazwiskadryblasow[zs],'   ',wzrostydryblasow[zs]);


cos takiego. Ja w pascalu nie siedze wiec moga byc bledy takie jak w poprzednim poscie.
Go to the top of the page
+Quote Post
spenalzo
post 22.11.2004, 21:20:19
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Powinieneś to zrobić na rekordach, nie pamietam dokladnie jak to było, ale rekordy są w tej sytuacji chyba najlepsze.


--------------------

Go to the top of the page
+Quote Post
ikioloak
post 24.11.2004, 14:42:39
Post #6





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


Technicznie to oczywiscie ze lepiej, ale w momencie kiedy to nie ma byc zaden specjalnie funkcjonalny program, tylko jakis tam pikus na zaliczenie to chyba moga byc tablice.. BTW: w dosowym pascalu to juz chyba zupelnie nikt nie pisze czegos w miare powaznego nie?
Go to the top of the page
+Quote Post
MoD
post 24.11.2004, 17:51:39
Post #7





Grupa: Zarejestrowani
Postów: 193
Pomógł: 0
Dołączył: 14.09.2003
Skąd: Brodnica (koło Torunia)

Ostrzeżenie: (0%)
-----


Może nie nic poważnego, do tego bardziej się przyda Object Pascal (Delphi). Ja ostatnio nawet generator haseł w DOS'owym Pascalu napisałem smile.gif. Wersja dla DOS jest bardziej przydatna do rzeczy w stylu tablica ASCII itp. Pozatym programy DOS'owe mniej pamięci zabierają winksmiley.jpg

Ten post edytował MoD 24.11.2004, 17:52:55


--------------------
Go to the top of the page
+Quote Post
Imperior
post 24.11.2004, 21:56:56
Post #8





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

Ostrzeżenie: (0%)
-----


Troszkę chyba mylicie pojęcia programu DOS'owego a konsolowego smile.gif
A konsolowe aplikacje wcale nie muszą być jakieś kiepskie, czy niepoważne.
(Zresztą w Delphi można spokojnie takie aplikacje pisać)

PS. Chyba nie musze wskazywać Linuksa, Uniksa itp. jako miejsca potencjalnych zastosowań aplikacji konsolowych?


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
ikioloak
post 24.11.2004, 22:31:12
Post #9





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


hmm. Pojec nie mylimy bo z tego co pamietam to piszac w delphi konsolowe aplikacje mozesz korzystac ze wszystkich niewidocznych komponentow delphi i ze wszystkich api jakie oferuje normalnie przy pisaniu aplikacji dla windy. a w pascalu.. no rzeczywiscie pascal w dzisiejszych czasach to nadaje sie wlasnie do testowania algorytmow i pisania jakichs pierdol.
Jesli chodzi o Linuxa/Unixa to niestety wypowiedziec sie nie moge bom niezorientowany za dobrze... Ale to sie wktotce zmieni (smile.gif) bo na laborkach wlasnie tluczemy konsole w linuxie
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 19:25