Форум программистов, компьютерный форум CyberForum.ru

Как сделать запись данных из файла в массив по условию для программы тестирования? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа ввода вывода массивов http://www.cyberforum.ru/cpp-beginners/thread1768132.html
Программа ввода\вывода массивов. Вводишь 10 элементов массива, далее программа выводит в столбец эти элементы. Строка 17.цикл while выполняется при условии, что ввод элемента массива не успешен(например, введена буква). Тогда вам нужно ввести ввести значение i-ого элемента массива ещё раз. В чём заключается ошибка: когда вводишь набор букв(kfjdk), то цикл работает. А когда вводишь сначала число а...
C++ Как этот массив переделать в статический? #include <stdlib.h> //для system #include <stdio.h> //для fscanf #include <iostream> //для cout #include <iomanip> //для setw using namespace std; int N; //Строк int M; //Столбцов int ** A; //Матрица int n; http://www.cyberforum.ru/cpp-beginners/thread1768121.html
C++ Сброс буфера вывода
Здравствуйте.Изучаю библиотеку ввода и вывода, познакомился тремя способами сброса буфера: endl, flush, ends. Могли бы вы привести примеры,в каких случаях нужно(лучше,правильнее) использовать определённый манипулятор?(Чем отличаются знаю) P.S.Манипулятор ends по идее должен вывести ещё и нулевой символ,но у меня просто пробел, так и должно быть?
Реализация ispunct при использовании потоков C++
Дана программа-переводчик с англ. на русский. Проблема в том, что при вводе текста со знаками препинания или с регистром не считывается перевод. Как реализовать ispunct при использовании в программе потоков? Или стоит другую функцию реализовать? Прошу вас о помощи. Спасибо за понимание
C++ Функция поиска в массиве, количества элементов подходящих условию http://www.cyberforum.ru/cpp-beginners/thread1768009.html
Подскажите пожалуйста, почему при компиляции прекращается работа программы, в чем ошибка? #include <iostream> #include <cmath> #include <cstdlib> #include <math.h> using namespace std; void f(); int main( ){ f();
C++ Дописать функцию удаления по заданному ключу для списка Ребят, нужно чуть дописать, весь мозг сломал:wall: #include <iostream> #include <iomanip> #include <Tchar.h> #include <locale.h> #include <conio.h> #include <string.h> using namespace std; // переменные struct muz { подробнее

Показать сообщение отдельно
c3490375
1 / 1 / 0
Регистрация: 04.06.2016
Сообщений: 61
Завершенные тесты: 1
21.06.2016, 23:25  [ТС]     Как сделать запись данных из файла в массив по условию для программы тестирования?
Цитата Сообщение от Krock21rus Посмотреть сообщение
Правда появилась идея?
или это дали задачу такую?
просто с такими входными данными трудно работать
Правда, идея, ибо в университете множество тестов и просто читая - сложновато запомнить.
Другие тесты - нужно забивать самому - это долговато, да и трудоемко.
Есть ли другой вариант по поводу заполнения массива структур?
Кстати - она не хочет показываться, не знаю - почему?

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <Windows.h>
#include <string>
 
using namespace std;
 
struct test
{
    string question; // Вопрос
    string ans1; // Ответ 1
    string ans2; // Ответ 2
    string ans3; // Ответ 3
    string ans4; // Ответ 4
    string ransw; // Правильный ответ
};
 
void main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    //----------------------------------------------------//
    //Считаем кол-во вопросов
    string string1;
    int n = 0;
    ifstream fin("test.txt");
    while (fin)
    {
        getline(fin, string1);
        if (string1.empty())
        {
            n++;
        }
    }
    cout << "Кол-во вопросов в файле: " << n << endl;
    fin.seekg(0, ios::beg); // Устанавливаем указатель в начало файла.
    //----------------------------------------------------//
    test *questions = new test[n]; // Выделяем динамическую память под кол-во вопросов.
    char ch1 = '*',
        ch2 = '@';
    int nowp = 0; // текущая позиция в questions
    int nowans = 1; // текущий ответ
    for (int i = 0; i < n; i++) // Не знаю как реализовать запись в массив структур.
    {
        getline(fin, string1);
        if (string1.empty())
        {
            nowp++;
            nowans = 1;
            continue;
        }
        if (string1[0] == ch1) // считали правильный ответ
        {
            questions[nowp].ransw = string1.substr(1, string1.size() - 1);
        }
        else if (string1[0] == ch2) // считали вопрос
        {
            questions[nowp].question = string1.substr(1, string1.size() - 1);
        }
        else // считали ответ
        {
            if (nowans == 1)questions[nowp].ans1 = string1;
            if (nowans == 2)questions[nowp].ans2 = string1;
            if (nowans == 3)questions[nowp].ans3 = string1;
            if (nowans == 4)questions[nowp].ans4 = string1;
            nowans++;
        }
    }
    for (int i = 0; i < n; i++)
    {
        cout  << i << "-q:\n" << questions[i].question << endl << questions[i].ans2 << endl << questions[i].ans3 << endl << questions[i].ans4 << endl << questions[i].ransw << endl;
    }
    delete[] questions;
    system("pause");
}
Миниатюры
Как сделать запись данных из файла в массив по условию для программы тестирования?  
 
Текущее время: 18:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru