C语言寒假大作战03
这个作业属与那个课程 | https://edu.cnblogs.com/campus/zswxy/CST2019-3 |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10270 |
我在这个课程课程目标 | 上次作业的菜单框架,并在其基础上增加各年级题目操作函数 |
这个作业在那个具体方面帮我实现目标 | 熟练使用码云,函数的基础知识 |
参考文献 | https://www.runoob.com/cprogramming/c-standard-library-stddef-h.html |
一.本周作业
㈠.2.2.2 设计思路和遇到的问题
设计思路:
先有生成多少个题界面要生成,加减乘除符号和算术表达的生成
遇到的问题:
1.函数的概念基本忘的差不多了,对于aseall码值的陌生,对于rand函数的使用;
2.怎么利用aseall怎样表达随机生成的算数表达式;
㈡.2.2.3 程序结果截图
㈢.2.2.4 程序代码
#include<stdio.h>
#include<stdlib.h>
void memu();
void help();
void error();
void one_grade();
void two_grade();
void three_grade();
int control;//循环控制变量
int flag;//swith菜单选择变量
int main()
{
printf("欢迎使用口算生成器:)\n\n");
help();
do
{
control = 1;
memu();
}
while(control);
return 0;
}
//菜单函数定义
void memu()
{
printf("操作列表:\n1)一年级 \n2)二年级 \n3三年级 \n4)帮助 \n5)退出程序)\n");
printf("请输入操作>");
scanf("%d",&flag);
switch(flag)
{
case 1:
one_grade();
break;
case 2:
two_grade();
break;
case 3:
three_grade();
break;
case 4:
help();
break;
case 5:
printf("欢迎下次使用\n");
control=0;
break;
default:
error();
}
}
//错误函数定义
void error()
{
printf("Error!!!\n错误操作指令,请重新输入\n\n\n");
}
//帮助函数定义
void help()
{
printf("帮助信息:\n");
printf("您需要输入命令代号来进行操作, \n且一年级题目为不超过十位的加减法;\n二年级题目为不超过百位数的乘法;\n三年级题目为不超过百位的加减乘除混合题目");
}
//各个年级题目函数定义
void one_grade()
{
int num;
printf("<执行操作 :)\n\n现在是一年级题目:\n请输入生成的个数>\n\n:");
scanf("%d",&num);
printf("<执行操作:)\n\n");
int i,c=1;
for(i=0;i<num;i++)
{
while(control!=0)
{
char op=rand()%3+43;
if(op==44)
continue;
else
{
printf("%2d %c %2d = __\n",rand()%10,op,rand()%10);
break;
}
}
}
}
void two_grade()
{
int num;
printf("<执行操作 :)\n\n现在是二年级题目:\n请输入生成个数>\n\n");
scanf("%d",&num);
printf("<执行操作:)\n\n");
int i,c=1;
for(i=1;i<=num;i++)
{
while(c!=0)
{
char op=rand()%6+42;
int x=rand()%100,y=rand()%100;
if(op >42&&op<47||y==0)
continue;
else
{
printf("%2d %c %2d = ___\n",x,op,y);
break;
}
}
}
}
void three_grade()
{
int num;
printf("<执行操作 :)\n\n现在是三年级题目:\n执\n请输入生成个数>\n\n");
scanf("%d",&num);
printf("<执行操作 :)\n\n");
int i,c=1;
for(i=1;i<=num;i++)
{
while(c!=0)
{
char op=rand()%6+42,m=rand()%6+42;
int x=rand()%100,y=rand()%100,z=rand()%100;
if(op==44||op==46||m==44||m==46)
continue;
if(op==47&&y==0||m==47&&z==0)
{
continue;
}
else
{
printf("%2d %c %2d %c %2d = ____\n",x,op,y,m,z);
break;
}
}
}
}