Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 18.05.2010
Сообщений: 10

Программа для похождения тестов

19.05.2010, 17:08. Показов 728. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Помогите пожалуйста. В общем у меня дан файл, в нём содержатся вопрос и ответ в одной строке(Пример: Vopros bla bla bla? Otvet bla bla bla.) и таких вопросов и ответов много, У меня возникла проблема при написании когда, я не знаю как переместится на следующую строку в файле, чтобы,перейти к следующему вопросу, а также я не понимаю почему у меня останавливается запись из файла строки в переменную типа char, как только встречает пробел.
Во примерный код, алгоритм конечно не очень, но тем не менее должен работать, на лишнее не обращайте внимания, если можете, то поправьте код, пожалуйста =)
Программа консольная
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main ()
{int N,i,j,s,k,z;
char Vopr[100], temp[100], Otvet[100];
ifstream FILE_IN;
cout<<"Vvedite colichestvo voprosov ";
cin>>N;
FILE_IN.open("test.txt",ios::in);
cout<<endl;
i=0;
j=0;
s=0;
for (k=0;k<N;k++)
    {
        FILE_IN>>Vopr;
        cout<<endl;
        while (Vopr[i]!='?')
            {
            cout<<Vopr[i];
            i++;
            }
            cout<<Vopr[i]<<endl;
            cin>>Otvet;
        while (Vopr[i+1]!='.')
            {
            /*FILE_IN[z][100]>>temp;*/
            /*temp[j]=Vopr[i+1];*/
            s++;
            i++;
            j++;
            }
        z+=1;
if (strcmp(temp,Otvet)) cout<<"pravilno"; else cout<<"nine =(";
    }
cout<<endl;
FILE_IN.close();
system ("pause");
}
Добавлено через 18 часов 47 минут
Сам допёр как сделать, кому надо, берите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main ()
{int N,i,j,k,Vernii=0, Nevernii=0,Ocenka;
const int size = 100;
char Vopr[100], temp[100], Otvet[size], FIO_GR[size],dstv;
cout<<"--------------test v0.3a--------------"<<endl;
do{
cout<<"      Menu"<<endl;
cout<<"1. Nachat test"<<endl;
cout<<"2. Exit"<<endl;
cout<<"3. Vivesi bazu rezultatov"<<endl;
cin>>dstv;
switch(dstv){
    //"начать тест"(готово)
    case'1':{ifstream FILE_IN;//открытие потока IN
    ofstream FILE_OUT;//открытие потока OUT
    cin.getline(FIO_GR, size*sizeof(char));
    FILE_IN.open("test.txt",ios::in);//количество вопросов в тесте, считывается с файла, задаётся первым параметром
    FILE_IN>>N;
    FILE_IN.close();
    cout<<"Vvedite FIO i nomer gruppi: ";
    cin.getline(FIO_GR, size*sizeof(char));//Ввод FIO
    cout<<endl;
    cout<<"Colichestvo voprosov v teste: ";
    cout<<N;//Вывод количества вопросов
    FILE_IN.open("test.txt",ios::in);//открытие потока
    cout<<endl;
    cout<<endl;
    FILE_IN.getline(Vopr,100);//система перехода на новую строку, работает и ладно =D
    for (k=0;k<N;k++)//цикл батрачит
        {
            i=0;
            j=0;
            FILE_IN.getline(Vopr,100);//копирование вопроса
            cout<<endl;
            cout<<"Vopros N#"<<k+1<<endl;
            while (Vopr[i]!='?')
                {
                cout<<Vopr[i];
                i++;
                }
                cout<<Vopr[i]<<endl;
                cout<<"Otvet: ";
                cin.getline(Otvet, size*sizeof(char));
            while (Vopr[i+2]!='.')//цикл присваивания для сравнения, не знаю как напрямую работать через файл и можно ли вообще
                {
                temp[j]=Vopr[i+2];
                i++;
                j++;
                }
            temp[j]='\0';//закрываем строку от лишнего мусора
            cout<<"Result: ";
    if (strcmp(temp,Otvet)) //сравнение ответа студента с исходником
    {cout<<"nine =(\n";
    Nevernii++;}
    else
    {cout<<"Pravilno\n";
    Vernii++;}
    cout<<endl;
    }
    FILE_IN.close();//закрытие потока
    Ocenka=(Vernii*5)/N;//алгоритм выставления 
    if (Ocenka<2) Ocenka=2;//оценки
    cout<<"Zdaushii: "<<FIO_GR<<'\n'<<endl;
    cout<<"Colichestvo vernih otvetov: "<<Vernii;
    cout<<"       Colichestvo nevernih otvetov: "<<Nevernii<<'\n';
    cout<<"Itogovaya Ocenka za sest: "<<Ocenka<<'\n'<<endl;
    FILE_OUT.open("result.txt", ios::app);//запись
    FILE_OUT<<FIO_GR<<"    Colichestvo vernih otvetov: "<<Vernii<<"      Colichestvo nevernih otvetov: "<<Nevernii<<"       Ocenka: "<<Ocenka<<'\n';//рузельтатов в файл
    FILE_OUT.close();//закрытие потока
            break;}
    case'3': if ()
            }
        }while(dstv!='2');
         cout<<"Spasibo za polzovanie nasheii programmi (v 0.3a)\n"<<endl;//выход(готово)
         system ("pause");
}
Ещё хочу сделать функцию парольного доступа к базе данных
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2010, 17:08
Ответы с готовыми решениями:

Программа для создания тестов
Подскажите а то вообще не понимаю с чего начать Помогите позарез нужно Короче нужна такая программа которая могла бы создавать...

Похождения коня
Добрый день! Пишу программу для решения шахматной задачи &quot;Похождения коня,&quot; ( Условие : Требуется обойти конем все 64 клетки...

Программа - тест. Тестер. Конструктор тестов
У меня дипломный проект. Нужно создать программу, которая бы оценивала знания студентов. Программа должна состоять из двух частей:...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2010, 17:08
Помогаю со студенческими работами здесь

из EM_STREAMOUT в EM_STREAMIN, или зацикленные похождения капитана CALLBACK
Всем привет, есть желание скопировать часть текста одного окна richedit в другой. Не мудрствуя лукаво, составлены два коллбека и...

Программа для тестов - как грамотно подойти к редактированию тестов
Что я пишу: Вот пишу приложение для создания тестов, dll с классами самих тестов и приложение, которое будет уже отображать эти тесты,...

Программа для создания тестов
Выполняя одну из практических работ по методичке (не являюсь программистом, учу это все для себя), столкнулся с проблемой, которую не знаю...

Программа для создания тестов
Ребята помогите создать тестовую приложение с формами,чтобы был редактор ,можно было заново создавать

Программа для создания тестов
Нужна помощь, пожалуйста оформите программу для создании тестов(сам макет), код я нашёл вот он. Если не принципиально и будет не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru