我今天在课堂上写了这段代码,老师帮助我,但我现在回家了,需要指导,我不知道接下来我应该做什么来编译至少
目标是:
创建一个菜单 输入一个数字(选项A) 显示平均值(选项B) 显示最高和最低数字(选项C和D) 显示输入的所有数字的总和(选项E) 显示输入的总数量(选项F) 并退出(选项G)
这是我到目前为止所做的,如果它凌乱,我道歉。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
//int getNumber (aNumber) {
// printf("Enter an integer between 0 and 1000.\n");
// scanf("%i", &aNumber);
// int result;
// }
char getMenuLetter();
int getNumber();
//declare variables
int aNumber = 0;
float avg = 0.0;
int high = -1;
int low = 1001;
int total = 0;
int count = 0;
char getChoice = 'x';
int main() {
//proptotype functions
do {
getChoice = getMenuLetter();
switch (getChoice)
case 'A':
aNumber = getNumber();
count++;
total += aNumber;
low = testLow(aNumber, low)
high = testHigh(aNumber, high);
break;
case 'B';
avg = (double) total/count; //display avg
printf("The average is %.2f", avg);
break;
case 'C':
high = getHigh();
printf("The highest value of all the numbers entered is %i.\n", high); //display highest number
break;
case 'D':
low = getLow;
printf("The lowest value of all the numbers entered is %i.\n", low); //displayer lowest value
break;
case 'E':
printf("The total of all the numbers entered is %i.\n", total);
break;
case 'F':
printf("The amount of numbers entered so far is %i.\n", count);
case 'G';
break: //end switch
} while (userChoice != 'G');
}
int testLow(int n) {
int result;
if (n < low)
result = n;
else
return 0;
} //End of main
char getMenuLetter() {
char result;
system("cls") //clear the screen.
printf("*************************************************\n");
printf("A) Enter a number between 0 and 1,000\n");
printf("B) Display the average\n");
printf("C) Display the highest value entered\n");
printf("D) Display the lowest value entered\n");
printf("E) Display the sum of all numbers\n");
printf("F) Display the count of all numbers entered\n");
printf("G) Quit the program\n");
printf("*************************************************\n");
scanf("%c", &result);
result =toupper(result);
///print f %c
//system pause
if (result != 'A' || result != 'B' || result !='C' || result !='D' || result !='E' || result != 'F' || result !='G'){
printf("You must enter A - G only! \n)");
system("pause");
} //end if
} while(result != 'A' || result != 'B' || result !='C' || result !='D' || result !='E' || result != 'F' || result !='G');
return result;
//end of GetMenuLetter
答案 0 :(得分:1)
以下是我的建议:
switch()
广告块应以default:
值结尾,以防万一您遇到意外情况。 main()
过程中。它与范围有关。请从标准的第6.2.1节中查看。2对于标识符指定的每个不同实体,标识符 仅在程序文本的区域内可见(即,可以使用) 称其范围。由同一标识符指定的不同实体 要么具有不同的范围,要么具有不同的名称空间。那里 有四种范围:功能,文件,块和功能 原型。 (函数原型是函数的声明 声明其参数的类型。)
我不知道还能告诉你什么。试试我的建议。请确保您阅读标准。作为最后的建议:尝试以更有序的方式编程。如果您希望在完成时想要创建可以阅读的内容,那么您的代码看起来不会那么草率。
祝你好运。答案 1 :(得分:0)
一些提示:
-W -Wall
)。 ;
”和“:
”之间存在显着差异。switch
语句的正文必须用大括号括起来。