作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/ |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10261 |
这个作业的目标 | 熟练C语言函数应用 |
作业正文 | https://www.cnblogs.com/szy5201314/p/12268352.html |
其他参考文献 | 百度 |
2.1 题目内容与要求
使用上次作业的菜单框架,并在其基础上增加各年级题目操作函数
2.1.1 菜单程序函数调用图如下:
2.1.2 程序截图:
2.2.2 设计思路和遇到的问题
设计思路
遇到的问题
2.2.3 程序代码
#include<stdio.h> #include <stdlib.h> #include <time.h> void menu(){ printf("操作列表:\n1)一年级 2)二年级 3)三年级\n4)帮助 5)退出程序\n请输入操作> "); } void help(){ printf("帮助信息\n您需要输入命令代号来进行操作, 且\n一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n"); } void error(){ printf("Error!!!\n错误操作指令, 请重新输入\n\n"); } void firstgrade(){ srand(time(NULL)); int a,b,i; char f[2]={'+','-'}; printf("现在是一年级题目:\n请输入生成题目的个数:"); scanf("%d",&i); for(;i>0;i--){ a=rand()%101; b=rand()%101; printf("%d %c %d = ___\n",a,f[rand()%2],b); } printf("\n\n"); } void secondgrade(){ srand(time(NULL)); int a,b,i; char f[2]={'*','/'}; printf("现在是二年级题目:\n请输入生成题目的个数:"); scanf("%d",&i); for(;i>0;i--){ a=rand()%101; b=rand()%101; printf("%d %c %d = ___\n",a,f[rand()%2],b); } printf("\n\n"); } void thirdgrade(){ srand(time(NULL)); int a,b,i,c; char f[4]={'*','/','+','-'},d,e; printf("现在是三年级题目:\n请输入生成题目的个数:"); scanf("%d",&i); for(;i>0;i--){ a=rand()%101; d=f[rand()%4]; b=rand()%101; if(d=='/'&&b==0) b=rand()%100+1; e=f[rand()%4]; c=rand()%101; if(e=='/'&&c==0) c=rand()%100+1; printf("%2d %c %2d %c %2d = ___\n",a,d,b,e,c); } printf("\n\n"); } int main() { int a; printf("========== 口算生成器 ==========\n欢迎使用口算生成器 :\n\n"); help(); menu(); do{ scanf("%d",&a); printf("< 执行操作 >\n\n"); switch (a) { case 1:firstgrade();break; case 2:secondgrade();break; case 3:thirdgrade();break; case 4:help(); break; case 5:printf("程序结束, 欢迎下次使用 任意键结束……\n");break; default:error();break; } if(a!=5)menu(); }while(a!=5); return 0; }
2.2.4 Gitee上传截图与链接
本地仓库
码云
来源:https://www.cnblogs.com/szy5201314/p/12268352.html