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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2013, 16:15   #1
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию Работа с файлами(Pascal ABC)

Нуждаюсь в вашей помощи!
Задание выглядит так:

А. Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля – фамилия сборщика, количество изделий, собранных им ежедневно в течение 6-дневной недели, т.е. раздельно – в понедельник, вторник и т.д. . Количество записей – произвольное.
Б. Написать программу, выдающую на печать следующую информацию: фамилию сборщика и общее количество деталей, собранное им за неделю; фамилию сборщика, собравшего наибольшее число изделий, и день, когда он достиг наивысшей производительности труда.

не получилось с этим условием((фамилию сборщика и общее количество деталей, собранное им за неделю))))
1)КАКУЮ ДЛЯ ЭТОГО НУЖНО ВСТАВИТЬ СТРОЧКУ?
2)И можно ли сделать не 1-ый,2-ой...и.т.д дни..а именно понедельник,вторник ...суббота?
код получившейся проги

Код:
  program pr;
uses crt;
type
            sbor=record
            sname:string;
            day:array[1..6] of word;
            all:longint;
    end;
var
    i,j:integer;
    n,max,maxday:word;
    sbord:array[1..1000] of sbor;
    f:text;

begin
clrscr;
assign(f,'input.txt');
rewrite(f);
write(Кол-во сборщиков: ');readln(n);
for i:=1 to n do begin
    write('Введите фамилию сборщика: ');
    readln(sbord[i].sname);
    sbord[i].all:=0;
    write(f,sbord[i].sname);
    for j:=1 to 6 do begin
        write('Кол-во деталей за ',j,' день: ');
        readln(sbord[i].day[j]);
        sbord[i].all:=sbord[i].all+sbord[i].day[j];
        write(f,sbord[i].day[j]);
    end;
    write(f,sbord[i].all);
    clrscr;
end;
max:=1;
for i:=1 to n do
    if sbord[i].all>sbord[max].all then max:=i;
    maxday:=1;
    for i:=1 to 6 do
    if sbord[max].day[i]>sbord[max].day[maxday] then maxday:=i;
writeln('Сборщик ',sbord[max].sname,' собрал максимальное кол-во деталей = ',sbord[max].all);
writeln('Собрал максимальное кол-во деталей за ',maxday,' день ');
readln;
close(f);
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования сообщения с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.03.2013 в 16:47.
Tanya-Manya вне форума Ответить с цитированием
Старый 13.03.2013, 18:21   #2
interacia
Пользователь
 
Аватар для interacia
 
Регистрация: 24.01.2013
Сообщений: 67
По умолчанию

Код:
program pr;
uses crt;
type
            sbor=record
            sname:string;
            day:array[1..6] of word;
            all:longint;
    end;
var
    i,j:integer;
    n,max,maxday:word;
    sbord:array[1..1000] of sbor;
    f:text;
Nedelia:array[1..6] of string; // дни недели

begin
Nedelia[1]:='Понедельник';
Nedelia[2]:='Вторник';
Nedelia[3]:='Среду';
Nedelia[4]:='Четверг';
Nedelia[5]:='Пятницу';
Nedelia[6]:='Субботу';
clrscr;
assign(f,'input.txt');
rewrite(f);
write('Кол-во сборщиков: ');readln(n);
for i:=1 to n do begin
    write('Введите фамилию сборщика: ');
    readln(sbord[i].sname);
    sbord[i].all:=0;
    write(f,sbord[i].sname);
    for j:=1 to 6 do begin
        write('Кол-во деталей за ',Nedelia[j],' день: ');
        readln(sbord[i].day[j]);
        sbord[i].all:=sbord[i].all+sbord[i].day[j];
        write(f,sbord[i].day[j]);
    end;
    write(f,sbord[i].all);
    clrscr;
end;
    max:=1;
 writeln('               Ф.И.О итого за неделю ');
    for i:=1 to n do
    begin
    writeln(sbord[i].sname:20,' ',sbord[i].all:15);
    if sbord[i].all>sbord[max].all then max:=i;
    end;
    maxday:=1;
    for i:=1 to 6 do if sbord[max].day[i]>sbord[max].day[maxday]  then maxday:=i;
writeln('Сборщик ',sbord[max].sname,' собрал максимальное кол-во деталей = ',sbord[max].all);
writeln('Собрал максимальное кол-во деталей за ',Nedelia[maxday],'.');
readln;
close(f);
end.
Такой вариант.
interacia вне форума Ответить с цитированием
Старый 13.03.2013, 18:58   #3
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию

Спасибо огромное!
Tanya-Manya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работы с файлами в Pascal ABC Rainer082 Паскаль, Turbo Pascal, PascalABC.NET 0 11.02.2013 21:33
Pascal abc работа с матрицами DevilSkyS Помощь студентам 0 20.11.2012 21:13
работа с файлами в паскале (abc) brus1k Помощь студентам 3 20.03.2012 00:01
Pascal ABC. задача по теме: Работа с целыми числами. lyulka Помощь студентам 3 14.12.2011 13:40