1 / 1 / 0
Регистрация: 02.04.2022
Сообщений: 27
1

Как можно правильно поменять код?

22.05.2022, 17:31. Показов 571. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня задание в универе, нужно сделать программу которая будет создавать файл с тестами и ответами а позже он будет интегрироваться в приложение, где юзер будет его проходить. Я написал код, но мне интересно, как сделать так чтобы не писать огромный код для каждого теста, а программа автоматически определяла нужный ответ. Буду благодарен за ответ
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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    ofstream file;
    file.open("Test.txt");
    file << "Какой include нужно использовать для строк? \nA) String B) fstream C) iostream" << endl;
    file.close();
    ifstream fileo;
    fileo.open("Test.txt");
    cout << ifstream("Test.txt").rdbuf();
    char Otvet;
    cin >> Otvet;
    char T = '0';
    char F = '0';
    if (Otvet == 'A')
    {
        cout << "Правильно!" << endl;
        T++;
    }
    else
    {
        cout << "Неправильно. Правильный вариант ответа A";
        F++;
    }
    cout << "Правильных ответов " << T << endl;
    cout << "Неправильных ответов " << F << endl;
    file.close();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2022, 17:31
Ответы с готовыми решениями:

Подскажите, пожалуйста, как правильно поменять код в header?
Шапка сайта на всех страницах. В сингл-записях она меняется на изображение записи. И вот захотелось...

Можно как то, поменять код ниже что бы он импортировал excel файл?
Нужно изменить код ниже что он импортировал excel файлы, помогите! Процедура...

В чём ошибка? Почему пишет,что #include "stdafx.h" не работает и тд нету библиотеки,как можно код поменять?
В чём ошибка? Почему пишет,что #include &quot;stdafx.h&quot; не работает и тд нету библиотеки,как можно код...

Можно ли, и если можно то как перевести код SQL в код С#
КОД ПРОГРАММЫ void __fastcall TForm1::SKChange(TObject *Sender) //Выбор таблицы { ...

Односвязный список (псевдокод) - поменять два элемента местами (посмотреть, правильно ли написан код)
Дан односвязный список 0...9 Дан указатель на первый элемент - p Поменять местами 5 и 6 node...

3
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,588
22.05.2022, 19:57 2
Лучший ответ Сообщение было отмечено Pilotcraft как решение

Решение

Организовать дата-центрированный код, выделить сущность, дальше примерно то же самое.

Пример:
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
#include <iostream>
#include <vector>
 
struct QuizItem {
    std::string question;
    std::vector<std::string> answers;
    std::size_t correctAnswer;
};
 
std::istream &operator>>(std::istream &in, QuizItem &item) {
    std::getline(in, item.question);
    std::size_t answersCount;
    in >> answersCount >> item.correctAnswer;
    in.get();
    item.answers.resize(answersCount);
    for (std::size_t i = 0; i < answersCount; ++i) {
        std::getline(in, item.answers[i]);
    }
    return in;
}
 
std::ostream &operator<<(std::ostream &out, const QuizItem &item) {
    out << "Question: '" << item.question << "': " << std::endl;
    std::size_t n = 0;
    for (const auto &i : item.answers) {
        out << n++ << ") " << i << std::endl;
    }
    return out << "(correct answer: " << item.correctAnswer << ")";
}
 
int main() {
    QuizItem i;
    std::cin >> i;
    std::cout << i;
 
    return 0;
}
Добавлено через 53 секунды
In:
Код
What is love?
3 0
Baby don't hurt me
Don't hurt me
No more
Out:
Код
Question: 'What is love?': 
0) Baby don't hurt me
1) Don't hurt me
2) No more
(correct answer: 0)
1
1 / 1 / 0
Регистрация: 02.04.2022
Сообщений: 27
22.05.2022, 23:14  [ТС] 3
Спасибо, не сразу понял твой код, но посмотрел видео про векторы и ещё пару тегов, и вроде бы понял как всё работает, у меня только один вопрос. Почему ты пишешь
C++
1
std::
если же можно написать
C++
1
using namespace std;
и не писать каждый раз
C++
1
std::
?
1
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,588
22.05.2022, 23:52 4
Потому что смешивание пространств имён -- плохая практика, приводящая к неоднозначным вызовам.

Если примитивно:
Количество хороших имен ограничено.
В крупных программах они обязательно начнут повторяться.
Поэтому придумали пространства имён, позволяющее разделить одинаковые именования.
Смешать их подобным образом означает прийти к исходной проблеме, которую решают пространства имён.
1
22.05.2022, 23:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2022, 23:52
Помогаю со студенческими работами здесь

Односвязный список (псевдокод) - поменять два элемента местами (посмотреть, правильно ли написан код)
Дан односвязный список 0...9 Дан указатель на первый элемент - p Поменять местами 5 и 6 node...

Как сделать правильно список из списков объектов? Не могу правильно код написать
Нужно импортировать из csv данные о файлов, поместить в список, причем в него нужно помещать...

Как в настройках Windows XP можно можно поменять звуковые каналы?
У меня так стоит ПК, что мне не удобно включать и регулировать звук справа, потому правая колонка у...

Куда можно вставить код с цветом, чтобы его поменять у этой фигуры?
Добрый вечер! Подскажите, пожалуйста, в какое место нужно подставить код, чтобы фигура поменяла...

Можно-ли со стороны клиента, через консоль, поменять код скрипта JavaScript на сайте.
Сделал счетчик скачиваний по клику на JS с ajax который в базу записывает то что нужно, возник...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru