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

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

Войти
Регистрация
Восстановить пароль
 
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 225
#1

Не работают флаги - C++

18.05.2014, 12:08. Просмотров 438. Ответов 11
Метки нет (Все метки)

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
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <conio.h>
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    char input;
    double x, y;
        cout.unsetf(ios::dec);
        cout.setf(ios::oct);
        cout << endl << "Выберите операцию: (+-*/)\n";
        cin >> input;
    do
    {
    switch (input)
        {
        case '+':
            cout << "Введите 2 числа (через пробел) -> ";
            cin >> x >> y;
            cout << "Ответ: " << x << " + " << y << " = " << x + y << endl;
            break;
        case '-':
            cout << "Введите 2 числа (через пробел) -> ";
            cin >> x >> y;
            cout << "Ответ: " << x << " - " << y << " = " << x - y << endl;
            break;
        case '*':
            cout << "Введите 2 числа (через пробел) -> ";
            cin >> x >> y;
            cout << "Ответ: " << x << " * " << y << " = " << x * y << endl;
            break;
        case '/':
            cout << "Введите 2 числа (через пробел) -> ";
            cin >> x >> y;
            cout << "Ответ: " << x << " / " << y << " = " << x / y << endl;
            break;
        default:
            cout << "Ошибка! Нажмите ESC, чтобы выйти . . ." << endl;
            break;
        }
    } while (_getch() != 27);
    return 0;
}
Не работают флаги, выдает ответы в десятичной системе. И еще вопрос, где взять флаги для всех систем счисления? от 2ичной до 16ричной?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4917 / 4255 / 1425
Регистрация: 14.04.2014
Сообщений: 16,723
18.05.2014, 12:14     Не работают флаги #2
Вместо 14 и 15 строк:
C++
1
cout << setbase(8);
Для двоичной и шестнадцатеричной цифру меняй.
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 225
18.05.2014, 12:20  [ТС]     Не работают флаги #3
Цитата Сообщение от nmcf Посмотреть сообщение
Вместо 14 и 15 строк:
Код C++
1
cout << setbase(8);
Для двоичной и шестнадцатеричной цифру меняй.
Все равно не работаетНе работают флаги
Что значит форму менять?
nmcf
4917 / 4255 / 1425
Регистрация: 14.04.2014
Сообщений: 16,723
18.05.2014, 12:24     Не работают флаги #4
Ты пользуешься вещественными числами, а это на целые только влияет, насколько я знаю.
zss
Модератор
Эксперт С++
6242 / 5845 / 1891
Регистрация: 18.12.2011
Сообщений: 14,971
Завершенные тесты: 1
18.05.2014, 12:25     Не работают флаги #5
C++
1
 int x, y;
для double не работает
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 225
18.05.2014, 12:30  [ТС]     Не работают флаги #6
Цитата Сообщение от zss Посмотреть сообщение
Код C++
1
*int x, y;
для double не работает
А если мне нужно сделать калькулятор в том числе и с не целыми числами, придется делать без флагов?
zss
Модератор
Эксперт С++
6242 / 5845 / 1891
Регистрация: 18.12.2011
Сообщений: 14,971
Завершенные тесты: 1
18.05.2014, 12:36     Не работают флаги #7
Не понятно, зачем нужно выполнять арифметические вычисления
с плавающей арифметикой в другой системе счисления.
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 225
18.05.2014, 12:44  [ТС]     Не работают флаги #8
Цитата Сообщение от zss Посмотреть сообщение
Не понятно, зачем нужно выполнять арифметические вычисления
с плавающей арифметикой в другой системе счисления.
Потому что нужно сделать калькулятор, напрямую вычисляющий в разных системах счисления
Croessmah
Модератор
Эксперт CЭксперт С++
12877 / 7263 / 810
Регистрация: 27.09.2012
Сообщений: 17,937
Записей в блоге: 2
Завершенные тесты: 1
18.05.2014, 12:51     Не работают флаги #9
Цитата Сообщение от niikiita Посмотреть сообщение
Потому что нужно сделать калькулятор, напрямую вычисляющий в разных системах счисления
ну так делайте, неужели Вы думаете, что кто-то за Вас это будет делать и пихать в стандартную библиотеку?
Tulosba
:)
Эксперт С++
4390 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.05.2014, 12:54     Не работают флаги #10
Цитата Сообщение от nmcf Посмотреть сообщение
Для двоичной и шестнадцатеричной цифру меняй.
Для двоичной не предусмотрено режима.
http://www.cplusplus.com/reference/iomanip/setbase/
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 225
18.05.2014, 12:55  [ТС]     Не работают флаги #11
Цитата Сообщение от Croessmah Посмотреть сообщение
ну так делайте, неужели Вы думаете, что кто-то за Вас это будет делать и пихать в стандартную библиотеку?
Я просто не совсем понимаю как? Мне писать для каждой системы счисления (кроме некоторых) код определенной операции?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2014, 13:19     Не работают флаги
Еще ссылки по теме:

Пользовательские битовые флаги C++
C++ Не определяются флаги структуры PIXELFORMATDESCRIPTOR
Флаги C++
Флаги форматирования cout C++
Флаги (вывод сообщения) C++

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

Или воспользуйтесь поиском по форуму:
nmcf
4917 / 4255 / 1425
Регистрация: 14.04.2014
Сообщений: 16,723
18.05.2014, 13:19     Не работают флаги #12
Все вычисления выполняются как и положено, с помощью встроенных форматов. Тебе нужно только переводить в нужную систему счисления при вводе и выводе. Автоматически это будет только для целых чисел. Хочешь вещественные - разрабатывай свой перевод из строки в число и наоборот.
Yandex
Объявления
18.05.2014, 13:19     Не работают флаги
Ответ Создать тему
Опции темы

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