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

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

14.10.2014, 22:05. Показов 692. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru