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

Чтение из файла и строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив из переменных http://www.cyberforum.ru/cpp-beginners/thread710908.html
Добрый день! Интересует такой вопрос : как правильно сделать массив из переменных(при этом статического размера)? Обязательно ли делать динамический массив? Я делал таким образом : создавал статический массив, и указатель на него, и указателем пользовался как массивом, правильно ли это? Буду благодарен за помощь!
C++ Кол-во отрицательных элементов каждой строки в двумерном массиве Дан двумерный массив a. Найти кол-во отрицательных элементов каждой строки массива. http://www.cyberforum.ru/cpp-beginners/thread710884.html
mpi суммирование C++
Привет! Такой вопрос. Никак не могу додуматься до реализации такого фрагмента кода. Есть несколько потоков, для каждого из них есть массив, соответственно, один и тот же. В процессе работы программы надо суммировать соответствующие элементы каждого массива, допустим, в массив процесса 0. Как это можно сделать? Заранее спасибо за ответ!
Функция сравнивает 2 строки игнорируя количество пробелов между словами C++
Помогите Добавлено через 26 секунд Через print f
C++ Вывод результатов выполнения программы в текстовый файл http://www.cyberforum.ru/cpp-beginners/thread710867.html
Ребята, написал программу по поиску простых чисел в заданном диапазоне, решил результат выполнения этой программы, то есть все простые числа до заданного числа вывести в текстовый файл, но почему-то числа выводятся нормально только тогда, когда ищу их до 1000, а если, например, задать поиск до 2000, в текстовом файле вместе чисел появляются какие-то иероглифы. Вот код: #include <iostream>...
C++ Печатать число из набора случайным образом: 2, 4, 6, 8, 10 Помогите пожалуйста написать программу в цикле, которая будет печатать число из набора случайным образом: 2, 4, 6, 8, 10. В программе должен быть переключатель switch, и должны присутствовать функции rand или srand. Заранее Спасибо! подробнее

Показать сообщение отдельно
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
27.11.2012, 16:19     Чтение из файла и строки
Всем привет, у меня есть проблема со строками и чтением из файла. Предположим в файле 6 строк:
What?
A
Who?
B
Why?
C
Нужно чтобы первая выводилась, а вторая была ответом (программка типа тест вопрос-ответ)
Написал вот так:
C++ (Qt)
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
#include <iostream>
#include <fstream>
#include <cstring>
 
using namespace std;
 
char* vopr_otv(int& j, int& num_vopr, int kol_vopr, int& num_str){
    ifstream in("questions.txt");
 
    char s;
    char* ro = new char[20];
 
    if(num_vopr > 1){
        while(num_str < num_vopr + j){
            in.get(s);
            if(s == '\n') num_str++;
        }
    }
 
    while(num_vopr + j <= num_str){
        in.get(s);
        cout << s;
        if(s == '\n'){
            in >> ro;
            num_str++;
            break;
        }
    }
    in.close();
 
    j+=2;
 
    return ro;
}
int main()
{
    int num_vopr = 1, kol_vopr = 0, num_str = 1; //num_vopr - номер вопроса, kol_vopr - общее кол-во вопросов, num_str - номер строки с вопросом
    int j = 0;
 
    ifstream in("questions.txt");
 
    char s;
    while(!in.eof()){
        in.get(s);
        if(s == '\n') kol_vopr++;
    }
    in.close();
 
    kol_vopr /= 2;
 
    char* o;
    o = new char[20];
    char* ro;
    ro = new char[20];
    do{
        ro = vopr_otv(j, num_vopr, kol_vopr, num_str);
        cin >> o;
        int b = strlen(ro);
        int i = 0;
        while(i < b){
            if(ro[i] == o[i]){
                i++;
                continue;
            }
            cout << "\nNo. Right answer - " << ro << endl;
            break;
        }
        if(i == b){
            cout << "\nYes!\n";
        }
        num_vopr++;
    }while(num_vopr <= kol_vopr);
    return 0;
}
Только она выводит сперва первый вопрос, потом второй, а вместо третьего снова второй и тд (в зависимости от кол-ва вопросов, то есть он после 2-го будет выводить только 2-ой вопрос). Что мне делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru