Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 输入数字,显示最高、最低、平均和输入的数字数。使用菜单_C - Fatal编程技术网

C 输入数字,显示最高、最低、平均和输入的数字数。使用菜单

C 输入数字,显示最高、最低、平均和输入的数字数。使用菜单,c,C,我的分组任务是制作一个程序,允许用户输入任意数量的数字,然后程序会告诉您输入的最高数字、最低数字、平均数字、输入的总数和平均数字。我们必须使用菜单 我们已经把菜单写好了。我们的大部分计算代码都在案例A中(我们必须使用字母)来计算这些东西。但我们不知道如何让程序重复。如果您输入完数字,然后说N到“您想输入另一个数字吗”,程序就会关闭 还有,你如何计算总数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <st

我的分组任务是制作一个程序,允许用户输入任意数量的数字,然后程序会告诉您输入的最高数字、最低数字、平均数字、输入的总数和平均数字。我们必须使用菜单

我们已经把菜单写好了。我们的大部分计算代码都在案例A中(我们必须使用字母)来计算这些东西。但我们不知道如何让程序重复。如果您输入完数字,然后说N到“您想输入另一个数字吗”,程序就会关闭

还有,你如何计算总数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define pause system("pause")
#define cls system("cls")
#define pause system("pause")
#define flush fflush(stdin)
#include <ctype.h> // contains toupper

main(){

int num, count = 0, high = 0, low = 0, total = 0;
float avg;
char choice = ' ', again;

printf("\t\t      =====================\n");
printf("\t\t      ==    MAIN MENU    ==\n");
printf("\t\t      =====================\n");
printf("\t\tA. Enter a number.\n");
printf("\t\tB. Display the highest number.\n");
printf("\t\tC. Display the lowest number.\n");
printf("\t\tD. Display the average of all numbers.\n");
printf("\t\tE. Display how many numbers were entered.\n");
printf("\t\tQ. Quit.\n\n\n");
printf("Enter your selection: ");
scanf("%c", &choice);


    switch (choice) {
    case 'A':
        do {
            printf("Enter a number: ");
            scanf("%i", &num);
            if (count = 0)  {
                high = num;
                low = num;
            }
            else
            if (num > high)
                num = high;
            if (num < low)
                num = low;
            count++;

            printf("Do you want to enter another number? (Y/N):  ");
            scanf("%c", &again);
        } while (again != 'N');
        break;
    case 'B':
        if (count == 0) { printf("Please enter a number first.\n\n"); 
            }
        else printf("The highest number is %i\n\n", high);
        break;
    case 'C':
        if (count == 0) printf("Please enter a number first.\n\n");
        else printf("The lowest number is %i\n\n", low);
        break;
    case 'D':
        if (count == 0) printf("Please enter a number first.\n\n");
        else
            avg = total / count;
            printf("The average is %.2f\n\n", avg);
        break;
    case 'E':
        printf("You entered %i numbers.\n\n", count);
        break;
    case 'Q':
        printf("Thanks for playing.\n\n");
        break;
    default:
        printf("Invalid Selection.\n\n");
        break;
    }
    pause;
}
\define\u CRT\u SECURE\u NO\u警告
#包括
#包括
#定义暂停系统(“暂停”)
#定义cls系统(“cls”)
#定义暂停系统(“暂停”)
#定义刷新刷新(标准输入)
#include//contains-toupper
main(){
int num,count=0,high=0,low=0,total=0;
浮动平均值;
字符选择='',再次;
printf(“\t\t==================================\n”);
printf(“\t\t==主菜单==\n”);
printf(“\t\t==================================\n”);
printf(“\t\tA.输入一个数字。\n”);
printf(“\t\tB.显示最大数字。\n”);
printf(“\t\tC.显示最低的数字。\n”);
printf(“\t\tD.显示所有数字的平均值。\n”);
printf(“\t\tE.显示输入的数字数量。\n”);
printf(“\t\tQ.Quit。\n\n\n”);
printf(“输入您的选择:”);
scanf(“%c”,选择(&c));
开关(选择){
案例“A”:
做{
printf(“输入一个数字:”);
scanf(“%i”和&num);
如果(计数=0){
高=num;
低=num;
}
其他的
如果(数值>高)
num=高;
如果(数值<低)
num=低;
计数++;
printf(“是否要输入其他号码?(Y/N):”;
scanf(“%c”,再次(&D);
}而(又是!=“N”);
打破
案例“B”:
如果(count==0){printf(“请先输入一个数字。\n\n”);
}
else printf(“最高数字为%i\n\n”,高);
打破
案例“C”:
如果(count==0)printf(“请先输入一个数字。\n\n”);
else printf(“最低的数字是%i\n\n”,低);
打破
案例“D”:
如果(count==0)printf(“请先输入一个数字。\n\n”);
其他的
平均值=总数/计数;
printf(“平均值为%.2f\n\n”,平均值);
打破
案例“E”:
printf(“您输入了%i个数字。\n\n”,计数);
打破
案例‘Q’:
printf(“感谢您的播放。\n\n”);
打破
违约:
printf(“无效选择。\n\n”);
打破
}
暂停;
}

您需要包含另一个while循环来封装switch语句

bool running = 1;

while(running)
{
    printf("Enter your selection: ");
    scanf("%c", &choice);

    switch(choice)
    {
        ...
        case 'q':
        case 'Q':
            running = 0;
            break;
    }

}
scanf(“%c”&再次)-->
scanf(“%c”,再次(&c))。(添加空格)

如果没有该空格,在输入123ENTER后,
num
将使用
'1'
'2'
'3'
,但将
'\n'
保留为
%c'
。通过在
“%c”
之前添加空格,
scanf()
将首先使用任何空格,然后再将
char
分配给

  scanf("%i", &num);
  ...
  printf("Do you want to enter another number? (Y/N):  ");
  // scanf("%c", &again);
  scanf(" %c", &again);
} while (again != 'N');

你试过使用while循环吗?所以不是来解决你的家庭作业的。不过有一个提示-如果你想让程序重复,你需要某种循环,在这种情况下可能是
while
loopsearch google for“while loop in c”@cisforcoockies我尝试了一段时间,我在一开始就做了,然后在所有的情况下,我都做了while(choice!=\uuuuuuuuuuu)idk放在那里