C语言寒假大作战03

作业头

这个作业属于哪个课程
这个作业要求在哪里
这个作业的目标
作业正文
其他参考文献

2.1 题目内容与要求

使用上次作业的菜单框架,并在其基础上增加各年级题目操作函数

2.1.1 菜单程序函数调用图如下:

2.1.2 程序截图:

2.2.2 设计思路和遇到的问题

设计思路

根据随机生成随机数,符号用字符表示。在按照要求输出。

遇到的问题

之前没有考虑除数不能是0的情况,其余的没什么问题。

2.2.3 程序代码

#include<stdio.h>
#include <stdlib.h>
#include <time.h>
void menu(){
        printf("操作列表:
1)一年级    2)二年级    3)三年级
4)帮助      5)退出程序
请输入操作>  ");
}
void help(){
    printf("帮助信息
您需要输入命令代号来进行操作, 且
一年级题目为不超过十位的加减法;
二年级题目为不超过百位的乘除法;
三年级题目为不超过百位的加减乘除混合题目.

");
}
void error(){
    printf("Error!!!
错误操作指令, 请重新输入

");
}
void firstgrade(){
	srand(time(NULL));
	int a,b,i;
	char f[2]={'+','-'};
    printf("现在是一年级题目:
请输入生成题目的个数:");
    scanf("%d",&i);
    for(;i>0;i--){
    	a=rand()%101;
		b=rand()%101;
		printf("%d %c %d = ___
",a,f[rand()%2],b);
	}
	printf("

");  
}
void secondgrade(){
	srand(time(NULL));
	int a,b,i;
	char f[2]={'*','/'},fl;
    printf("现在是二年级题目:
请输入生成题目的个数:");
    scanf("%d",&i);
    for(;i>0;i--){
    	a=rand()%101;
		b=rand()%101;
		fl=f[rand()%2];
		if(fl=='/'&&b==0)b=rand()%100+1;
    	printf("%d %c %d = ___
",a,fl,b);
	}
	printf("

");
}
void thirdgrade(){
	srand(time(NULL));
	int a,b,i,c;
	char f[4]={'*','/','+','-'},d,e;
    printf("现在是三年级题目:
请输入生成题目的个数:");
    scanf("%d",&i);
    for(;i>0;i--){
    	a=rand()%101;
		d=f[rand()%4];
		b=rand()%101;
		if(d=='/'&&b==0)	b=rand()%100+1;
		e=f[rand()%4];
		c=rand()%101;
		if(e=='/'&&c==0)	c=rand()%100+1;
    	printf("%2d %c %2d %c %2d = ___
",a,d,b,e,c);
	}
	printf("

");
}

int main()
{
    int a;
    printf("========== 口算生成器 ==========
欢迎使用口算生成器 :

");
    help(); 
    menu();
    do{
        scanf("%d",&a);
        printf("< 执行操作 >

");
        switch (a) {        
            case 1:firstgrade();break;
            case 2:secondgrade();break;
            case 3:thirdgrade();break;
            case 4:help();    break;
            case 5:printf("程序结束, 欢迎下次使用 任意键结束……
");break;
            default:error();break;
        }
        if(a!=5)menu();
    }while(a!=5);
    
    return 0;
}

2.2.4 Gitee上传截图与链接

本地仓库



码云

gitee主页

原文地址:https://www.cnblogs.com/szy5201314/p/12268352.html