|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
22.06.2014, 14:04 | #1 (permalink) |
Member
Регистрация: 22.06.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Собрать в файле g сведения о лучших учениках школы
|
22.06.2014, 14:04 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Первым делом нужно ознакомиться с аналогичными топиками Сведения для Mirosoft. В чем проблема? Рейтинг лучших игр 2012 года для PC Рейтинг лучших онлайн игр 2012 года 1000 лучших мест России |
22.06.2014, 21:47 | #5 (permalink) |
Member
Регистрация: 22.06.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Наверно самый идиотский набросок, ну как то так
var f: text; Lastname: string; Name: string; Klass: string; Mark:integer; n,i,k: integer; begin assign(f,filename); reset(f); writeln('Ученик:'); k := 0; readln(f,n); for i := 1 to n do begin readln(Lastname); readln(Name); readln(Klass); readln(Mark); if (Mark > 4) then {} begin if Mark = then close(f); readkey; end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
22.06.2014, 22:03 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Нет-нет, такие задачи решаются через тип "запись" ("record") и организацию массива записей. Кроме того, я просил Вас показать, как Вы представляете себе вид исходного файла. Чтобы было видно где, что и в каком порядке расположено.
Кроме того, если Вы используете команду Readkey, то будьте любезны поставить в начале uses CRT; , потому что это команда модуля CRT. |
22.06.2014, 22:05 | #7 (permalink) |
Member
Регистрация: 22.06.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вот есть еще такой
const N=4; var Student:Array[1..N] of Record Lastname:string; Name:string; Klass:Word; Mark:Word; end; i,i0:integer; Rate:integer; Begin Rate:=4; For i:=1 to N do With Student[i] do begin Writeln(i,' Ученик'); Write('Фамилия: '); Readln(Lastname); Write('Имя: '); Readln(Name) ; Write('Класс: '); Readln(Klass); Write('Оценка: '); Readln(Mark); Writeln; If Mark>Rate then begin i0:=i; Rate:=Mark; end; end; Writeln('Лучшиие ученики:'); With Student[i0] do begin Writeln('Name: ',Name); Writeln('Lastname: ',Lastname); Writeln('Klass: ',Klass); Writeln('Mark: ',Mark); end; readln; End. это опираясь на тему в первом сообщении |
22.06.2014, 22:21 | #8 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Уже лучше. Правда, обычно в таких случаях тип вводят отдельно, т.е. так:
Код:
Type Stud=Record Lastname:string; Name:string; Klass:Word; Mark:Word; end; Var Student:Array[1..N] of Stud; Тогда можно будет продолжить. Но только завтра. А если указанный перечень так и не появится, то - извините, ничем не могу помочь. |
22.06.2014, 22:30 | #9 (permalink) |
Member
Регистрация: 22.06.2014
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
1 Ученик
Фамилия: Иванов Имя: Иван Класс: 5А Оценка: 5 2 Ученик Фамилия: Петров Имя: Петр Класс: 9В Оценка: 4 3 Ученик Фамилия: Соколов Имя: Алексей Класс: 6А Оценка: 3 4 Ученик Фамилия: Козлов Имя: Олег Класс: 5А Оценка: 5 Единственное ни как не могу сообразить, как сделать несколько оценок (которые получены за четверть) |
22.06.2014, 22:43 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Сразу скажу: с таким файлом работать ОЧЕНЬ трудно. Предлагаю такой вариант:
Иванов Иван 5А 5 4 3 4 3 5 Петров Петр 9В 4 4 3 4 3 3 и т.д. Количество оценок целесообразно задать в виде константы (напр. Nm = 6). Как их считать - поясню. Но не сегодня. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|