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

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

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

Неверный формат вывода - C++

12.07.2015, 12:16. Просмотров 356. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Язык С++ только осваиваю, но уже возникло тупиковое затруднение. Суть программы: написать функцию, которая принимает два параметра типа unsigned short int и возвращает результат деления первого параметра на второй. Функция не должна выполнять операцию деления, если второе число равно нулю. Но в этом случае она должна возвратить значение -1.

Мое видение решения:
C++
1
2
3
4
5
6
7
Int nounFunc(unsigned short int a, unsigned short int b)
{
           If(b != 0)
                  Return a/b;
           Else
                  Return -1;
}
Проблема заключается в том, что результат в окне терминала в шестнадцатеричном формате. При конвертации в десятичную форму, при помощи калькулятора, показывает результат отличный от ожидаемого.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2015, 12:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Неверный формат вывода (C++):

Формат вывода - C++
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, исправить вывод, чтобы табличка ровненькой была. int main() { ...

Неправильный формат вывода - C++
Bicycle Codes Den has two four-digit combination locks for protecting his bicycle from thieves. Every evening he arms the bicycle...

Формат вывода чисел - C++
Как обрабатывать переменную в которой хранится число вида 0.000000000000000000000000000001 (30 знаков) Нужно запретить ее сокращать....

Формат вывода числа - C++
Помогите пожалуйста решить проблему. Мне нужно вывести на экран объем жесткого диска в гигабайтах. вот код: unsigned long...

Не правильный формат вывода =( - C++
Не одно, так другое.....в общем, у меня раньше был не Set *set. А vector<SetElement> и когда я писал строки типа Set set1,set2;...

Формат вывода double - C++
Всем привет! В своей программе вывожу переменные типа double следующим образом: std::cerr << std::setprecision(12) << val; Хочу, чтобы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Keipa
1 / 1 / 0
Регистрация: 09.07.2015
Сообщений: 27
12.07.2015, 12:18 #2
покажи,как у тебя организован вывод
Gorhar
0 / 0 / 0
Регистрация: 12.07.2015
Сообщений: 4
12.07.2015, 12:32  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <conio.h>
Using namespace std;
Int nounFunc(unsigned short int a, unsigned short int b)
Int main ()
{
 int a, b;
 cout<<"Enter a: ";
 cin>>a;
 cout>>"Enter b: ";
 cin>>b;
 
 cout<<" "<<nounFunc;
 
 _gethe();
 return 0;
}
Думаю, комментарии излишни в столь простом коде. Есть подозрения что напортачил с типами, но не пойму где. Типы пробовал менять.
firefoxi
0 / 0 / 1
Регистрация: 12.07.2015
Сообщений: 2
12.07.2015, 12:48 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int nounFunc(unsigned short int a, unsigned short int b)
{
    if(b != 0){
        return a / b;
    }
    else{
        return -1; }
}
 
int main() {
    unsigned short int a, b;
    std::cin >> a >> b;
    std::cout << std::hex << nounFunc(a, b)<<std::endl;
    
    system("pause");
    return 0;
}
Gorhar
0 / 0 / 0
Регистрация: 12.07.2015
Сообщений: 4
12.07.2015, 12:53  [ТС] #5
Заработало! Спасибо) теперь я понял в чем заключалась моя криворукость.
firefoxi
0 / 0 / 1
Регистрация: 12.07.2015
Сообщений: 2
12.07.2015, 12:55 #6
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
#include <iostream>
 
int nounFunc(unsigned short int a, unsigned short int b)
{
    if(b != 0){
        return a / b;
    }
    else{
        return -1; }
}
 
int main() {
    unsigned short int a, b;
    std::cin >> a >> b;
    if (nounFunc(a,b) != -1)
    {
        std::cout << std::hex << nounFunc(a, b) << std::endl;
    }
    else
    {
        std::cerr << "Error" <<std::endl;
    }
 
    
    system("pause");
    return 0;
}
Вывод ошибки если возвращаемое число -1.
Gorhar
0 / 0 / 0
Регистрация: 12.07.2015
Сообщений: 4
12.07.2015, 13:21  [ТС] #7
Firefoxi, кто Вам рассказал каким учебником пользуюсь?)))) Вы привели решение на следующее задание)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2015, 13:21
Привет! Вот еще темы с ответами:

Неправильный формат вывода массива С++ - C++
Добрый день. Пишу программу, которая реализует стек на основе статического массива. При вызове метода printStack() почему-то выводит левые...

формат вывода cout << hex - C++
Все привет, имеется небольшая проблемка, не могу придумать как победить.. cout &lt;&lt; uppercase &lt;&lt; hex &lt;&lt; charcode &lt;&lt; spacer; выводит...

Формат ввода вывода для дат - C++
Здорова!!! Есть задачка: &quot;Поэкспериментируйте и определите, какие форматы ввода/вывода использует ваша система для дат.&quot; И как же...

Волшебный мост: неправильный формат вывода - C++
Помогите. Компилятор пишет, что неправильный формат вывода. #include &lt;iostream&gt; using namespace std; int main () { int M,R,K; int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2015, 13:21
Ответ Создать тему
Опции темы

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