C语言寒假大作战03
问题|答案
-|:-😐-:
这个作业属于哪个课程|https://edu.cnblogs.com/campus/zswxy/CST2019-4/
这个作业的要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10269
我在这个课程的目标是|学会简单初步的编制菜单栏,制作一些小小的简单的命令程序,再上次作业基础上多几个操作,出题目
这个作业在具体哪个方面帮助我实现目标|编制的代码以及提示,以及查阅资料获得的新知识,用不同的语法来绘代码。
参考文献|https://www.runoob.com/cprogramming/c-function-rand.html
2.2.2 设计思路和遇到的问题
[设计思路]
- 再上周作业的基础代码上再添加代码,使一年级二年级三年级的题目也通过回车可以随机出题目来,可想而知题目得随机,就得查阅资料,用作业下方的链接就可查询,随机rand。
[遇到的问题]
- 这个比较陌生,每次进行都是编译错误,还是没有能够理解透彻新加入的代码,还有多了很多的#include<>,没有很好的清晰的思路去想象代码该如何接上。
2.2.3 程序结果截图
2.2.4 程序代码
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
void menu();
void help();
void error();
void operation_1();void one_1();
void operation_2();void two_1();
void operation_3();void three_1();
int main()
{
int n;
printf("========== 口算生成器 ==========\n");
printf("欢迎使用口算生成器 :\n");
printf("小学生必备神器\n");
printf("\n");
help();
while(1)
{
menu();
scanf("%d",&n);
switch(n)
{
case 1:operation_1();break;
case 2:operation_2();break;
case 3:operation_3();break;
case 4:help();break;
}
printf("\n");
if(n==5) break;
if(n>5||n<1) error();
}
return 0;
}
void help()
{
printf("帮助信息\n");
printf("您需要输入命令代号来进行操作\n");
printf("一年级题目为不超过十位的加减法\n");
printf("二年级题目为不超过百位的乘除法\n");
printf("三年级题目为不超过百位的加减乘除混合题目\n");
printf("\n");
}
void menu()
{
printf("操作列表:\n1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n请输入代号:");
}
void error()
{
printf("哦买噶 错啦 请重新输入 ");
printf("\n");
printf("\n");
}
void operation_1()
{
printf("请输入题目数量>");
one_1();
}
void operation_2()
{
printf("请输入题目数量>");
two_1();
}
void operation_3()
{
printf("请输入题目数量>");
three_1();
}
void one_1()
{
int n,a,b,c;
scanf("%d",&n);
printf("一年级题目如下:\n");
srand((unsigned)time(NULL));
for(int i=1;i<=n;i++)
{
a=rand()%10+1;
b=rand()%10+1;
c=rand()%2;
if(c==0)
printf("%2d + %2d = ___",a,b);
else
printf("%2d - %2d = ___",a,b);
printf("\n");
}
}
void two_1()
{
int n,a,b,c;
scanf("%d",&n);
printf("二年级题目如下:\n");
srand((unsigned)time(NULL));
for(int i=1;i<=n;i++)
{
a=rand()%100;
b=rand()%100;
c=rand()%2;
if(c==0)
printf("%3d * %3d = ___",a,b);
else
printf("%3d / %3d = ___",a,b);
printf("\n");
}
}
void three_1()
{
int n,a,b,c;
scanf("%d",&n);
printf("三年级题目如下:\n");
srand((unsigned)time(NULL));
for(int i=1;i<=n;i++)
{
a=rand()%100;
b=rand()%100;
c=rand()%4;
switch(c)
{
case 0:printf("%3d + %3d = ___",a,b);break;
case 1:printf("%3d - %3d = ___",a,b);break;
case 2:printf("%3d * %3d = ___",a,b);break;
case 3:printf("%3d / %3d = ___",a,b);break;
}
printf("\n");
}
}
2.2.6 Gitee上传截图与链接