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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.02.2009, 20:33   #1
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию Задача на файл

Вставте в задачу файл (с расширением .bat)
Вот задача
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(Special ity);
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('|',Special ity);
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.
n1ce > Kuzia вне форума
Старый 02.02.2009, 20:35   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,648
По умолчанию

Цитата:
Вставте в задачу файл (с расширением .bat)
Это как?

P.S. Помещайте код программы в теги [CODE]
Arigato вне форума
Старый 02.02.2009, 21:41   #3
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Простите, что куда вставить? Можно с этого момента поподробнее...
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума
Старый 03.02.2009, 01:21   #4
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от n1ce > Kuzia Посмотреть сообщение
Вставте в задачу файл (с расширением .bat)
Имхо нужно создать типизированный файл, и в нем хранить информацию о людях. Вообщем база данных.
P.s. первую строчку программы желательно заменить, или удалить.
Вот кое-что:
http://www.programmersforum.ru/showthread.php?t=37169
http://www.programmersforum.ru/showthread.php?t=37352

Последний раз редактировалось pomoshnic; 03.02.2009 в 03:11.
pomoshnic вне форума
Старый 03.02.2009, 09:32   #5
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;
    Tfile=file of Person;{тип типизированный файл записей}
Procedure Xludi(var n:byte; var m:Tmas;var f:Tfile);{добавим в параметры}
var i,s:byte;
    fname:string;{имя файла, например base.dat}
begin
clrscr;
write('Fname: ');readln(fname);{вводим имя}
assign(f,fname);{создаем файл}
rewrite(f);{открываем для записи}
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;
     write(f,m[i]);{заносим запись в файл}
    end;
close(f);{закрываем файл}
end;
procedure MUtanti(n:byte;var f:Tfile;var m:Tmas);{добавили в параметры}
var i:byte;
    fname:string;
begin
write('Fname: ');readln(fname);{вводим то же имя файла}
assign(f,fname); {связываем с переменной}
reset(f);{открываем для чтения}
clrscr;
writeln('Dannye o Xludyah':45);
writeln;
writeln('-------------------------------------------------------------------');
writeln('|   Name  |  Surname  |    Sex   | Specialiti | Year | Month | Day|');
writeln('-------------------------------------------------------------------');
i:=0;
while not eof(f) do{пока не конец файла}
  begin
   i:=i+1;{увеличиваем счетчик}
   read(f,m[i]);{читаем очередную запись}
   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;
close(f);{закрываем файл}
end;
var sp:Tmas;
    n:byte;
    w:byte;
    g:Tfile;{переменная для файла}
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,g);{добавили параметр-файл}
    2:MUtanti(n,g,sp);
    3:exit;
    end;
  end;
end.
puporev вне форума
Старый 03.02.2009, 16:32   #6
n1ce > Kuzia
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 60
По умолчанию

спасибо puporev good :D
n1ce > Kuzia вне форума
Старый 05.02.2009, 02:33   #7
Incolour
 
Аватар для Incolour
 
Регистрация: 05.02.2009
Сообщений: 4
По умолчанию

ПОМОГИТЕ!!(по текстовым файлам)

Дан текстовый файл F.Требуется исключить пробелы,стоящие в конце строк,а также заменить на одинарные все повторные пробелы(двойные,тройные и т.д.) внутри строк.

(судя повсему тут надо создать второй файл и все туда скопировать..))
Надо обладать либо умом,чтобы понимать;
либо веревкой,чтобы повеситься..
Incolour вне форума
Старый 05.02.2009, 13:51   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,648
По умолчанию

Можно создать второй файл, затем читать первый построчно, первым делом отрезать пробелы в конце, а затем просмотреть строку посимвольно на поиск и исключение повторяющихся пробелов. Получившуюся строку сбросить во 2-й файл.
Arigato вне форума
Старый 05.02.2009, 20:15   #9
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
Подмигивание

Цитата:
Сообщение от Arigato Посмотреть сообщение
Можно создать второй файл, затем читать первый построчно, первым делом отрезать пробелы в конце, а затем просмотреть строку посимвольно на поиск и исключение повторяющихся пробелов. Получившуюся строку сбросить во 2-й файл.
Вот код по описанию Arigato:
Код:
var f1,f2:text;
    s,t:string;
    i,j:integer;
begin
assign(f1,'c:\1.txt');
assign(f2,'c:\2.txt');
 reset(f1);
rewrite(f2);
while not eof(f1) do
begin
readln(f1,s);
t:='';
for i:=1 to length(s) do
begin
j:=length(t);
if t[j]=' ' then
begin
if s[i]<>' ' then t:=t+s[i]
end else
t:=t+s[i];
end;
if t[j]=' ' then delete(t,length(t),1);
writeln(f2,t)
end;
close(f1);
close(f2);
end.
pomoshnic вне форума
Старый 06.02.2009, 13:02   #10
Incolour
 
Аватар для Incolour
 
Регистрация: 05.02.2009
Сообщений: 4
Радость

СПАСИБО ОГРОМНОЕ!!
Надо обладать либо умом,чтобы понимать;
либо веревкой,чтобы повеситься..
Incolour вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстовый файл! Задача! Straiker Паскаль, Turbo Pascal, PascalABC.NET 4 18.01.2009 10:10
задача на текстовый файл в delphi [Drumm-are-turG] Помощь студентам 1 27.12.2008 15:42
на файл задача пожалуйста Neznau Паскаль, Turbo Pascal, PascalABC.NET 13 03.06.2008 11:30
Задача на файл Foky Паскаль, Turbo Pascal, PascalABC.NET 8 08.04.2008 23:17
Задача на файл в паскале Юрии Александрович Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2007 17:08