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

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

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

Оператор case. Помогите найти ошибку. - C++

17.11.2013, 01:17. Просмотров 458. Ответов 10
Метки нет (Все метки)

Ребят помогите почему он выводит на таком языке???
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <locale.h>
using namespace std;
void mewen();
void cas();
int main ()
{   setlocale(0, "rus" );
    int v;
    do{ 
     system("cls");
     cout<<"1.Структура 'Выбор'.\n";
     cout<<"2.Область поподуния в цель.\n";
     cin>>v;
    switch (v) {
    case 1:
         cas ();
    break;}
    cout<<"\nEсли вы хотите завершить программу нажмите 1.";
    cin>>v;
         }while(v!=1);
    _getch();
    return 0;
}
void cas ()
{string st,st1,st2;
int x,i;
 system("cls"); 
       cout <<"Введите слова\n";
       cin>>st;
       cout<<"Выберете в каком падаже хотите видеть слово:\n1.Именительный\n2.Родительный\n3.Дательный\n4.Винительный\n5.Творительный\n6.Предложный\n";
       cin>>x;
       i=st.length()-1;
       st1=st;
       st1=st1.erase(i,1);
       st1=st1+'и';
       st2=st+'ю';
    switch (x){
           case 1:
           case 4:cout<<st;break;    
           case 2:
           case 3:
           case 6:cout<<st1;break;
           case 5:cout<<st2;break;}
};

Кликните здесь для просмотра всего текста
Оператор case. Помогите найти ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2013, 01:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор case. Помогите найти ошибку. (C++):

Используя оператор выбора case найти значение - C++
Используя оператор выбора case найти значение

Помогите исправить ошибку: string не найден оператор - C++
Когда хочу напечатать строку string то появляется ошибка что не найден оператор #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Тернарный оператор - найти ошибку в коде - C++
Не пойму почему выдает ошибку, вроде программы самые простые и ошибиться то негде: #include&lt;iostream&gt; using namespace std; int main()...

Оператор for: найти сумму n элементов ряда (выдает ошибку) - C++
Для заданного ряда необходимо найти сумму N элементов ряда (с использованием оператора FOR. #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

Оператор case - C++
Ребята, снова нужна помощь. Хочу попробовать сделать одну программу в двух вариантах: if-else и case-default. Первый вариант выглядит...

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

10
programina
2046 / 601 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
17.11.2013, 03:40 #2
Компилируется?
Цитата Сообщение от Kosotornov Посмотреть сообщение
C++
st1=st1+'и';
0
MrGluck
Модератор
Эксперт CЭксперт С++
7521 / 4659 / 703
Регистрация: 29.11.2010
Сообщений: 12,721
17.11.2013, 04:17 #3
programina, а что тут не так?
Kosotornov,
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
в main заместо setlocale.
0
Kosotornov
1 / 1 / 0
Регистрация: 24.05.2013
Сообщений: 41
17.11.2013, 04:45  [ТС] #4
Цитата Сообщение от programina Посмотреть сообщение
Компилируется?
да компилируется,я в "DEV C++" работаю
0
Kosotornov
1 / 1 / 0
Регистрация: 24.05.2013
Сообщений: 41
17.11.2013, 04:48  [ТС] #5
Цитата Сообщение от MrGluck Посмотреть сообщение
programina, а что тут не так?
Kosotornov,
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
в main заместо setlocale.
не проходит,еще хуже стало=(
Может это из за "DEV C++"
Кликните здесь для просмотра всего текста
Название: 1384649183-clip-885b[1].png
Просмотров: 58

Размер: 885 байт
0
ranebull
525 / 358 / 54
Регистрация: 23.06.2013
Сообщений: 1,182
Записей в блоге: 6
17.11.2013, 10:35 #6
Цитата Сообщение от Kosotornov Посмотреть сообщение
не проходит,еще хуже стало=(
Может это из за "DEV C++"
Кликните здесь для просмотра всего текста
В Code::Blocks и Dev C++ не получилось (что-то с кодировками).
А в Borland C++ Builder 6 без проблем.
0
Миниатюры
Оператор case. Помогите найти ошибку.  
programina
2046 / 601 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
17.11.2013, 10:42 #7
Цитата Сообщение от MrGluck Посмотреть сообщение
а что тут не так?
У string нет операции + для чаров.
Bash
no match for operator+ in ‘str + ...
Добавлено через 1 минуту
У меня на линукс все работает
C++
#include <iostream>
using namespace std;
 
int main()
{
    string str = "слово";
    int i = str.length() - 2;
    str = str.erase(i, 2);  
    str = str + "а";
    cout << str << endl;
}
0
IntelCoreDuo
11 / 11 / 0
Регистрация: 09.11.2013
Сообщений: 52
17.11.2013, 12:16 #8
Попробуй setlocate в main так прописать:
C++
1
setlocale(LC_ALL, "Russian");
0
MrGluck
Модератор
Эксперт CЭксперт С++
7521 / 4659 / 703
Регистрация: 29.11.2010
Сообщений: 12,721
17.11.2013, 15:31 #9
programina,
template <class charT, class traits, class Alloc>
basic_string operator+ (charT lhs, const basic_string<charT,traits,Alloc>& rhs);
http://www.cplusplus.com/reference/string/basic_string/operator+/
0
programina
2046 / 601 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
17.11.2013, 16:22 #10
У меня не рабоатает ( gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3 )
0
Alex5
1103 / 764 / 119
Регистрация: 12.04.2010
Сообщений: 1,943
17.11.2013, 18:39 #11
В Windows 7 работает такой способ.
Локаль ".866", а для ввода и вывода - wcin, wcout.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int test()
{
    setlocale (LC_ALL, ".866" );
 
    cout << " cout - Кириллица \n";
    wcout << L" wcout - Кириллица \n";
 
    //wchar_t w[400] = {};
    //wcout << L"Input: ";
    //wcin >> w;
    //wcout << endl << L"Your input: " << w << endl;
 
    wstring wstr;
    wcout << L"Input: ";
    wcin >> wstr;
    wcout << endl << L"Your input: " << wstr << endl;
 
    _getch();
    return 0;
}
0
Миниатюры
Оператор case. Помогите найти ошибку.  
17.11.2013, 18:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2013, 18:39
Привет! Вот еще темы с ответами:

оператор swich и case - C++
Select Case b Case Is = 1 Pole.Text = a + Pole.Text End Select как будет это на си ???

Оператор case switch - C++
можно ли в Си, ввести оператор выбора так, чтобы проверялось не точное совпадение, а проверялось входит ли переменная в заданный интервал ?

Оператор switch case - C++
Вопрос состоит в следующем: почему после case ставится одинарное двоеточие вместо обычных фигурных скобок, и где еще в C++ используется...

Оператор Switch,Case - C++
Парни можете ли вы объяснить все функции оператора Switch и Case. Буду очень признателен :)


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

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

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