С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 21.05.2010
Сообщений: 27
1

ввести из текстового файла данные для массива структур

22.05.2010, 14:40. Показов 1747. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем! нужна срочно помощь по паскалю, можно во фриланс. p.s любой труд должен оплачиваться=))

Задание.
Ввести из текстового файла данные для массива структур, записать их в типизированный файл и выполнить действия в соответствии со своим вариантом.

Структура STUDENT содержит следующие поля:
- фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов).
Выполнить следующие действия:
- вывод на дисплей фамилий и номеров групп всех студентов, имеющих оценки 4 и 5;
- если таких студентов нет, вывести соответствующее сообщение.


пример задания из методички
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
program kr1_5;   {название программы}
 
uses
  crt;{подключение модуля для работы с экраном}
 
type
  stroka = string[30];
  tovar = record   {объявление записи}
    ima: string[19];   {название товара}
    izg: string[10];   {имя изготовителя}
    god: integer;   {год выпуска}
    gar: integer;   {гарантия}
    cena: integer;   {цена}
  end;
 
var{объявление переменных}
  tov: text;
  tovtip: file of tovar;
  izgot: string;
  z, i, o, np, vp, j, k: integer;
  st, p, r: array[1..25] of tovar;
  pr: array[1..30] of integer;
  temp: tovar;
  pos1: byte;
  namefilein, namefileout: stroka;
 
begin
  write('Введите имя входного файла');
  readln(namefilein);
  write('Введите имя выходного файла');
  readln(namefileout);
  assign(tov, namefileout);
  reset(tov);
  reset(tovar);
  clrscr;
  writeln('':30, 'Список электротоваров');
  writeln('Наименование товара', '':5, 'Производитель', '':7, 'Год', '':5, 'Гарантия', '':4, 'Цена');
  readln;
  z := 1;
  repeat
    readln(tov, st[z].ima, st[z].izg, st[z].god, st[z].gar, st[z].cena);
    writeln(st[z].ima, '':6, st[z].izg, '':7, st[z].god, '':7, st[z].gar, '':7, st[z].cena);
    write(tovtip, st[z]);
    z := z + 1;
  until eof(tov);
  for i := 1 to z do
  begin
    pos1 := pos('', st[i].izg);
    while pos1 > 0 do
    begin
      delete(st[i].izg, pos1, 1);
      pos1 := pos('', st[i].izg);
    end;
  end;
  writeln('Количество товаров', z);
  readln;
  write('Введите изготовителя:');
  readln(izgot);
  write('Введите нижний предел цены:');
  readln(np);
  write('Введите верхний предел цены:');
  readln(vp);
  writeln(' Отсортированный список:');
  writeln;
  k := 0;
  for i := 1 to z do
    if(st [i].izg = izgot) and (st[i].cena >= np) and (st[i].cena <= vp) and (st[i].god >= 2002) and (st[i].gar >= 12) then
    begin
      k := k + 1;
      r[k] := st[i];
    end;
  for j := 1 to k - 1 do
    for i := j + 1 to k do
      if r[i].ima < r[j].ima then
      begin
        temp := r[i];
        r[i] := r[j];
        r[j] := temp;
      end;
  writeln('Количество найденных товаров', k);
  for i := 1 to k do
    writeln(r[i].ima, '':6, r[i].izg, '':7, r[i].god, '':7, r[i].gar, '':7, r[i].cena);
  readln;
  close(tov);
  close(tovar);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2010, 14:40
Ответы с готовыми решениями:

Ввести из текстового файла данные для массива структур, записать их в типизированный файл
type TStudent=record FIO:string;//Поле Ф.И.О. Ngrup:Integer;//Поле номера группы ...

Ввести из текстового файла данные для массива структур, записать их в типизированный файл и выполнить действия в соответствии со своим вариантом
Структура STUDENT содержит следующие поля: - фамилия и инициалы; - номер группы; - успеваемость...

Вывести из текстового файла данные для массива структур,записать их в текстовый файл и выполнить действия в
Вывести из текстового файла данные для массива структур,записать их в текстовый файл и выполнить...

