Форум программистов, компьютерный форум 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 { подробнее

Показать сообщение отдельно
nstwf
87 / 77 / 30
Регистрация: 19.02.2016
Сообщений: 324
Завершенные тесты: 1
24.06.2016, 14:30     Как сделать запись данных из файла в массив по условию для программы тестирования?
Переделайте под себя.
Универсальная программа тестирования
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
#include <stdio.h>
#include <conio.h>
#include <string>
 
using namespace std;
void main(int argc, char* argv[])
{
    char fname[40];
    FILE* f; 
    int VsegoVopr = 0;
    int PravOtv = 0; 
    int nOtv;
    int Prav;
    int Otv;
    int p;
    char st[80]; 
    int i; 
    if (!argc)
    {
        puts("\nНе задан файл вопросов теста!");
        puts("Командная строка: test ИмяФайлаТеста\n");
        return;
    }
    strcpy(fname, argv[1]); // имя файла из командной строки
                            // Открыть файл в режиме чтения (r) текста (t)
    if ((f = fopen(fname, "rt")) == NULL)
    {
        printf("Ошибка открытия файла %s", fname);
        getch();
        return;
    }
    system("cls");
    puts("\nСейчас Вам будет предложен тест.");
    puts("К каждому вопросу дается несколько вариантов ответа.");
    puts("Вы должны ввести номер правильного ответа");
    puts("и нажать клавишу <Enter>\n");
    printf("Для начала тестирования нажмите <Enter>");
    _getch();
    system("cls");
    while (!feof(f))
    {
        VsegoVopr++;
        fgets(st, 80, f);
        printf("\n%s\n", st);
        fscanf(f, "%i %i", &nOtv, &Prav);
        fgets(st, 80, f); 
        for (i = 1; i <= nOtv; i++)
        {
            fgets(st, 80, f);
            printf("%i. %s", i, st);
        }
        printf("\nВаш выбор ->");
        scanf("%i", &Otv);
        if (Otv == Prav) PravOtv++;
    }
 
 
    p = 100 * PravOtv / VsegoVopr;
    printf("\nВаша оценка - ");
    if (p == 100) puts("ОТЛИЧНО!");
    if (p >= 99 && p <= 80) puts("ХОРОШО.");
    if (p >= 60 && p <= 79) puts("УДОВЛЕТВОРИТЕЛЬНО.");
    if (p < 60) puts("ПЛОХО!\n");
    puts("\nДля завершения нажмите <Enter>");
    getch();
}
 
Текущее время: 20:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru