Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
6 / 6 / 7
Регистрация: 16.05.2013
Сообщений: 351

Написать программу для обработки информации про студентов

14.10.2014, 22:05. Показов 710. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание гласит:
Написать программу для обработки информации про студентов(паспортные данные студента, группа, пол, экзаминационная оценка по высшей математике, программированию и физике). Программа должна предоставлять пользователю возможность вводить данные с клавиатуры и заносить их в файл; читать данные с файла и выводить на экран список студентов мужского пола, у которых оценка по программированию ниже средней оценки по высшей математике.

Вот код:
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
program stud;
uses crt;
Type
 student=record
  FIO:string[60];
  sex:byte;
  group:string[10];
  math:byte;
  phys:byte;
  prog:byte;
  pasport:string[8]
 end;
 
var
students:array[1..10] of student;
f:file of student;
v:string;
countS,errc:integer;
v2:byte;
 
 
function readS:boolean;
begin
 readS:=true;
 {$I-}
  reset(f);
 {$i+}
 if ioresult=0 then
  begin
   countS:=0;
   while not eof(f) do
    begin
     inc(countS);
     Read (f, students[countS]);
    end;
   close (f) ;
  end
 else readS:=false;
end;
 
 
procedure addS;
begin
clrscr;
 inc(countS);
 Writeln('Dobavlenie studenta: ',countS);
  with students[countS] do
   begin
    Writeln('Vvedite FIO: ');
    readln(FIO);
    Writeln('Vvedite pol(0-jen. 1-muj.): ');
    readln(sex);
    Writeln('Vvedite passportnie dannie: ');
    readln(pasport);
    Writeln('Vvedite gruppu: ');
    readln(group);
    Writeln('Vvedite ocenku po Matematike: ');
    readln(math);
    Writeln('Vvedite ocenku po Fizike: ');
    readln(phys);
    Writeln('Vvedite ocenku po Programmirovaniyu: ');
    readln(prog);
   end;
end;
 
procedure viewStudent(number:integer);
var
j:integer;
sexS:string;
begin
    with students[number] do
    begin
     if sex=0 then sexS:='Jen.' else sexS:='Muj.';
     writeln('Student N ',number);
     writeln(FIO+'('+sexS+')');
     writeln('Passportnie dannie:',pasport);
     writeln('Gruppa:',group);
     writeln('Ocenki:');
     writeln('Matematika: ',math,' Fizika: ',phys,' Programmirovanie: ',prog);
    end;
    for j:=1 to 80 do write('-');
end;
 
procedure viewList;
var
i:integer;
begin
 clrscr;
 writeln('spisok studentov:');
 writeln;
 for i:=1 to countS do
   viewStudent(i);
  readln;
end;
 
procedure saveS;
var
i:integer;
begin
 
 rewrite(f);
 for i:=1 to countS do write(f,students[i]);
 close(f);
 writeln('Fail sohranen.');
 readln;
end;
 
procedure viewX;
var
a:real;
i:integer;
begin
  clrscr;
  a:=0;
 for i:=1 to countS do
  a:=a+students[i].math;
  a:=a/countS;
 writeln('Srednii bal po matematike:',a:1:1);
 writeln;
 writeln('Spisok studentov, u kotorih ball po Programmirovaniyu nuje srednego balla po Matematike: ');
for i:=1 to countS do
 if (students[i].prog<a) and (students[i].sex=1) then viewStudent(i);
readln;
end;
 
begin
 countS:=0;
 assign(f,'StudentsList');
 if readS=false then writeln('Oshibka 4teniya faila.Vozmojno ego ne sush4estvuet');
 repeat
  clrscr;
  writeln('Vvedite zna4enie dlya vibora punkta v menu:');
  writeln('1 Dobavit studenta.');
  writeln('2 Vivesti spisok vseh studentov.',countS);
  writeln('3 Vivod uslovija zada4i');
  writeln('4 Sohranit izmenenija v vail');
  writeln('0 dlya vihoda');
  readln(v);
  val(v,v2,errc);
  if errc=0 then
   begin
    case v2 of
     1:addS;
     2:if countS>0 then viewList;
     3:if countS>0 then viewX;
     4:if countS>0 then saveS ;
   end;
  end;
 until v='0';
end.
Имею Ошибку №100:ошибка чтения с диска
Генерируется процедурой READ в типизированном файле в случае, если Вы пытаетесь осуществить считывание из полностью прочитанного файла.
Это началось после того, как добавил паспортные данные(до этого забыл)
Добавил следущее:

pasport:string[8] в Type

Pascal
1
2
Writeln('Vvedite passportnie dannie: ');
readln(pasport);
в процедуру addS

Добавлено через 13 минут
Также
Pascal
1
writeln('Passportnie dannie:',pasport);
в процедуру viewStudent

Добавлено через 1 час 12 минут
Нашел ответ) Нужно создать новый файл, т.к. поменялась структура student
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2014, 22:05
Ответы с готовыми решениями:

Составить программу для обработки информации о кадрах предприятия
нужно Составить программу для обработки информации о кадрах предприятия. Один элемент информации содержит следующие поля: фамилия, имя,...

Написать программу для ввода, обработки и печати матрицы
Для матрицы А(m, n), 1&lt;(m, n)&lt;10, подсчитать количество элементов, равных нулю. Переставить строки по убыванию значений максимальных...

Написать программу для ввода, обработки и печати матрицы
Для матрицы G(m, n), 1&lt;(m, n)&lt;10, найти значение минимального элемента. Переставить столбцы по убыванию количества положительных элементов...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2014, 22:05
Помогаю со студенческими работами здесь

Тема: Типизированный файл. Написать программу для хранения информации об успеваемости студентов
Написать программу для хранения информации об успеваемости студентов. Необходимо хранить номер группы, фамилию студента, оценки за...

Создать динамический массив записей для сохранения информации про студентов
Создать динамический массив записей для сохранения информации про студентов. С добавлением двух типов оценки, 1)оценка за семестр, 2)...

Написать программу для вывода информации в виде таблицы
Записать сведения о веществах: название, удельный вес, проводимость (проводник, полупроводник, изолятор). Вывести в виде таблицы информацию...

Составить ТР-программу решения задания обработки данной символьной информации
Удалить часть текста, которая находится между вторым и первым пропуском. текст: не рядись бараном ибо еще волк съест

Написать программу для создания файла из десяти записей и обработки созданного файла
1. Файл содержит сведения о должностных окладах, каждая запись которого содержит поля: должность и оклад ( тыс. руб.). 2. Выдать...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru