C语言寒假大作战03

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-4
这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10269
这个作业的目标是 了解rand()是什么;该怎么用
作业正文 在上次的控制台基础上,利用rand()增加题目的具体操作
参考文献 https://www.runoob.com/cprogramming/c-function-rand.html

2.2.2设计思路及所遇到的问题

思路:在上一次作业源代码的基础上增加几个自定义函数;这几个函数分别是三个年级题目的具体操作;
所遇到的问题:对于rand()的使用以及过程中涉及到的NULL(空指针的含义);

2.2.3程序截图

C语言寒假大作战03_第1张图片
C语言寒假大作战03_第2张图片
C语言寒假大作战03_第3张图片

2.2.4程序代码

include

include

include

void menu();
void help();
void one();void operation_1();
void two();void operation_2();
void three();void operation_3();
void error();
int main()
{
int opt=1,n;
printf("==========口算生成器==========\n");
printf("欢迎使用口算生成器:\n");
printf("\n");
help();
while(opt!=0)
{
menu();
printf("请输入操作> ");
scanf("%d",&opt);
printf("<执行操作:)\n");
printf("\n");
switch(opt)
{
case 1:operation_1();break;
case 2:operation_2();break;
case 3:operation_3();break;
case 4:help();break;
case 5:printf("程序结束, 欢迎下次使用\n");
printf("任意键结束……");
opt=0;
default:error();break;
}
}
return 0;
}
void menu()
{
printf("\n");
printf("操作列表:\n");
printf("1)一年级 2)二年级 3)三年级\n");
printf("4)帮助 5)退出程序\n");
}
void help()
{
printf("\n");
printf("帮助信息\n");
printf("您需要输入命令代号来进行操作,且\n");
printf("一年级题目为不超过十位的加减法\n");
printf("二年级题目为不超过百位的乘除法\n");
printf("三年级题目为不超过百位的加减乘除混合题目.\n");
}
void operation_1()
{
printf("请输入生成个数>");
one();
}
void operation_2()
{
printf("请输入生成个数>");
two();
}
void operation_3()
{
printf("请输入生成个数>");
three();
}
void one()
{
int n,a,b,c;
scanf("%d",&n);
printf("一年级题目如下:\n");
srand((unsigned)time(NULL));
for(int i=1;i<=n;i++)
{
a=rand()%10;
b=rand()%10;
c=rand()%2;
if(c==0)
printf("%2d + %2d = ",a,b);
else
printf("%2d - %2d =
",a,b);
printf("\n");
}

}
void two()
{
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()
{
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");
}
}
void error()
{
printf("Error!!!\n");
printf("错误操作指令, 请重新输入\n");
}

2.2.5gitee上传截图与链接

C语言寒假大作战03_第4张图片

C语言寒假大作战03_第5张图片

C语言寒假大作战03_第6张图片

C语言寒假大作战03_第7张图片

gitee链接:
https://gitee.com/dream_shadow/dashboard/projects

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