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

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

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

Цикл не работает - C++

20.04.2014, 19:11. Просмотров 545. Ответов 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
// 2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream"
#include "string"
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char i; string s, st;
    setlocale(LC_ALL, "Russian");
    cout << "\nВведите команду c++dn; строчными буквами. Или введите c++exit; строчными буквами для выхода";
    do
    {
        cout << "\nКоманда-->"; cin >> s;
 
        if (s == "c++dn;")
        {
            cout << "\nВведите день недели от 1 до 7!\nДень недели-->"; cin >> i;
            switch (i)
            {
            case 1:st = "\nДень недели: 'Понедельник'"; break;
            case 2:st = "\nДень недели: 'Вторник'"; break;
            case 3:st = "\nДень недели: 'Среда'"; break;
            case 4:st = "\nДень недели: 'Четварг'"; break;
            case 5:st = "\nДень недели: 'Пятница'"; break;
            case 6:st = "\nДень недели: 'Субота'"; break;
            case 7:st = "\nДень недели: 'Воскресенье'"; break;
            }
        }
        return 0;
    } while (s == "c++exit;");
}
Почему цикл не работает. Проблема именно в цикле. И как исправить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 19:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикл не работает (C++):

Не работает цикл while - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale (0,&quot;Ukrainian&quot;); int chcount=0; int...

Не работает цикл - C++
Не могу понять почему не работает цикл. Объясните, пожалуйста. #include &lt;iostream&gt; using namespace std; int main(int...

Не работает цикл while() - C++
Подскажите, почему в функции Viewfull() цикл срабатывает только на половину while (m1!=m2 &amp;&amp; y1!=y2) то есть только для m1!=m2 void...

Не работает цикл!!! - C++
Help!!!!! Почему не считает цикл... опять где-то ошибся #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;iostream&gt; ...

Не работает цикл - C++
почему i всегда 0 ? #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main(void) { int j = 0; int n =...

Не работает цикл - C++
int Date::getYear() { int a; while (1) { cout&lt;&lt;&quot;Year: &quot;; cin&gt;&gt;a; if (a&gt;0||a&lt;10000) break; cout&lt;&lt;&quot;Error!&quot;&lt;&lt;endl; ...

10
zss
Модератор
Эксперт С++
6694 / 6256 / 2085
Регистрация: 18.12.2011
Сообщений: 16,334
Завершенные тесты: 1
20.04.2014, 19:15 #2
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
while (s == "c++exit;");
C++
1
while (s != "c++exit;");
0
Alexandr_777
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
20.04.2014, 19:17  [ТС] #3
Ошибка 1 error C2664: "int strcmp(const char *,const char *)": невозможно преобразовать аргумент 1 из "std::string" в "const char *" h:\мои программы или программирование\1 po c++\2\2\2.cpp 34 1 2

2 IntelliSense: не существует подходящей функции преобразования из "std::string" в "const char *" h:\мои программы или программирование\1 po c++\2\2\2.cpp 34 18 2

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
// 2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream"
#include "string"
#include <conio.h>
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char i; string s, st;
    setlocale(LC_ALL, "Russian");
    cout << "\nВведите команду c++dn; строчными буквами. Или введите c++exit; строчными буквами для выхода";
    do
    {
        cout << "\nКоманда-->"; cin >> s;
 
        if (s == "c++dn;")
        {
            cout << "\nВведите день недели от 1 до 7!\nДень недели-->"; cin >> i;
            switch (i)
            {
            case 1:st = "\nДень недели: 'Понедельник'"; break;
            case 2:st = "\nДень недели: 'Вторник'"; break;
            case 3:st = "\nДень недели: 'Среда'"; break;
            case 4:st = "\nДень недели: 'Четварг'"; break;
            case 5:st = "\nДень недели: 'Пятница'"; break;
            case 6:st = "\nДень недели: 'Субота'"; break;
            case 7:st = "\nДень недели: 'Воскресенье'"; break;
            }
        }
        return 0;
    } while (strcmp(s, "c++exit;") == 0);
}
0
zss
Модератор
Эксперт С++
6694 / 6256 / 2085
Регистрация: 18.12.2011
Сообщений: 16,334
Завершенные тесты: 1
20.04.2014, 19:19 #4
Пардон, перепутал
Надо
C++
1
while (s != "c++exit;");
0
Alexandr_777
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
20.04.2014, 19:22  [ТС] #5
Все равно не работает должно по руски звучать так
Выполняем пока пользователь не введет c++exit;
0
zss
Модератор
Эксперт С++
6694 / 6256 / 2085
Регистрация: 18.12.2011
Сообщений: 16,334
Завершенные тесты: 1
20.04.2014, 19:26 #6
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
return 0;
Вытащите из цикла
1
Alexandr_777
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
20.04.2014, 19:30  [ТС] #7
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
// 2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream"
#include "string"
#include <conio.h>
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char i; string s, st;
    setlocale(LC_ALL, "Russian");
    cout << "\nВведите команду c++dn; строчными буквами. Или введите c++exit; строчными буквами для выхода";
    do
    {
        cout << "\nКоманда-->"; cin >> s;
 
        if (s == "c++dn;")
        {
            cout << "\nВведите день недели от 1 до 7!\nДень недели-->"; cin >> i;
            switch (i)
            {
            case 1:st = "\nДень недели: 'Понедельник'"; break;
            case 2:st = "\nДень недели: 'Вторник'"; break;
            case 3:st = "\nДень недели: 'Среда'"; break;
            case 4:st = "\nДень недели: 'Четварг'"; break;
            case 5:st = "\nДень недели: 'Пятница'"; break;
            case 6:st = "\nДень недели: 'Субота'"; break;
            case 7:st = "\nДень недели: 'Воскресенье'"; break;
            }
        }
        
    } while (s!="c++exit;");
}
Работает но хотелось бы узнать что делает != если == сравнение а ! аналогично паскалю <>
0
zss
Модератор
Эксперт С++
6694 / 6256 / 2085
Регистрация: 18.12.2011
Сообщений: 16,334
Завершенные тесты: 1
20.04.2014, 20:12 #8
Да, именно "не равно"
0
Alexandr_777
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
20.04.2014, 20:29  [ТС] #9
Теперь другая проблема возникла
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
// 2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream"
#include "string"
#include <conio.h>
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    char i; string s;
    setlocale(LC_ALL, "Russian");
    cout << "\nВведите команду c++dn; строчными буквами. Или введите c++exit; строчными буквами для выхода";
    do
    {
        cout << "\nКоманда-->"; cin >> s;
 
        if (s == "c++dn;")
        {
            cout << "\nВведите день недели от 1 до 7!\nДень недели-->"; cin >> i;
            switch (i)
            {
            case 1:cout << "\nДень недели: 'Понедельник'"; break;
            case 2:cout <<  "\nДень недели: 'Вторник'"; break;
            case 3:cout << "\nДень недели: 'Среда'"; break;
            case 4:cout << "\nДень недели: 'Четварг'"; break;
            case 5:cout << "\nДень недели: 'Пятница'"; break;
            case 6:cout << "\nДень недели: 'Субота'"; break;
            case 7:cout << "\nДень недели: 'Воскресенье'"; break;
            }
        }
        
    } while (s!="c++exit;");
}
Усливие if почемута не выполняется точнее оно выполняется но Case не работает после ввода недели и нажатия ввод он не выводит сообщение а выводит это сообщение cout << "\nКоманда-->"; cin >> s;
0
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
20.04.2014, 20:51 #10
Замените char i на int i
0
Alexandr_777
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
20.04.2014, 20:54  [ТС] #11
помогло. Спасибо.
0
20.04.2014, 20:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 20:54
Привет! Вот еще темы с ответами:

Не работает цикл - C++
Задание к примеру ввожу матрицу 2х2 1 2 3 4 должно выдать 4 а выдаёт 2 в чём проблема?

Не работает цикл for - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int x; for(x=0; x&lt;10; x++); cout &lt;&lt; x &lt;&lt; &quot; &quot;; ...

Цикл for не работает - C++
начал учить с++ дошол к циклам, написал вот такой код, а он видает только число 11, подскажите в чем проблема? #include &lt;iostream&gt; ...

Не работает цикл - C++
Доброго времени суток. Только начал изучать этот язык в институте, а там уже лабы требуют, и я в ужасе пытаюсь их успевать делать) Дали...


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

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

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