Задание
.Составить программу для создания текстового файла (.txt) данных следующей структуры:
Фамилия, имя, отчество студента,
Год рождения студента,
Средний балл за экзаменационную сессию.
Файл должен содержать информацию о пяти студентах.
3.2 Используя возможности текстового редактора системы программирования TURBO PASCAL, добавить в файл данных (.txt) информацию еще о двух студентах.
3.3 Используя стандартную процедуру APPEND( ) добавить в текстовый файл информацию о трех студентах. Файл данных должен содержать информацию о 10 студентах.
Вычислить средний балл группы и распечатать список студентов, имеющих средний балл выше среднего балла группы.
Программный код
const n=5;
type student = record
fio: string[50];
ball: real;
god: 1995..2004;
end;
var
gruppa:array[1..n] of student;
i:integer;
sb:real;
spisok: text;
begin
assign(spisok, 'sp.txt');
reset(spisok);
while not eof(spisok) do begin
with gruppa[i] do
begin
readln(spisok);
readln(spisok);
readln(spisok,ball);
sb := sb+gruppa[i].ball;;
end;
sb := sb/n;;
with gruppa[i] do
begin
readln(spisok,fio);
readln(spisok, god);
readln(spisok,ball);
readln(spisok);
writeln('студенты чей србал выше србала: ');
for i:=1 to n do
if sb<gruppa[i].ball then writeln(gruppa[i].fio);
readln;
//закрытие файла
close(spisok);
end;
end;
end.
Другие языки программирования и технологии
Пожалуйста проверьте, правильно ли составлен программный код, выходит ошибка "Индекс находится вне границы массива
попробуй разберись с моей прогой
program pro ;
uses crt;
type student = record
g:integer;
fam: string[50];
imja: string[30];
ot: string [30];
gr: integer;
pol: string [1];
f:integer ;
m:integer ;
oi:integer ;
end;
var
a: array[1..255] of student ;
i,n:integer ;
fp:file of student ;
w:student;
Begin
clrscr;
assign (fp,'C:\student.dat');
rewrite(fp) ;
write('Введите колличество студентов: ');
readln(n);
writeln;
writeln('Введите данные о каждом: ');
writeln;
for i := 1 to n do
begin
write('Группа: ',i,'-ого студента: ');
readln(w.g);
write('Фамилия ',i,'-ого студента: ');
readln(w.fam);
write('Имя ',i,'-ого студента: ');
readln(w.imja);
write('Отчество ',i,'-ого студента: ');
readln(w.ot);
write('Год рождения: ',i,'-ого студента: ');
readln(w.gr);
write('Пол: ',i,'-ого студента: ');
readln(w.pol);
write('Оценка по физике: ',i,'-ого студента: ');
readln(w.f);
write('Оценка по математике: ',i,'-ого студента: ');
readln(w.m);
write('Оценка по информатике: ',i,'-ого студента: ');
readln(w.oi);
write(fp,w);
end ;
close(fp) ;
reset(fp); n:=0;
while not eof(fp) do begin inc(n); //чтение файла
read(fp,w); a[n]:=w; // в массив А
end; //
close(fp) ;
for I:=1 to n do
with a[i] do //печать массива А
writeln(i:2,fam:10,imja:7,ot:7,gr:5,pol:2,f:3,m:3,oi:3);
for I:=1 to n do begin
if (a[i].f=2) and (a[ i ].m=2) and (a[ i ].oi=2) and (a[ i ].pol='M' )
then write(a[i].fam:10,a[i].imja:10,a[i].ot:10) ;
end ;
readln ;
end.
program pro ;
uses crt;
type student = record
g:integer;
fam: string[50];
imja: string[30];
ot: string [30];
gr: integer;
pol: string [1];
f:integer ;
m:integer ;
oi:integer ;
end;
var
a: array[1..255] of student ;
i,n:integer ;
fp:file of student ;
w:student;
Begin
clrscr;
assign (fp,'C:\student.dat');
rewrite(fp) ;
write('Введите колличество студентов: ');
readln(n);
writeln;
writeln('Введите данные о каждом: ');
writeln;
for i := 1 to n do
begin
write('Группа: ',i,'-ого студента: ');
readln(w.g);
write('Фамилия ',i,'-ого студента: ');
readln(w.fam);
write('Имя ',i,'-ого студента: ');
readln(w.imja);
write('Отчество ',i,'-ого студента: ');
readln(w.ot);
write('Год рождения: ',i,'-ого студента: ');
readln(w.gr);
write('Пол: ',i,'-ого студента: ');
readln(w.pol);
write('Оценка по физике: ',i,'-ого студента: ');
readln(w.f);
write('Оценка по математике: ',i,'-ого студента: ');
readln(w.m);
write('Оценка по информатике: ',i,'-ого студента: ');
readln(w.oi);
write(fp,w);
end ;
close(fp) ;
reset(fp); n:=0;
while not eof(fp) do begin inc(n); //чтение файла
read(fp,w); a[n]:=w; // в массив А
end; //
close(fp) ;
for I:=1 to n do
with a[i] do //печать массива А
writeln(i:2,fam:10,imja:7,ot:7,gr:5,pol:2,f:3,m:3,oi:3);
for I:=1 to n do begin
if (a[i].f=2) and (a[ i ].m=2) and (a[ i ].oi=2) and (a[ i ].pol='M' )
then write(a[i].fam:10,a[i].imja:10,a[i].ot:10) ;
end ;
readln ;
end.
Бля, ну чо так сложно за комментировать? Сидеть тут, в таком разрешении разбираться. Не ужели про правило написания кода, ни кто не рассказывал?
Похожие вопросы
- Почему Индекс находится вне границ массива ?
- Как составить программные коды на Паскаль к этой задаче?
- Помогите Basic. Программирование. Индекс выходит за границы массива. Где ошибка?
- помогите пожалуйста проверить код на языке си, программа работает неверно - не выдает сумму массива Z
- Ошибка в программном коде с++
- Помогите! Ошибка при попытке удалить динамический массив
- Программа-эта и есть программный код тоесть программный код является программой
- Напишите программный код для урока информатики 11 класса.
- При введении программы на Pascal ABC выдается ошибка "нельзя вводить данные типа "массив", массивы вводятся поэлементно
- Турбо-паскаль. Пожалуйста, напишите программный код!...=)