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

В чём ошибка? - C++

Восстановить пароль Регистрация
 
Mihone
0 / 0 / 0
Регистрация: 17.01.2014
Сообщений: 17
27.01.2014, 18:48     В чём ошибка? #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
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
#include <iostream>
#include <locale.h>
#include "std_lib_facilities.h"
 
using namespace std;
 
int main(){
    setlocale(LC_ALL, "rus");
    const double rub_usd = 33.82;
    const double rub_eur = 46.17;
    string value_word = " ";
    char Return = ' ';
    double value_count = 0;
    cout << "Введите желаемую инструкцию\n-----------\n"
        << "Сколько ваших RUB стоит USD = 'U' или сколько USD содержат Вашх RUB 'R U'\n===\n"
        << "Сколько ваших RUB стоит EUR = 'E' или сколько EUR содержат Вашх RUB 'R E'\n===\n"
        << "****" << "Для старта введите 'r'****\n";
    while (cin >> Return){
        switch (Return){
        case 'r':
                cout << "\n---\nВведите опперацию\n---\n";
                getline(cin, value_word);           // Вводим тип опперации
                cout << "Введите сумму\n===\n";
                cin >> value_count;                 //Вводим сумму
                if (value_word == "U"){             //Узнаём сколько долларов содержат рубли
                    double U = value_count / rub_usd;
                    cout << "\n---\n" << value_count << " Ваших рублей содержат примерно " << U << " долларов\n=====\n";
                }
                else if (value_word == "R U"){      //Узнём сколько  рублей содержат доллары
                    double R = value_count * rub_usd;
                    cout << value_count << " ваших долларов содержать примерно " << R << " рублей\n====\n";
                }
                else if (value_word == "E"){        //Узнаём сколько EUR содержат рубли
                    double E = value_count / rub_eur;
                    cout << value_count << " Ваших рублей содержат примерно " << E << " евро";
                }
                else if (value_word == "R E"){      //Узнаём сколько рблей содержат EUR
                    double R = value_count * rub_eur;
                    cout << value_count << " Ваших евро содержат примерно " << R << " рублей";
                }
                else{
                    cout << "Ошибка,попробуйте снова\n";
                }
                break;
        default:
                cout << "Ошибка\n";
        }
    }
 
    system("pause");
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 18:48     В чём ошибка?
Посмотрите здесь:

C++ В чём ошибка?
В чём ошибка? C++
C++ в чём ошибка C++
В чём ошибка C++
в чём ошибка? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_include
Студент
 Аватар для _include
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
27.01.2014, 18:50     В чём ошибка? #2
Можно код #include "std_lib_facilities.h"
Не нужно,
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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <locale.h>
 
 
using namespace std;
 
int main(){
    setlocale(LC_ALL, "rus");
    const double rub_usd = 33.82;
    const double rub_eur = 46.17;
    string value_word = " ";
    char Return = ' ';
    double value_count = 0;
    cout << "Введите желаемую инструкцию\n-----------\n"
        << "Сколько ваших RUB стоит USD = 'U' или сколько USD содержат Вашх RUB 'R U'\n===\n"
        << "Сколько ваших RUB стоит EUR = 'E' или сколько EUR содержат Вашх RUB 'R E'\n===\n"
        << "****" << "Для старта введите 'r'****\n";
    while (cin >> Return){
        switch (Return){
        case 'r':
                cout << "\n---\nВведите опперацию\n---\n";
                cin >> value_word;           // Вводим тип опперации
                cout << "Введите сумму\n===\n";
                cin >> value_count;                 //Вводим сумму
                if (value_word == "U"){             //Узнаём сколько долларов содержат рубли
                    double U = value_count / rub_usd;
                    cout << "\n---\n" << value_count << " Ваших рублей содержат примерно " << U << " долларов\n=====\n";
                }
                else 
                    if (value_word == "RU"){      //Узнём сколько  рублей содержат доллары
                    double R = value_count * rub_usd;
                    cout << value_count << " ваших долларов содержать примерно " << R << " рублей\n====\n";
                }
                else if (value_word == "E"){        //Узнаём сколько EUR содержат рубли
                    double E = value_count / rub_eur;
                    cout << value_count << " Ваших рублей содержат примерно " << E << " евро";
                }
                else if (value_word == "RE"){      //Узнаём сколько рблей содержат EUR
                    double R = value_count * rub_eur;
                    cout << value_count << " Ваших евро содержат примерно " << R << " рублей";
                }
                else{
                    cout << "Ошибка,попробуйте снова\n";
                }
                break;
        default:
                cout << "Ошибка\n";
        }
    }
 
    system("pause");
    return 0;
}
Mihone
0 / 0 / 0
Регистрация: 17.01.2014
Сообщений: 17
28.01.2014, 13:48  [ТС]     В чём ошибка? #3
Не совсем понял,понял только то,что Вы заменили
C++
1
getline(cin,value_word)
На
C++
1
cin >> value_word
Но при втором варианте я не смогу вводить пробелы,точнее они не воспримутся.
Мне обязательно нужен
C++
1
getline()
.

Добавлено через 25 минут
Цитата Сообщение от Mihone Посмотреть сообщение
Не совсем понял,понял только то,что Вы заменили
C++
1
getline(cin,value_word)
На
C++
1
cin >> value_word
Но при втором варианте я не смогу вводить пробелы,точнее они не воспримутся.
Мне обязательно нужен
C++
1
getline()
.
Программа проскакивает
C++
1
getline();
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.01.2014, 16:51     В чём ошибка? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Mihone Посмотреть сообщение
Программа проскакивает getline()
C++
1
while ((cin >> Return).get())
Yandex
Объявления
28.01.2014, 16:51     В чём ошибка?
Ответ Создать тему
Опции темы

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