Главная
Регистрация
Вход
Пятница
22.11.2024
20:39
Приветствую Вас, Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Кирпич, Admin  
Программа для тестирования (тест)
kravekadzeДата: Четверг, 05.04.2012, 12:58 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
Code
struct test
{
char fam[30];
int kolbal;
}persona;
extern int pravil_otvet;
{
FILE*f("C:\\test.txt");
f=fopen("test","rb")
Fseek(f,SEEK_SET,SEEK_END);
Fwrite(&persona,sizlof(test),1,f);
Fread(&persona,sizeof(test),1,f);
F=fopen(&persona,sizeof(test),1,f);
while(!feof(f));
{Fread(&persona,sizeof(test),1,f);
Form3->StringGrid1->celes[1][1];


Здравствуйте, помогите пожалуйста, очень помогла ваша программа, но мне нужно не много исправить её, чтобы этот текст сохранял результат, для 10 студентов выше мне написали что нужно писать но куда именно я не могу понять, помогите!!


Сообщение отредактировал Admin - Четверг, 05.04.2012, 21:50
 
AdminДата: Четверг, 05.04.2012, 21:52 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
Вас интересует чтобы данные о результате прохождения добавлялись в один файл или для каждого студента создавался свой файл?
 
kravekadzeДата: Пятница, 06.04.2012, 01:14 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
ну 1 для всех(чтоб была мини база данных, и чтоб потом результаты выдавались в таблице (stringGrid), чтоб студент вписал свои данные(ФИО), а баллы брались сами с 3 формы.
 
AdminДата: Суббота, 07.04.2012, 14:18 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
Для ввода ФИО добавьте на форму с приветствием компонент Edit, за количество баллов отвечает переменная s. Ну а код вам надо добавлять туда, где выполняется переход на 3 форму. Только вам его придется немного переделать.
И почитайте:
Потоки ввода-вывода
Про структуры
 
kravekadzeДата: Суббота, 07.04.2012, 16:46 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
вот я не могу понять куда иммено его вводить, спасибо почитаю, попробую, если что отпишусь.... а вы не можите написать хотябы начало
 
AdminДата: Воскресенье, 08.04.2012, 19:17 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
К данным Edit обращайтесь так:
Form1->Edit1->Text.c_str();
А код свой вставляйте когда тест завершен, т.е. переменная с количеством баллов накопила свой значение.
И, наверное, имеет смысл хранить текстовый файл в папке с программой. ExtractFilePath(Application->ExeName) - возвращает путь к каталогу с программой.
 
kravekadzeДата: Понедельник, 09.04.2012, 04:49 | Сообщение # 7
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
Спасибо большое, и последнее, мой код правильно написан? Если нет поправте его пожалуйста.
 
AdminДата: Пятница, 13.04.2012, 16:27 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
Добавьте этот код в начало обработчика события нажатия кнопки "Завершить тест":

Code
  AnsiString path = ExtractFilePath(Application->ExeName);//путь к папке из которой запускается приложение
       const char *file = "test.txt";//имя файла
       path +=file;
       char *cpath = path.c_str();//окончательный адрес файла

       FILE *F;//указатель потока
       if ((F = fopen(cpath, "at")) == NULL)
       {
        ShowMessage("Не получается создать файл");
        return;
       }

       char fio[70];//массив символов для хранения ФИО
       strcpy(fio, Form1->Edit1->Text.c_str());//копируем текст из Edit с формы приветствия в массив

       fprintf(F, "%s - %i \n", &fio, s);//выводим результат в файл в виде "ФИО" - "количество баллов"
       fclose( F );//закрываем поток


И добавьте #include <fstream.h> .
 
fanCreadДата: Вторник, 03.07.2012, 06:11 | Сообщение # 9
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
здравствуйте, это снова я, очень помогла ваша помощь, сдал курсовую на 5. Но мне снова нужна ваша помощь! Подскажите как сделать чтоб ответ на вопрос нужно было вписать самому в Edit, и чтоб за каждый вопрос выставлялось 10 баллов а не 1?

Сообщение отредактировал Admin - Вторник, 03.07.2012, 12:56
 
AdminДата: Вторник, 03.07.2012, 13:03 | Сообщение # 10
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
Умножайте конечное число баллов на 10, вот вам и будет тот же эффект. Или проверку ответа по другому сделайте. Вместо:
if(i==pravil_otvet)s++;
сделайте:
if(i==pravil_otvet)s += 10;

Что качается второго вопроса, то вам придется переделывать структуру проверки ответов. Все зависит от того, что будет находится в Edit - целые числа, вещественные числа, текст.
 
fanCreadДата: Среда, 04.07.2012, 16:04 | Сообщение # 11
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
спасибо, поторопился с вопросом так-как сделал это сам) и у меня новый вопрос программу сделал, на первой форме у меня вопросы с выбором ответа, а на второй с вписыванием ответа в Edit но не могу сделать чтоб они складывались, чтоб после их сохранить и вывести в таблицу. вот моя программа посмотрите может подскажите как сделать _rghost.ru/39023374

Сообщение отредактировал fanCread - Четверг, 05.07.2012, 02:58
 
AdminДата: Среда, 04.07.2012, 17:52 | Сообщение # 12
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
Суммируйте переменные, отвечающие за количества баллов.
 
fanCreadДата: Четверг, 05.07.2012, 03:07 | Сообщение # 13
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
он почему то не берет переменную "s" со второй формы может её как-то объявить по другому надо?
 
AdminДата: Четверг, 05.07.2012, 10:58 | Сообщение # 14
Генералиссимус
Группа: Администраторы
Сообщений: 65
Статус: Offline
Надо объявить её глобальной:
extern int s = 0;
А в других модулях просто:
int s;
 
DeerДата: Воскресенье, 29.03.2015, 18:26 | Сообщение # 15
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Offline
У меня пишет ошибку File, F, fopen, fprintf, fclose (((
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright H-L-L.RU © 2024
Сделать бесплатный сайт с uCoz