我正在尝试做这个任务中的一些问题。基本上我需要一个菜单,4个选项,其中两个接受来自用户的输入作为基数和指数的形式。第三个输出基本加注的答案,然后第四个退出程序。
我无法通过getNum()获取用户输入;我不太确定如何正确使用它。只是看看如何使我的代码更好地工作的一些技巧。
寻求帮助:
每个功能完成后,仅将程序循环回主菜单 选择菜单选项4时退出程序
int main(void)
{
int option = 0;
do
{
loadMenu();
while (option<1 || option>4)
{
printf("\nChoose an option between 1 and 4:");
option = getNum();
while (getNum() != '\n');
}
switch (option)
{
case 1:
baseChange(); //Gets base number
break;
case 2:
powerChange(); //Gets exponent
break;
case 3:
calcMath(); //Calculates the answer
break;
default:
break;
}
}
while (option != 4);
printf("Goodbye!\n");
}
void loadMenu() //Menu choices
{
printf("Power Menu:\n" );
printf(" 1. Change base\n");
printf(" 2. Change exponent\n");
printf(" 3. Calculate\n");
printf(" 4. Exit\n");
printf("Option?\n");
}
int baseChange(int base)
{
printf("What is your base?: ");
base = getNum();
while (getNum() != '\n');
return base;
}
int powerChange(int power)
{
printf("What is the power?: ");
power = getNum();
while (getNum() != '\n');
return power;
}
int calcMath(int base, int power)
{
int index = 0;
long answer = 1.00;
for(index = 1; index <= power; index++) answer = answer * base;
{
printf("%d raised to the power of %d is %ld.\n\n", base, power, answer);
}
return answer;
}
答案 0 :(得分:0)
我无法通过getNum()获取用户输入;我也不是 确定如何正确使用它。
你还没有告诉我们关于这个功能的任何信息;它不是C标准的一部分。
查看有关如何使我的代码更好地工作的一些提示。寻求帮助:
我认为这有点早。加大力度解决问题,如果有具体问题再回来。更像是这个:
选择菜单选项
时解决无限循环问题
通过循环第二次查看你的程序使用选项做什么。
答案 1 :(得分:0)
请在main()之前声明getnum()函数,如下所示;
/* declare getnum() prior to its first use */
float getnum(void)
{
float x;
printf("Enter a number: ");
scanf("%f", &x);
return x;
}