Я написал программу, которая принимает целое число и в зависимости от этого числа принимает дальнейшие действия, такие как вычисление Factorial, Fibonacci и выход из программы. Но с кодом что-то не так. Когда он вычисляет Фибоначчи или Факториал, он показывает случайное число в последнем из выходных данных, которое является странным, и я не могу понять это. Код и скриншот ниже Дополнительное целое число на выходе
#include <stdio.h>
#include <conio.h>
int Menu(int num) {
printf("Press 1 to calculate Factorial\n");
printf("Press 2 to calculate Fibannaci series\n");
printf("Press 0 to Quit\n");
scanf("%d", &num);
LOOP:
if (num == 1) {
int n;
printf("Enter the number whose Factorial you wanna calculate: ");
scanf("%d", &n);
printf("%d", Fact(n));
} else
if (num == 2) {
int n;
printf("Enter the term whose Fibannaci series you wanna calculate: ");
scanf("%d", &n);
printf("%d", Fib(n));
} else
if (num == 0) {
printf("Program is Quitting!");
exit(0);
} else {
while (num < 0^num > 2) {
printf("Enter Correct number: ");
scanf("%d", &num);
}
goto LOOP;
}
}
int Fact(int n) {
int Factorial;
if (n == 1 || n == 0) {
return 1;
} else {
Factorial = n * Fact(n - 1);
}
}
int Fib(int n) {
int Fibonacci;
if (n <= 1) {
return n;
} else {
Fibonacci = Fib(n - 1) + Fib(n - 2);
}
}
int main() {
printf("%d", Menu(1));
}
'goto', действительно ?! –
@LeeTaylor Он просто учится :) –
1) Текст сообщения, текст, а не изображения. 2) Отформатировать и откорректировать код; он не читается. 3) 'goto' имеет свои обычаи. Но не для этой проблемы! 4) См. [Ask]. – Olaf