![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток, уважаемые форумчане!
В колледже на практике задали сделать программу по психологии: чтобы студент прошёл тест, результат подсчитался и вывелся его Тип (описание типов в приложенном фото в столбце "Шкала"). Застряла на том, как же ввести в программу данные (с фото). Case, по-моему не подходит. Делать 10 отдельных массивов...? В общем, программирование я ещё знаю плохо, немного работала с консольным приложением, а тут задали сделать полноценную программу. Помогите, пожуйста - в каком виде ввести в программу данные с фото. Работаю в Delphi XE3. ![]() P.S. архив с программой почему-то не загружается, выкладываю листинг так. Код:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) btn1: TButton; Label1: TLabel; Button2: TButton; procedure btn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; f: Textfile; //файл теста buf:string; //nextqw следующий вопрос i,j:integer; //i, j счётчики нажатия кнопок "Да" и "Нет" implementation uses Unit1; {$R *.dfm} function nextqw:boolean; begin if not eof(f) then nextqw:=false; begin form2.Label1.Caption:=buf; readln(f,buf); nextqw:=true; end; end; procedure TForm2.btn1Click(Sender: TObject); begin i:=i+1; //"да" nextqw; end; procedure TForm2.Button1Click(Sender: TObject); begin j:=j+1; // "Нет" nextqw; end; procedure TForm2.FormCreate(Sender: TObject); begin AssignFile(f,'2.txt'); reset(f); readln(f,buf); form2.Caption:=buf; readln(f,buf); nq:=0; nextqw; end; end. |
#2
|
||||
|
||||
![]() Цитата:
![]() Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
![]() Цитата:
Ну вообщем , у нас есть 88 вопросов , на прикрепленном фото , есть "Ключ" это номера вопросов по которым идет счет критерия Г-1 .То есть у нас к примеру на вопрос 1 мы ответим "Да" , то мы получаем 1 балл, если на вопрос 11 мы отвечаем "Нет" , то ничего , если на вопрос 23 мы пишем "Да" то еще 1 балл , если на вопрос 33 пишем "Да" еще 1 балл , если на вопрос 45 мы отвечаем "Нет" то ничего , если на вопрос 55 мы отвечаем "Нет " опять ничего ,если на вопрос 67 мы овтечаем "Да " то 1 балл и если на вопрос 77 мы отвечаем "Да" то балл и того у нас ответов "Да" 5 тогда у нас есть 5 баллов , и мы должны эти 5 баллов умножить на множитель(Грубо) то есть на 3 и получим 15 баллов по этому притерию . А вот в "Ключе" на +(Да) у нас должны быть ответы на эти вопросы "Да" ,за которых дают 1 балл , а если ответ Нет , то ничего ,а на -(Нет) вопросы отвеченные на Нет мы получим 1 балл, а если в этом вопросе Да то ничего . Вот так вроде , да все запутанно , сама не могу толком понять как это реализовать =((( |
#4
|
||||
|
||||
![]() Ну тогда вот, нарисовался такой пример оболочки - осталось только подсчёт результатов организовать. Посмотрите пжлст, в правильном направлении собираю или нет, в смысле, похоже? Как только вникну в алгоритм подсчёта, обновлю. Это под D7, но на ХЕ3 по идеи тоже должно пойти.
З.Ы. Вроде вник, обновил. Проверьте. З.Ы.З.Ы. Поплотнее вник, ещё раз обновил. Ну вы в курсе ![]() P.S.З.Ы.З.Ы. Как смог, закоментил. Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 03.03.2013 в 03:39. |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Guneska (02.03.2013)
|
#5
|
|||
|
|||
![]() Да, что-то вроде этого, но я вот прошла этот тест, отвечая на ваши "бла-бла" (
![]() Вот, как-то так, но за Ваш труд вселенческое СПАСИБО! Теперь хоть есть пример, что и как делать, а то в голове был просто вакуум, пустота, никакого представления ![]() Но думаю, обращусь к Вам ещё не раз ( с Вашего позволения именно к Вам) P.S. Мне бы, дураку, ещё комментарии в коде ![]() Последний раз редактировалось Guneska, 02.03.2013 в 19:13. |
#6
|
||||
|
||||
![]() Цитата:
Пжлст, посмотрите ещё разок архивчик. З.Ы. Кстати, получилось у вас в Data.txt вместо бла-блы тексты теста засунуть? Главное, чтоб было так: один вопрос - одна строчка. Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Guneska (03.03.2013)
|
#7
|
|||
|
|||
![]() Цитата:
|
Этот пользователь сказал Спасибо Guneska за это полезное сообщение: | ||
Alegun (03.03.2013)
|
#8
|
||||
|
||||
![]() Цитата:
![]() Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Guneska (03.03.2013)
|
#9
|
||||
|
||||
![]() Цитата:
![]() Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Guneska (03.03.2013)
|
#10
|
|||
|
|||
![]() Alegun, Вы действительно мой спаситель! Всё работает! Правда сначала результат немного не сходился, но до меня дошло, что ошибка где-то в Key.txt, и не промахнулась! Подправила там немножко цифры, и всё изумительно работает! Теперь осталось разобрать код на кусочки, вникнуть в суть и запомнить что и как делается.
СПАСИБО и доброго дня ![]() |
#11
|
||||
|
||||
![]() Цитата:
![]() Кстати, насчёт ошибки - похоже она в таблице ключей шкал, (Г6, циклотимные) два раза учитывается 18й вопрос, вот я его на не использующийся в других шкалах 28й и подправил, точно инициатива не есть хорошо :-) извнт. Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Guneska (04.03.2013)
|
#12
|
|||
|
|||
![]() Нет, Вы правы, там не хватало 28го вопроса, это уже оплошность преподавателя, которая мне дала этот листок. У себя-то я это ручкой исправила, а вот про то, что на "Вашем" листе эта ошибка не исправлена - забыла.
Не сходились ответы в Г-4, и Г-9, я залезла в Key.txt и там обнаружились опечатки ещё в двух или трёх шкалах (в двух, кажется, был два раза написан 80й или 88й вопрос, ну и другие небольшие несовпадения), и как ни странно они срабатывали правильно))). Вы ещё извиняетесь...это я должна извиняться перед Вами бесчисленное количество раз за свою наглость! Спасибо Вам огромнейшее!!! Последний раз редактировалось Guneska, 04.03.2013 в 00:24. |
#13
|
||||
|
||||
![]() << DELETED >>
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 11.03.2013 в 23:59. |