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

Факториал - C++

Восстановить пароль Регистрация
 
NewProject
2 / 2 / 0
Регистрация: 10.08.2012
Сообщений: 53
10.08.2012, 20:16     Факториал #1
Простите за избитую тему, но не могу ни как организовать факториал в winForms . При клике на Button программа должна выводить факториал в label. Можете показать пример такой программы(без использования return) или помочь разобраться с ошибкой Ошибка 1 error C2562: programma1::Form1::button2_Click: функция типа "void", возвращающая значение.
Буду очень признателен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2012, 20:16     Факториал
Посмотрите здесь:

Факториал C++
C++ Факториал
C++ факториал
факториал C++
C++ факториал в С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
10.08.2012, 20:47     Факториал #2
Цитата Сообщение от NewProject Посмотреть сообщение
Простите за избитую тему, но не могу ни как организовать факториал в winForms . При клике на Button программа должна выводить факториал в label. Можете показать пример такой программы(без использования return) или помочь разобраться с ошибкой Ошибка 1 error C2562: programma1::Form1::button2_Click: функция типа "void", возвращающая значение.
Буду очень признателен.
Хотите формулу факториала?

Можно так:
C++
1
2
3
4
5
6
7
int GetFactorial(int x)
{
    if(x == 1)
       return 1;
    else
       return x*GetFactorial(x-1);
}
Neon-z
46 / 41 / 1
Регистрация: 06.09.2010
Сообщений: 419
10.08.2012, 20:47     Факториал #3
Покажи код. Без кода сложно тебе что-то объяснить и показать твою ошибку.
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
10.08.2012, 20:54     Факториал #4
Что касается вашей ошибки, то без кода ясно, что у вас void функция которая возвращает значение (что невозможно).
NewProject
2 / 2 / 0
Регистрация: 10.08.2012
Сообщений: 53
11.08.2012, 10:15  [ТС]     Факториал #5
Цитата Сообщение от cossack5 Посмотреть сообщение
Что касается вашей ошибки, то без кода ясно, что у вас void функция которая возвращает значение (что невозможно).
Вот я и хочу узнать можно ли обойти это как нибудь. Если в функции(private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) есть RETURN то выдается эта ошибка.
Neon-z
46 / 41 / 1
Регистрация: 06.09.2010
Сообщений: 419
11.08.2012, 16:13     Факториал #6
C++
1
private: System::Void button2_Click
Вместо VOID должен быть тип, который возвращает функция. то есть если ретурн возвращает целое число то вместо воид должно стоять int.

И вообще клик мышки не должен возвращать какое-либо значение. Это, можно сказать, неправильно.
Вам нудно передлать программу, чтобы в клике мышки не было возврата.

Добавлено через 20 минут
И еще. Если ты хочешь, чтобы при нажатии кнопки был расчет фаториала, то сделай так:
1. Сделай отдельную функцию, которая считает факториал (выше тебе подобную написали)
2. В обработчике клика пиши сделай, чтобы в функцию передавалось число из эдита (если у тебя оттуда берется значение)
3. Результат присваивался некой переменной
4. Выводишь на лейбл.

примерно:
C++
1
2
3
4
5
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e){
int i = StrToInt(Edit1->Text);
int f=factorial(i);
Label1->Caption=IntToStr(i);
}
И не надо никакого ретурна в обработчике клика. Можно еще так (более красивее код):
C++
1
2
3
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e){
Label1->Caption=IntToStr(factorial(StrToInt(Edit1->Text)));
}
под функцией factorial я подразумеваю функцию которая высчитывает факториал
Yandex
Объявления
11.08.2012, 16:13     Факториал
Ответ Создать тему
Опции темы

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