IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Создание дневника с оценками
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Ребята! Хочу создать дневник с оценками такого вида.
Код

Список оценок:                                                   Средний балл:
                                                            
-------------------------------------------------------------------  --------
Белорусская литература            |
-------------------------------------------------------------------  --------
Русская литература                   |
-------------------------------------------------------------------  --------
Основы алгоритмизации и прогр.|
-------------------------------------------------------------------  --------
Операционные системы              |
-------------------------------------------------------------------  --------
Прикладное ПО                          |
-------------------------------------------------------------------  --------
Экономическая теория               |
-------------------------------------------------------------------  --------
Философия                                 |
-------------------------------------------------------------------  --------
Высшая математика                    |
-------------------------------------------------------------------  --------
Физкультура                              |
-------------------------------------------------------------------  --------
Инженерная графика                  |
-------------------------------------------------------------------  --------
Английский язык                         |
-------------------------------------------------------------------  --------


Шаблон записан в текстовом файле. Все, что нужно, это при запуске программы выбрать пункт меню (от 1 до 11), выбрав таким образом предмет, ввести новую оценку, чтобы она заняла свое место и записалась в файл и автоматически высчитать средний балл по текущему предмету, соответственно записать снова в файл. То есть, чтобы заново открыв программу, мне выдавался уже обновленный дневник.
Вот, что есть на данный момент: (Паскаль только начал, так что не судите строго, если где-то нерационально)

program DNEVNIK;
uses crt;
var t:text; ln,pt:string; key,bl,rl,oap,os,ppo,et,fil,vm,fk,ig,ang,x,y:integer;
bls,rls,oaps,oss,ppos,ets,fils,vms,fks,igs,angs:real;spc:char;
begin
repeat
clrscr;
assign(t,'ocenki.txt');
reset(t);
while not eof(t) do
begin
readln(t,ln);
writeln(ln);
end;
close(t);

{----------------------------------------------------------}
writeln('Выберите дисциплину:');
writeln;
writeln('1. Белорусская литература');
writeln('2. Русская литература');
writeln('3. Основы алгоритмизации и прогр.');
writeln('4. Операционные системы');
writeln('5. Прикладное ПО');
writeln('6. Экономическая теория');
writeln('7. Философия');
writeln('8. Высшая математика');
writeln('9. Физкультура');
writeln('10. Инженерная графика');
writeln('11. Английский язык');
writeln;
readln(key);
until (key>=1) and (key<=11);
{--------------------------------------------------------------------}
case of key
1: begin
assign(t,'ocenki.txt');
append(t);
writeln ('Введите оценку:');
readln(bl);
gotoxy(32,4);
write(bl,' ');
close(t);
end;

{--------------------------------------------------------------------------}


end.


ЗЫ. Процедуры не предлагать

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Получается, оценки можно только добавлять? Пр запуске надо сделать считывание всех оценок из файла.
Здесь для хранения оценок подойдёт обычный одномерный массив целых чисел. Справишься? Метки использовать тоже не очень хорошо, подумай над большим циклом, который будет заменять goto.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата
ЗЫ. Процедуры не предлагать
Ага. А к тебе - тоже есть требование: GoTo из программы убрать. Уберешь - приходи, будем разговаривать дальше. Все ясно?

P.S. С чего ты вообще решил, что тебе кто-то БУДЕТ что-то предлагать? Я как-то вопроса не увидел в первом посте. Ну, есть у тебя код. И?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(Unconnected @ 23.09.2010 19:56) *

Получается, оценки можно только добавлять? Пр запуске надо сделать считывание всех оценок из файла.
Здесь для хранения оценок подойдёт обычный одномерный массив целых чисел. Справишься? Метки использовать тоже не очень хорошо, подумай над большим циклом, который будет заменять goto.

Справлюсь, думаю) Но главная проблема в том, что я не могу записать оценки((( при выполнении она записывается на свое место, а когда открываю ocenki.txt, то там пусто. После долгосрочных танцев с бубнами я все-таки добился записи оценок, но записывались они в конец файла из-за append. а вот как ее на свое место поставить в таблице??

Добавлено через 2 мин.
Цитата(volvo @ 23.09.2010 20:00) *

Ага. А к тебе - тоже есть требование: GoTo из программы убрать. Уберешь - приходи, будем разговаривать дальше. Все ясно?

P.S. С чего ты вообще решил, что тебе кто-то БУДЕТ что-то предлагать? Я как-то вопроса не увидел в первом посте. Ну, есть у тебя код. И?

уберу я, уберу. это не суть важно. дело в другом совсем. Up
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Цитата
После долгосрочных танцев с бубнами я все-таки добился записи оценок, но записывались они в конец файла из-за append. а вот как ее на свое место поставить в таблице??


Чего там танцевать, 3-4 функции) Я ж и говорю, читаешь в начале программы все оценки в массив, потом по ходу записи не дописываешь в файл, а вносишь изменения в массив, а в итоге перезаписываешь файл и кладёшь туда обновленные оценки. Или можно при вводе каждой новой оценки перезаписывать.

Цитата
уберу я, уберу. это не суть важно. дело в другом совсем. Up


Важно, чего может и не видно на первый взгляд.

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(Unconnected @ 23.09.2010 20:18) *

Чего там танцевать, 3-4 функции) Я ж и говорю, читаешь в начале программы все оценки в массив, потом по ходу записи не дописываешь в файл, а вносишь изменения в массив, а в итоге перезаписываешь файл и кладёшь туда обновленные оценки. Или можно при вводе каждой новой оценки перезаписывать.
Важно, чего может и не видно на первый взгляд.

понял, буду работать)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 15:38
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name