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

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

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

Вывод ошибки для дробного и отрицательного числа - C++

19.02.2013, 01:37. Просмотров 553. Ответов 5
Метки нет (Все метки)

Пишу код для программы вычисления факториала числа.
Как его изменить так, чтобы при вводе дробного и отрицательного числа выводилась ошибка? Заранее спасибо

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include "stdafx.h"
#include "fact.h"
#include <stdio.h>
 
 
long double fact(int N)
{
    // если пользователь ввел отрицательное число
    if(N < 0)
        // возвращаем ноль
        return 0;
    // если пользователь ввел ноль
    if (N == 0)
        // возвращаем факториал нуля
        return 1;
    if (N)
    // Во всех остальных случаях
    else
        // делаем рекурсию
        return N * fact(N - 1);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 01:37     Вывод ошибки для дробного и отрицательного числа
Посмотрите здесь:

Округление дробного числа до целого в большую сторону. C++
C++ [C++] Возведение дробного числа в дробную степень
C++ Написать программу, результат работы которой - округление дробного числа до целого по математическим правилам.
Перевод целого (дробного) числа из двоичной системы счисления в десятичную C++
C++ Математические операции для дробного числа ( заданного структурой )
Возведение дробного числа в степень C++
C++ Условие в функции, некорректно проходит проверка дробного числа
C++ Возведение дробного числа в большую степень
Вывод дробного результата C++
C++ Написать функцию, обеспечивающую интерактивный ввод с клавиатуры дробного числа
Написать функцию, обеспечивающую интерактивный ввод с клавиатуры дробного числа C++
Что такое 'p' в 16-ричной записи дробного числа? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6454 / 4920 / 452
Регистрация: 14.02.2011
Сообщений: 16,321
19.02.2013, 01:46     Вывод ошибки для дробного и отрицательного числа #2
Цитата Сообщение от anton_zenit Посмотреть сообщение
Как его изменить так, чтобы при вводе дробного и отрицательного числа выводилась ошибка?
ну отрицательное ты и так проверил а дробное как то так
C++
1
2
3
int a=N;
if(N-a)
 return 0;
Добавлено через 1 минуту
хотя поспешил я
Цитата Сообщение от anton_zenit Посмотреть сообщение
long double fact(int N)
N дробным быть не может поскольку он int
anton_zenit
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88
19.02.2013, 01:55  [ТС]     Вывод ошибки для дробного и отрицательного числа #3
Нет, я хотел бы чтобы он вывел "Error" в текстбоксе. Пишу программу windows forms. Причем, вывел Еrror для обоих случаев
ValeryS
Модератор
6454 / 4920 / 452
Регистрация: 14.02.2011
Сообщений: 16,321
19.02.2013, 01:59     Вывод ошибки для дробного и отрицательного числа #4
после вызова функции проверяй значение
если вернула 0(факториал не может быть 0) пиши свой Еrror
anton_zenit
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 88
19.02.2013, 02:05  [ТС]     Вывод ошибки для дробного и отрицательного числа #5
я не большой мастер. буду благодарен если объяснишь в наглядном виде
ValeryS
Модератор
6454 / 4920 / 452
Регистрация: 14.02.2011
Сообщений: 16,321
19.02.2013, 02:14     Вывод ошибки для дробного и отрицательного числа #6
Цитата Сообщение от anton_zenit Посмотреть сообщение
я не большой мастер. буду благодарен если объяснишь в наглядном виде
я не работаю с формами
поэтому напишу только принцип на MFC
C++
1
2
if(fact(a)==0)// здесь a это число которое ты как то ввел
     txtBox.SetWindowText("Error")// если функция вернуло 0 значит пишем ошибка
Yandex
Объявления
19.02.2013, 02:14     Вывод ошибки для дробного и отрицательного числа
Ответ Создать тему
Опции темы

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