Ввести данные в файл, и записать данные с файла в массив структур
Ввести все данные в файл, и записать данные с файла в структуру. Помогите ввести и вывести...

1
0 / 0 / 1
Регистрация: 21.05.2010
Сообщений: 27
24.05.2010, 13:47  [ТС] 2
код программы написан, но есть небольшая загвостка.. при компилировании в среде PascalABC.NET выводит ошибку в строке 86 (ожидалось ";" ), а во время компилирования в среде Turbo Pascal 7.1 выводит ошибку (too long line) в строке 81.

Вот код.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
program laba5;
type
  student=record
  fio:string;
  gruppa:integer;
  usp:array[1..5] of byte;
end;
 
var
fstud:file of student;
u:student;
s,i,k,j:byte;
fs:string;
sr:real;
flag:boolean;
st:array[1..25] of student;
begin
while s<>4 do
begin
writeln('1) input data');
writeln('2) read data from file');
writeln('3) outpute otlichniki');
writeln('4) exit');
readln(s);
case s of
1:
begin
writeln('input name of file:');
readln(fs);
assign(fstud,fs);
rewrite(fstud);
write('input kol-vo of student:');
readln (k);
for i:=1 to k do
begin
writeln('input data of ',i,' student');
writeln('fio');
readln(st[i].fio);
writeln('gruppa');
readln(st[i].gruppa);
for j:=1 to 5 do
begin
writeln('input 5 ocenok');
readln(st[i].usp[j]);
end;
write(fstud,st[i]);
end;
close(fstud);
end;
2:
begin
writeln('input file of student:');
readln(fs);
assign(fstud,fs);
reset(fstud);
i:=1;
repeat
j:=1;
read(fstud,u);
st[i]:=u;
i:=i+1;
{,st[i].fio,st[i].gruppa,st[i].usp[j]);
j:=j+1;
readln(st[i].usp[j]);
j:=j+1;
readln(st[i].usp[j]);
j:=j+1;
readln(st[i].usp[j]);
j:=j+1;
readln(st[i].usp[j]);
i:=i+1;}
until eof(fstud);
for j:=1 to i do
begin
writeln(st[j].fio,' ',st[j].gruppa,' ',st[j].usp[1],' ',st[j].usp[2],' ',st[j].usp[3],' ',st[j].usp[4],' ',st[j].usp[5]);
writeln;
writeln('horoshisty:');
flag:=false;
for j:=1 to i do
begin
if ((st[j].usp[1]=4) or (st[j].usp[1]=5)) and ((st[j].usp[2]=4) or (st[j].usp[2]=5)) and ((st[j].usp[3]=4) or (st[j].usp[3]=5)) and ((st[j].usp[4]=4) or (st[j].usp[4]=5)) and ((st[j].usp[5]=4) or (st[j].usp[5]=5)) then
begin
writeln(st[j].fio,' ',st[j].gruppa,' ',st[j].usp[1],' ',st[j].usp[2],' ',st[j].usp[3],' ',st[j].usp[4],' ',st[j].usp[5]);
flag:=true;
end;
if flag:=false then
writeln('takih studentov net');
end;
end;
end;
end;
end.
помогите плиз разобраться в чем беда, и если не сложно проверьте правильность написания кода программы. заранее спс)
0
24.05.2010, 13:47
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.05.2010, 13:47
Помогаю со студенческими работами здесь

Прочитать из текстового файла данные в массив структур
Структура типа: Фамилия,логин,пароль,роль(администратор, модератор, простой пользователь) Не могу...

Как ввести исходные данные из текстового файла
Задача такая: Есть переменные T(1), T(2), T(3), T(4), T(5), T(6), T(7). Значения этих переменных...

Ввести из текстового файла данные в двунаправленный список
Ввод данных в оперативную память в двунаправленный список из текстового файла. Как мне ввести из...

Чтение массива структур из текстового файла
Задание таково: есть структура из 2-х полей:№телефона и комментарий Создать тел.книгу. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­хро­н­н­ы­й счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru