![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Rom1k |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Считать список с файла(.txt) и вывести его на экран.
в файле дано Фамилию имя отчество 4 оценки и дополнительный балл(если он есть,тогда занести,если его нет,оставить пустым) и подсчитать средний балл. Пример работы программы: Цитата Иванов Иван Иванович 3 4 3 3 3 Петров Петр Петрович 3 4 4 2 Юрьев Юрий Юрьевич 2 2 3 4 Вот что программа должна выводить на экран: Цитата ФИО оценка 1 оценка 2 оценка 3 доп. балл средний балл Иванов Иван Иванович 3 4 3 3 3.2 Петров Петр Петрович 3 4 4 0 3.25 Юрьев Юрий Юрьевич 2 2 3 0 2.75 вот текст программы.Я думаю,что у меня даже с файла считывает неправильно:
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Я думаю,что у меня даже с файла считывает неправильно: Парсит строку точно неправильно... Вот так можно поправить твой код, чтобы он нормально работал (это если без переделывания):p:=pos(' ',st);Но можно и значительно упростить программу, заменив, например, fam,imya,otch:string; {Фамилия, имя, отчество} на names: array[1 .. 3] of string; и обработку закинув в цикл... |
Rom1k |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что-то с файлом не то.Он его не читает.Что я там мог сделать не правильно?!
Да.Насчёт упрощения-хорошая идея,пожалуй так и сделаю. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Что я там мог сделать не правильно?! ![]() Добавлено через 3 мин. Да и вообще, я не понял чего ты хочешь добиться... Если в Vvod читаются ВСЕ данные сразу из файла, то у тебя ничего не выйдет, потому что rec - то может хранить только данные из одной строки... Все-таки придется тебе пересматривать структуру программы полностью... |
Rom1k |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Убрал.А всё равно ничего не выводит.Я думаю не правильно считывает.помоги.Плиз.Оч надо
![]() Добавлено через 1 мин. Цитата Если в Vvod читаются ВСЕ данные сразу из файла, то у тебя ничего не выйдет, потому что rec - то может хранить только данные из одной строки. а мне надо его по строкам брать и вырезать.Мне объясняла преподаватель,что надо цикл какой-то делать.Только я не пойму. ![]() Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Погоди... У тебя задание на списки, так? Тогда набросок программы должен быть таким:
procedure vvod(var f: text; var Rec: TData);Попробуй сделать программу сам... |
Rom1k |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
щас.попробую.спасибо большое.если что не будет получатся,сюда напишу.
|
Rom1k |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата procedure add(var list: PData; var rec: TData); begin { здесь к списку List добавляется еще она запись - Rec } end; что-то вот это я не понимаю ![]() Что сдесь list должно делать? или передать ему параметры list:=Rec(p^) или что?! Сообщение отредактировано: Rom1k - 16.05.2007 19:30 |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Ты же делал нечто подобное... Я, кстати, немного ошибся - надо описывать не только указатель на голову, но и указатель на хвост, и делать так:
procedure add(var list, tail: pdata; var rec: tdata); |
Rom1k |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
а это я понял.тут мы заполняем список.я не понимал просто при чём там rec.это типа передает параметры с rec в list и tail для добавления в список?!
Добавлено через 14 мин. вот я сделал всё,как Вы сказали.в ответе везде выводит ноль.что тут не правильно? не пойму((( Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Ну, допустим сделал ты ДАЛЕКО не все, что я сказал... Посмотри:
![]() И реши, кстати, уже наконец, сколько оценок надо обрабатывать у каждого... В условии пишешь одно, в решении - другое, потом начнется, это не так, то не эдак... |
Rom1k |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
вау...да.3 оценки вводить надо.
|
Rom1k |
![]()
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Смотрите,когда я ввожу так
Цитата Петров Петр Петрович 4 5 4 3 Сидоров Василий Васильевич 4 5 4 Юрьев Алексей Юрьевич 4 3 4 2 Иванов Евгений Евгеньевич 5 4 3 2 Питеркин Вячеслав Михайлович 3 3 2 Он мне выводит : ![]() Туда он не заносит почему-то оценки.пробовал исправить,всё-равно тоже самое.ЧТо там не так? Сообщение отредактировано: Rom1k - 16.05.2007 22:44 |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Ты ориентируешься по пробелам, когда читаешь числа из строки, а когда в строке осталось одно число (доп. балла нет), то P становится равным 0, и последняя оценки не читается из строки... Исправляется очень просто:
{ в процедуре Vvod } |
Rom1k |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
ааа...точно.а я сразу не догадался,спасибо большое!!!
|
Rom1k |
![]()
Сообщение
#16
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
аааа....мне ещё дали дополнительное условие.сформировать новый список из тех,чей средний балл больше,либо равен 4.5.
Это т.е надо просто написать
или это делается как-то по-другому?! |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Да, именно так...
|
Rom1k |
![]()
Сообщение
#18
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
вроде бы всё правильно,но опять он ничего не выводит.снизу прога.потом файл,НА КОТОРОМ ТЕСТИЛ...что там не правильно?(
Прикрепленные файлы ![]() ![]() |
volvo |
![]()
Сообщение
#19
|
Гость ![]() |
var head2, tail2, p: pdata; |
Rom1k |
![]()
Сообщение
#20
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo спасибо Вам большое.Вы не представляете,как Вы меня выручили
![]() |
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 20:21 |