功能菜单程序设计c语言,求大神 编写一个小学生算术运算程序,系统以菜单方式工作,功能包括:加法练习、减法练习、乘法练习、综合练习要求如下:...

你是不是本科大一学C语言的,这是我期末课程设计的一个选题之一,也是十几个课题里最最简单的了,不用链表,指针,结构体,什么都不用,要求挺低只要耐心一点就能完成。

因为我最终没有抽到这个最简单的题,提前先完成了,也没有精细地去琢磨,但大体上是没有问题的。

#include

#include

#include

#define N 100//练习题总数量,加减乘数随机分配,理论概率值为1/4.

void welecome();

void choose();

void teach();

void test();

void statistics();

float g[5];

int n1=0,n2=0,n3=0,n4=0;

int main()

{

welecome();

choose();

return 0;

}

void welecome()

{

printf("**********\n");

printf("欢迎来到“100以内加减乘除”学习软件!\n祝您的学习快乐而充实!\n制作人:蔡佳昊1651312\n");

printf("**********\n请选择你想要进入的模块(输入小写字母a、b、c,并以回车键完成选择):\n");

}

void choose()

{

char i;

printf("a 缤纷多彩的学习\nb 富有挑战的测试\nc 成绩统计与分析\n");

printf("**********\n");

scanf("%c",&i);

if (i=='a')

{

teach();

}

else if(i=='b')

{

test();

}

else if(i=='c')

{

statistics();

}

else

{

system("cls");

printf("非法输入!请重新输入正确数字以选择!\n");

choose();

}

}

void teach()

{

int I;

system("cls");

void plus();

void minus();

void time();

void devide();

plus();

minus();

time();

devide();

printf("\n输入1继续练习,输入其他字符回到上级菜单。\n");

scanf("%d",&I);

if (I==1)

test();

else

{

system("cls");

choose();

}

}

void plus()

{

printf("****加法****\n");

printf("    2  3\n");

printf("  + 3  8\n");

printf("_____________\n");

printf("    6  1\n");

}

void minus()

{

printf("****减法****\n");

printf("    3  8\n");

printf("  - 1  9\n");

printf("_____________\n");

printf("    1  9\n");

printf("输入'回车'以继续!\n");

getchar();

}

void time()

{

printf("****乘法****\n");

printf("需要用到如下九九乘法表:\n");

int i,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

{

printf("%d*%d=%d ",i,j,i*j);

}

printf("\n");

}

printf("输入'回车'以继续!\n");

getchar();

printf("例如:\n");

printf("    2  3\n");

printf("  X    3\n");

printf("_____________\n");

printf("    6  9\n");

printf("输入'回车'以继续!\n");

getchar();

}

void devide()

{

printf("****除法****\n");

printf("        5\n");

printf("  _________\n");

printf(" 7|  3  5\n");

printf("     3  5\n");

printf("  _________\n");

printf("        0\n\n");

printf("输入'回车'以继续!\n");

getchar();

printf("        9.  8  5……\n");

printf("  _____________\n");

printf(" 7|  6  9.  0  0\n");

printf("     6  3\n");

printf("  ______________\n");

printf("        6  0\n");

printf("        5  6\n");

printf("  ______________\n");

printf("           4  0\n");

printf("           3  5\n");

printf("           :\n");

printf("           :\n");

printf("           :\n");

}

void test()

{

system("cls");

printf("\n*************\n");

printf("开始练习吧!");

srand(time(0));

int goal=0,goal1=0,goal2=0,goal3=0,goal4=0,x,y,z,w,c,i,j;

for(i=0;i

{

x=rand()%50+1;

y=rand()%50+1;

c=rand()%4+1;

if (c==1)

{

n1++;

z=x+y;

printf("%d+%d= \n",x,y);

scanf("%d",&w);

if (z==w)

{

printf("真棒,正确!\n");

goal1+=3;

}

else

printf("很遗憾,你错了!正确答案是%d\n",z);

goal=goal1+goal2+goal3+goal4;

printf("输入数字1继续练习,输入数字0返回上级菜单!\n");

scanf("%d",&j);

if(j==1)

continue;

else

{

break;

system("cls");

choose();

}

}

else if(c==2)

{

n2++;

z=x-y;

printf("%d-%d= \n",x,y);

scanf("%d",&w);

if (z==w)

{

printf("真棒,正确!\n");

goal2+=3;

}

else

printf("很遗憾,你错了!正确答案是%d\n",z);

goal=goal1+goal2+goal3+goal4;

printf("输入数字1继续练习,输入数字0返回上级菜单!\n");

scanf("%d",&j);

if(j==1)

continue;

else

{

break;

system("cls");

choose();

}

}

else if(c==3)

{

n3++;

z=x*y;

printf("%d*%d= \n",x,y);

scanf("%d",&w);

if (z==w)

{

printf("真棒,正确!\n");

goal3+=3;

}

else

printf("很遗憾,你错了!正确答案是%d\n",z);

goal=goal1+goal2+goal3+goal4;

printf("输入数字1继续练习,输入数字0返回上级菜单!\n");

scanf("%d",&j);

if(j==1)

continue;

else

{

break;

system("cls");

choose();

}

}

else if(c==4)

{

n4++;

z=x/y;

printf("%d/%d= \n",x,y);

scanf("%d",&w);

if (z==w)

{

printf("真棒,正确!\n");

goal4+=3;

}

else

printf("很遗憾,你错了!正确答案是%d\n",z);

goal=goal1+goal2+goal3+goal4;

printf("输入数字1继续练习,输入数字0返回上级菜单!\n");

scanf("%d",&j);

if(j==1)

continue;

else

{

break;

system("cls");

choose();

}

}

}

g[4]=goal;

g[0]=goal1;

g[1]=goal2;

g[2]=goal3;

g[3]=goal4;

printf("%d道练习完成,回车以继续查看成绩统计分析。\n**********\n",N);

getchar();

statistics();

}

void statistics()

{

if((n1==0)&&(n2==0)&&(n3==0)&&(n4==0))

{

printf("您还没有完成过练习,没有成绩。\n输入数字1直接进入练习模块,输入数字2进入上级菜单\n");

int i;

scanf("%d",&i);

if (i==1)

{

system("cls");

test();

}

else if(i==2)

{

system("cls");

choose();

}

}

else

printf("\n****成绩统计分析****\n");

printf("您%d道计算题的总分为(每题三分):%f\n",N,g[4]);

printf("您在加法运算中的平均得分为:%f(共%d题)\n",g[0]/n1,n1);

printf("您在减法运算中的平均得分为:%f(共%d题)\n",g[1]/n2,n2);

printf("您在乘法运算中的平均得分为:%f(共%d题)\n",g[2]/n3,n3);

printf("您在除法运算中的平均得分为:%f(共%d题)\n",g[3]/n4,n4);

printf("输入数字1返回上级菜单,输入其他字符结束本次学习!\n");

int i;

scanf("%d",&i);

if(i==1)

{

system("cls");

choose();

}

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值