c语言寒假大作战04

这个作业属于哪个课程 班级链接
这个作业的要求 作业链接
这个作业的目标 使用Switch语句来完成菜单程序
参考文献 百度百科

设计思路和遇到的问题

1.根据前两次作业的基础在进行运算 2.输出格式总是不正确

程序结果截图

c语言寒假大作战04_第1张图片 c语言寒假大作战04_第2张图片 c语言寒假大作战04_第3张图片 c语言寒假大作战04_第4张图片

程序代码

#include #include #include 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,c,i; char f[2]={'+','-'},fl; printf("现在是一年级题目:\n请输入生成题目的个数:"); scanf("%d",&i); for(;i>0;i--){ a=rand()%101; b=rand()%101; fl=f[rand()%2]; if(fl=='+') c=a+b; else c=a-b; printf("%d %c %d = %2d\n",a,fl,b,c); } printf("\n\n");
} void secondgrade(){ srand(time(NULL)); int a,b,i; double c; char f[2]={'','/'},fl; printf("现在是二年级题目:\n请输入生成题目的个数:"); scanf("%d",&i); for(;i>0;i--){ a=rand()%101; b=rand()%101; fl=f[rand()%2]; if(fl=='/'&&b0)b=rand()%100+1; if(fl'/')c=a1.0/b; else c=ab; printf("%d %c %d = %2g\n",a,fl,b,c); } printf("\n\n"); } void thirdgrade(){ srand(time(NULL)); int a,b,i,c,n,q; double m; 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=='/'&&b0) b=rand()%100+1; e=f[rand()%4]; c=rand()%101; if(e'/'&&c0) c=rand()%100+1; switch (d) { case '+':n=1;break; case '-':n=2;break; case '':n=3;break; case '/':n=4;break; } switch (e) { case '+':q=1;break; case '-':q=2;break; case '':q=3;break; case '/':q=4;break; } switch (n) { case 1: if(q1) m=a+b+c; else if(q2) m=a+b-c; else if(q3) m=a+bc; else m =a+b1.0/c; break; case 2: if(q1) m=a-b+c; else if(q2) m=a-b-c; else if(q3) m=a-bc; else m =a-b1.0/c; break; case 3: if(q1) m=ab+c; else if(q==2) m=ab-c; else if(q3) m=abc; else m =ab1.0/c; break; case 4: if(q1) m=a1.0/b+c; else if(q==2) m=a1.0/b-c; else if(q==3) m=a1.0/bc; else m =a*1.0/b/c; break; }
printf("%2d %c %2d %c %2d = %2g\n",a,d,b,e,c,m); } 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; }

Gitee上传截图与链接

c语言寒假大作战04_第5张图片

你可能感兴趣的:(c语言寒假大作战04)