C语言寒假大作战03
1 作业头:
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2019-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10271 |
这个作业的目标 | 使用函数、Switch语句来完成菜单程序 |
作业正文 | https://i-beta.cnblogs.com/posts/edit |
参考文献 | https://www.runoob.com/cprogramming/c-function-rand.html |
2 设计思路和遇到的问题
1.根据上次的作业,在一年级二年级三年级这三个函数里做改动即可。
2.经搜索知道rand()函数用法,将运算符号放入数组。
3.注意数组op[]括号里rand()%2--(数字代表数组里的运算符号个数)。
3 程序结果截图
4 程序代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void first(int opt) {
int i;
char op[] = {'+','-'};
srand(time(NULL));
printf("/*----- 一年级 -----*/\n");
for (i = 1; i <= 5; i++) {
printf("%d %c %d = ___\n", rand() % 10,op[rand()%2],rand()%10);
}
}
void second(int opt) {
int i;
char op[] = { '*','/' };
srand(time(NULL));
printf("/*----- 二年级 -----*/\n");
for (i = 1; i <= 5; i++) {
printf("%d %c %d = ___\n", rand()%100,op[rand()%2],rand()%100);
}
}
void third(int opt) {
int i;
char op[] = { '*','/','+','-'};
srand(time(NULL));
printf("/*----- 三年级 -----*/\n");
for (i = 1; i <= 5; i++) {
printf("%d %c %d %c %d = ___\n", rand()%100,op[rand()%4],rand()%100,op[rand()%4],rand()%100);
}
}
void help(int opt) {
printf("帮助信息\n您需要输入命令代号来进行操作, 且\n");
printf("一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
}
void end(int opt) {
printf("程序结束, 欢迎下次使用,任意键结束......\n\n");
}
void error(int opt) {
printf("Error!!!\n错误操作指令, 请重新输入\n\n\n");
}
int main()
{
int opt = -1;
printf("========== 口算生成器 ==========\n欢迎使用口算生成器 :\n\n");
printf("帮助信息\n您需要输入命令代号来进行操作, 且\n");
printf("一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
while (opt != 5)
{
printf("操作列表:\n1)一年级 2)二年级 3)三年级\n4)帮助 5)退出程序\n ");
printf("请输入操作 >\n\n");
scanf_s("%d", &opt);
switch (opt) {
case 1:first(opt); break;
case 2:second(opt); break;
case 3:third(opt); break;
case 4:help(opt); break;
case 5:end(opt); break;
default:error(opt); break;
}
}
}