3 つの計算を実行する単純な電卓を作成するために、C でクラスの割り当てがあります。まだすべての関数を完了していませんが、calcMenu 関数に問題があります。関数が呼び出されると、プログラムはすべての if else ステートメントを実行し、私には不明ですが、エラー チェックである else ステートメントのみを実行します。関数が再度実行されることは意図されていますが、今回はすべての if else ステートメントを実行するわけではなく、ユーザーが選択できるようになっています。本当にばかげたことをしたことはわかっていますが、この 1 時間は頭を悩ませていました。誰かが私に同情している場合は、私を正しい方向に向けてください. 私はすべてのシステムコールがいくらかイライラすることを知っていますが、これは基本的なクラスであり、私たちのインストラクターはそれらを使用するように私たちに言いました.
前もって感謝します、
マイク
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#define pause system ("pause")
#define cls system ("cls")
//Prototype calculate functions here
void evenOrOdd(int userNumber);
void squareNum(int userNumber);
void cubeNum(int userNumber);
void calcMenu(int userNumber);
void main() {
//Declare local variables here
int userNumber = 0;
printf("\t\t\tThe amazing three function caluculator\n\n\n");
printf("Please enter a whole number that you would like to calculate\n");
scanf("%d", &userNumber);
calcMenu(userNumber);
}
void calcMenu(int userNumber)
{
char calculateOption;
printf("\nWhat calculation would you like to perform with your number?\n\n");
printf("Press A.) to check if your number is even or odd.\n\n");
printf("Press B.) to calculate the square of your number.\n\n");
printf("Press C.) to calculate the cube of your number.\n\n");
printf("press D.) to exit the program.\n");
scanf("%c", &calculateOption);
calculateOption = toupper (calculateOption);
if (calculateOption == 'A')
{
evenOrOdd(userNumber);
}
else if (calculateOption == 'B')
{
squareNum(userNumber);
}
else if (calculateOption == 'C')
{
cubeNum(userNumber);
}
else if (calculateOption == 'D')
{
system("cls");
printf("Thank You for using my amazing calculator.\n\n");
system ("pause");
system ("exit");
}
else
{
printf("Please enter a valid choice");
calcMenu(userNumber);
}
}
void evenOrOdd(int userNumber) {
userNumber = userNumber %2;
if (userNumber == 0)
{
printf("Your number is even. \n");
}
else
{
printf("Your number is odd. \n");
}
}
void squareNum(int userNumber) {
}
void cubeNum(int userNumber){
}