Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GarrisonD
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 22
#1

Массивы. Ошибка в программе - C++

09.07.2012, 12:10. Просмотров 297. Ответов 1
Метки нет (Все метки)

Почему я с клавиатуры ввожу в массив данные русским текстом, а массив запоминает какие-то "кракозябли"?
И из за этого проверка условия не срабатывает... Помогите решить проблему.
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
#include <fstream>
#include <iostream>
#include <string>
 
using namespace std;
 
void main()
{
    string mass [ 10 ];
        
    setlocale(LC_CTYPE, "RUS");
    
    for ( int a = 0; a < 10; a++ )
        {
            cout << "\t";
            cin >> mass [ a ];
            if ( mass [ a ] == "Конец" )
            {
                file << mass [ a ];
            }
            else file << mass [ a ];
            break;
        }
}
И ещё одна проблемма... При сохранении данных массива в текстовый файл на диск пишет слово, а потом много-много "HHHH...". Как это исправить?
C++
1
2
3
4
5
6
7
8
9
10
11
for ( int a = 0; a < number; a++ )
        {
            cout << "\t";
            cin >> mass [ a ];
            if ( mass [ a ] == "Конец" )
            {
                file << mass [ a ];
            }
            else file << mass [ a ];
            break;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2012, 12:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы. Ошибка в программе (C++):

Массивы. Ошибка в программе - C++
Помогите, пожалуйста, решить задачу! Почему не проверяется условие с массивом. Что не так? Весь текстовый файл у меня забит словами...

Массивы. Ошибка в программе - C++
Подскажите, пожалуйста, в чем ошибка программы. Дело в том, что она должна выводить три разных слова по порядку как они указаны в файле, а...

нужно найти ошибку в программе с++ на двумерные массивы - C++
void task_1(int** A, int M ) { int i, j; double sum=0; bool flag=0; printf(&quot;\n1 задание: &quot;); for(i=0; i&lt;M; i++) for(j=0;...

Вопрос по программе на тему: Массивы и указатели. Динамическое выделение памяти - C++
народ, очень прошу! пожалуйста! Помогите решить задачку на тему: Массивы и указатели. Динамическое выделение памяти Вот задача. ...

Ошибка в программе! - C++
найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N. Выведите целое число Q. Если...

Ошибка в программе - C++
Доброе утро! Прошу у вас помощи с программой: не хочет работать. Буду очень благодарен за любую помощь! // ConsoleApplication1.cpp:...

1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
09.07.2012, 14:29 #2
Пользуйтесь SetConsoleCP (1251), SetConsoleOutputCP (1251) или system("chcp 1251")
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
#include <fstream>
#include <iostream>
#include <string>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    string mass [10];
    //system("chcp 1251");
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    for ( int i = 0; i<10; i++ )
    {
        cin >> mass [i];
        if ( mass [i] == "Конец" )
        {
            cout << mass [i];
        }
        else 
            cout << mass [i];
        break;
    }
    system("pause");
    return 0;
}
Добавлено через 1 час 23 минуты
Вот немного доработал код, надеюсь то что надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ofstream file;
file.open("output.txt", ios::out | ios::trunc);
if (!file.is_open())
{
    cerr<<"Не удалось открить файл"<<endl;
    file.clear();
}
for ( int i = 0; i<10; i++ )
{
    file << "\t";
    cin >> mass [i];
    if ( mass [i] == "Конец" )
    {
        file << mass [i];
        break;
    }
    else 
        file << mass [i];
    continue;
}
file.close();
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2012, 14:29
Привет! Вот еще темы с ответами:

Ошибка в программе - C++
Помогите запустить программу,а то пишет: C:\Users\Desktop\source\deykstra.cpp|4|fatal error: iostream.h: No such file or directory| Вот...

Ошибка в программе - C++
нужно найти кол-во нулевых элементов в массиве #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using...

Ошибка в программе - C++
Программа выдает ошибку: error C2664: month_day: невозможно преобразовать параметр из 'int' в 'int *' 1&gt; Для преобразования из...

Ошибка в программе - C++
Во-первых извиняюсь, что пишу анг. буквами. У меня проблема, пробую запустить программу, а мне выдает ошибку &lt; попытка деления на ноль &gt;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru