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

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

Войти
Регистрация
Восстановить пароль
 
Japanese
9 / 9 / 1
Регистрация: 14.11.2010
Сообщений: 126
#1

cout выводит сообщение один раз..больше не хочет.... - C++

20.12.2010, 20:05. Просмотров 576. Ответов 4
Метки нет (Все метки)

13 и 14 строки выполняются только один раз при запуске программы. Почему? Все вроде правильно сделал
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
67
68
69
70
71
72
73
74
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
 
int check (int exit, int number);               // в этой функции выполняются почти все действия программы
 
int main()
{
    int exit = 1; 
    int number;                     // число вводимое пользователем
    while (exit == 1)               // если exit == 0 оператор завершит цикл и программа закроется
    {
        cout << "Введите число от 1 до 100: " << endl;
        cin >> number;
        exit = check(exit, number); 
        
    }
    getch();
    return 0;
}
 
int check (int Exit, int number)
{
    int choice;
    int result;
    
    while (number <=0 || number >=101)      // данный цикл выводит сообщение об ошибке, при неправильном вводе, и требует повторный ввод.
    {
        cout << "Некорректный ввод!" << endl;
        cout << "Введите число от 1 до 100: " << endl;
        cin >> number;
    }
    while (number >=1 && number <=100)      // данный цикл выводит меню в котором можно выбрать определенное действие над введеным, пользователем, числом.
    {
            cout << "Вы ввели число " << number << ". Какое действие провести над ним?\n" << endl;
            cout << "(1) Умножить на 2.\n(2) Разделить на 2.\n(3) Прибавить к 2.\n(4) Вычесть 2.\n(5) Выход из программы.\n" << endl;
            cin >> choice;
        while (choice <=0 || choice >=6)        // если пользователь ввел неверную цифру, программа сообщит об ошибке.
        {
            cout << "Некорректный ввод! Повторите попытку." << endl;
            cin >> choice;
        }
 
    switch (choice)
    {
    case (1):
        result = number * 2;
        cout << number << " * 2 = " << result << endl;
        cout << endl;
        break;
    case (2):
        result = number / 2;
        cout << number << " / 2 = " << result << endl;
        cout << endl;
        break;
    case (3):
        result = number + 2;
        cout << number << " + 2 = " << result << endl;
        cout << endl;
        break;
    case (4):
        result = number - 2;
        cout << number << " - 2 = " << result << endl;
        cout << endl;
        break;
    case (5):
        cout << "Нажмите любую клавишу для выхода из программы..." << endl;
        Exit--;
        return Exit;
    }
    }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2010, 20:05     cout выводит сообщение один раз..больше не хочет....
Посмотрите здесь:

C++ Cout не выводит строку.
C++ Написать программу,которая находит все слова,в которых буква "а" встречается больше чем один раз.
При компиляции объект cout выводит ноль C++
C++ cout Выводит не те символы
Все компилируется, ничего не работает, cout не выводит текст C++
Лишний раз выводит сообщение C++
Вместо значений массива в cout выводит адреса C++
Выводит на экран сразу два cout C++
Cout не выводит числа C++
C++ Cout не выводит информацию на экран
Cout выводит только первые 3-4 символа C++
Не выводит последний COUT(20 12 2016) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
670 / 412 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
20.12.2010, 20:45     cout выводит сообщение один раз..больше не хочет.... #2
case (1):
пишется так
C++
1
case 1:
ну и так далее, первое что бросилось в глаза

Добавлено через 3 минуты
так же ваша функция должна в любом случае что то возвращать, при выборе 5 она возвращает false, а в остальных случая она должна возращать true, перед концом сделайте return true;
В вашем коде строка появляется один раз потому что метод ничего не возвращает и в итоге exit уже не будет равна 1, а будет неопределенное значение
Japanese
9 / 9 / 1
Регистрация: 14.11.2010
Сообщений: 126
20.12.2010, 20:52  [ТС]     cout выводит сообщение один раз..больше не хочет.... #3
Цитата Сообщение от Crudelis Посмотреть сообщение
case (1):
пишется так
C++
1
case 1:
ну и так далее, первое что бросилось в глаза
а разве есть разница?
Crudelis
Шаровик затейник
670 / 412 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
20.12.2010, 20:59     cout выводит сообщение один раз..больше не хочет.... #4
Japanese, на счет разницы не в курсе, ну а с другой стороны зачем лишние символы в коде, если можно без них
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
20.12.2010, 21:00     cout выводит сообщение один раз..больше не хочет.... #5
Возвратите в функции check значение. А Лучше сделайте тип bool, она ведь определяет, выходить ли.
Yandex
Объявления
20.12.2010, 21:00     cout выводит сообщение один раз..больше не хочет....
Ответ Создать тему
Опции темы

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