Простой C ++ скрипт - Factorial - Ошибки

0

Я изучаю C++. Вот кодовый счет факториал (silnia). Liczba означает номер.

#include <iostream>

using namespace std;

int _main() 
{
    int silnia;
    int n;
    if (n == 0) return 1;
    else;
    return n * silnia(n-1);

    int liczba;
    cout << "Podaj liczbe: ";
    cin >> liczba;
    cout << liczba << "! = " << silnia(liczba) << endl;
    return 0;
}

Однако я все еще получаю сообщение об ошибке:

main.cpp: In function 'int _main()':
main.cpp:9:20: error: 'silnia' cannot be used as a function
 return n*silnia(n-1);
                    ^
main.cpp:14:42: error: 'silnia' cannot be used as a function
 cout << liczba << "! = " << silnia(liczba) << endl

В чем проблема?

  • 0
    Сообщение об ошибке очень ясно. в чем именно проблема?:
  • 0
    Я не думаю, что вам нужен StackOverflow, чтобы ответить на это. Google должно быть более чем достаточно, чтобы найти рабочий пример того, чего вы пытаетесь достичь. Хороший кот, кстати ...
Показать ещё 2 комментария
Теги:
factorial

2 ответа

1

удалите эту часть из своей основной:

 int silnia;
 int n;
 if (n == 0) return 1;
 else;
 return n * silnia(n-1); 

поместите эту функцию вне основной функции

 int silnia(int a)
{
 if(a==0) return 1;
 else return silnia(a-1)*a;
}
  • 0
    Хорошо, спасибо всем за помощь! Я сделал анализ этого кода, затем аналогичное приложение, все отлично работает :)
0
silnia(liczba)

Похоже, вы пытаетесь "называть" целую silnia. Именно то, что говорит ваше сообщение об ошибке. Я не уверен, что вы пытаетесь сделать в этой строке.

  • 0
    Так как это можно улучшить? Я в начале обучения и искал Интернет для решения, но почему-то я до сих пор не понимаю эту ошибку :(
  • 0
    @ PawełGranat Знаете ли вы, как правильно создавать функции?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню