Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2009, 19:37   #1
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию Подкоректируйте Задачу.

Составить программу в которой определить процедуру ввода в массиве элемента записи, и отдельной процедуры - просмотра массива на екране , количество элемента массива ввести в диалоговом режиме.
И надо чтоб все значения выводило в таблице.
Задача почти готова
Program n1ce;
Uses crt;
TYPE
Date = Record
Month : 1..12;
Day : 1..31;
Year : 1990..2009;
end;
Person = Record
Name,Surname : string;
Sex : (Male,Female);
Speciality : string;
Birthday : Date;
end;
var ierson;
s:byte;
w,Xmenov:integer;
Procedure Xludi;
begin
with i do
begin
write('Vvedite kolichestvo Xmenov=');readln(Xmenov);
write('Name=');readln(Name);
write('Surname=');readln(Surname);
write('Sex (0-Male; 1-Female)');readln(s);
if s=0 then sex:=male else sex:=female;
write('Speciality=');readln(Special ity);
writeln('Birthday');
WITH birthday do
begin
write('Year=');readln(Year);
write('Month=');readln(Month);
write('Day=');readln(Day);
end;
end;
writeln('\/\/\/\/\/\/\/');
WITH i do
begin
writeln('Name=',Name);
writeln('Surname=',Surname);
writeln('Sex=');if sex=male then writeln('male') else writeln('female');
writeln('Speciality=',Speciality);
writeln('Birthday:');
WITH birthday do
begin
writeln('Year=',Year);
writeln('Month=',Month);
writeln('Day=',Day);
end;
readln
end;
begin
clrscr;
textbackground(4);
textcolor(RED);
writeln('Nazmite Knopku ENTER');
w:=0;
while w<3 do
begin
writeln('Menu programmi');
writeln('1:Vvod dannih');
writeln('2:Vivod dannih na ekran');
writeln('3:Vihod iz programi');
readln(w);
case w of
1:Xludi;
2:MUtanti;
3:vihod;
end;
end;
end.
n1ce > Kuzia вне форума Ответить с цитированием
Старый 30.01.2009, 19:39   #2
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

tam ierson esli ne poniatno
n1ce > Kuzia вне форума Ответить с цитированием
Старый 30.01.2009, 19:39   #3
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

i-person ...
n1ce > Kuzia вне форума Ответить с цитированием
Старый 30.01.2009, 20:54   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Что-то сегодня эта задача не первая и даже код почти одинаковый.
Вот поправил, с цветами можешь подкорректировать, но красные буквы на красном фоне плоховато видно, можно сказать не видно.
Код:
Program n1ce;
Uses crt;
TYPE
    Date = Record
           Month : 1..12;
           Day : 1..31;
           Year : 1990..2009;
           end;
    Person = Record
             Name,Surname : string;
             Sex : (Male,Female);
             Speciality : string;
             Birthday : Date;
             end;
    Tmas = array[1..50] of Person;
Procedure Xludi(var n:byte; var m:Tmas);
var i,s:byte;
begin
clrscr;
write('Vvedite kolichestvo Xmenov=');readln(n);
for i:=1 to n do
with m[i] do
   begin
     writeln('Xmen ',i);
     write('Name=');readln(Name);
     write('Surname=');readln(Surname);
     write('Sex (0-Male; 1-Female)');readln(s);
     if s=0 then sex:=male else sex:=female;
     write('Speciality=');readln(Speciality);
     writeln('Birthday');
     with birthday do
       begin
        write('Year=');readln(Year);
        write('Month=');readln(Month);
        write('Day=');readln(Day);
       end;
    end;
end;
procedure MUtanti(n:byte;var m:Tmas);
var i:byte;
begin
clrscr;
writeln('Dannye o Xludyah':45);
writeln;
writeln('-------------------------------------------------------------------');
writeln('|   Name  |  Surname  |    Sex   | Specialiti | Year | Month | Day|');
writeln('-------------------------------------------------------------------');
for i:=1 to n do
  begin
   with m[i] do
     begin
      gotoXY(1,whereY);write('|',Name);
      gotoXY(11,whereY);write('|',Surname);
      gotoXY(23,whereY);if sex=male then write('|male') else write('|female');
      gotoXY(34,whereY);write('|',Speciality);
      with birthday do
        begin
          gotoXY(47,whereY);write('| ',Year);
          gotoXY(54,whereY);write('|  ',Month);
          gotoXY(62,whereY);write('| ',Day);
        end;
      gotoXY(67,whereY);write('|');
     end;
   writeln;
  end;
readln
end;
var sp:Tmas;
    n:byte;
    w:byte;
begin
clrscr;
textbackground(15);
textcolor(4);
writeln('Nazmite Knopku ENTER');
w:=0;
while w<3 do
  begin
    clrscr;
    writeln('Menu programmi');
    writeln('1:Vvod dannih');
    writeln('2:Vivod dannih na ekran');
    writeln('3:Vihod iz programi');
    readln(w);
    case w of
    1:Xludi(n,sp);
    2:MUtanti(n,sp);
    3:exit;
    end;
  end;
end.
puporev вне форума Ответить с цитированием
Старый 30.01.2009, 21:41   #5
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
Подмигивание

Код:
Program Pomoshnic;
Uses crt;
TYPE
Date = Record
Month : 1..12;
Day : 1..31;
Year : 1990..2009;
end;
Person = Record
Name,Surname : string[10];
Sex : (Male,Female);
Speciality : string;
Birthday : Date;
end;
var i:array [1..10] of person;
s:byte;
ni,maxi,w,Xmenov:integer;
procedure Vivod;
begin
clrscr;
writeln('------------------------------------------------------------');
writeln('|men|      name|   surname|   sex|Speciality|year|month|day|');
for ni:=1 to maxi do
begin
write('|',ni:3,'|');
WITH i[ni] do
begin
write(Name:10,'|');
write(Surname:10,'|');
if sex=male then write('  male|') else write('female|');
write(Speciality:10,'|');
WITH birthday do
begin
write(Year,'|');
write(Month:5,'|');
write(Day:3);
end;
writeln('|');
end;
end;
write('------------------------------------------------------------');
readln;
end;{Vivod}

Procedure Xludi;
begin
begin
clrscr;
write('Vvedite kolichestvo men''ov=');readln(maxi);
for ni:=1 to maxi do
with i[ni] do
begin
writeln(ni,' - men');
write('Name=');readln(Name);
write('Surname=');readln(Surname);
write('Sex (0-Male; 1-Female)');readln(s);
if s=0 then sex:=male else sex:=female;
write('Speciality=');readln(Speciality);
writeln('Birthday');
WITH birthday do
begin
write('Year=');readln(Year);
write('Month=');readln(Month);
write('Day=');readln(Day);
end;
end;
end;
end;

begin
clrscr;
textbackground(1);
textcolor(14);
writeln('Nazmite Knopku ENTER');
w:=0;
while true do
begin
clrscr;
writeln('Menu programmi');
writeln('1:Vvod dannih');
writeln('2:Vivod dannih na ekran');
writeln('3:Vihod iz programi');
readln(w);
case w of
1:Xludi;
2:Vivod;
3:halt;
end;
end;
end.
И плиз оставь мне отзыв (нажми на весы под моей аватаркой)
pomoshnic вне форума Ответить с цитированием
Старый 31.01.2009, 18:36   #6
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

спасибо парни
n1ce > Kuzia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправте задачу Екатерина А. Паскаль, Turbo Pascal, PascalABC.NET 10 09.12.2008 22:48
Решите задачу(( volk86 Паскаль, Turbo Pascal, PascalABC.NET 0 29.11.2008 19:47
Снять задачу |{ot Операционные системы общие вопросы 5 19.10.2008 18:33