• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cnmdb

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

寒假大作战03

这个作业属于哪个课程  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;postId=12300242
 参考文献  https://www.runoob.com/cprogramming/c-function-rand.html

 

 

 

 

 

1. 设计思路和遇到的问题

1.根据作业要求知道需要在各个年级显示的内容做修改

2.感觉这次作业比较困难,不仅要随机出题,还得弄好出题个数,通过查找百度资料和询问同学才基本搞懂

2. 程序结果截图

 

 

 

 

 

 

 

 

 

 

 

 

 

3. 程序代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void one(){
srand(time(NULL));
int x,y,i,n;
char op[2]={'+','-'};
printf("现在是一年级题目:\n请输入生成题目的个数:");
scanf("%d",&n);
for(i=n;i>0;i--){
x=rand()%11;
y=rand()%11;
printf("%d %c %d = ___\n",x,op[rand()%2],y);
}
printf("\n\n");
}
void two(){
srand(time(NULL));
int x,y,i,n;
char op[2]={'*','/'},c;
printf("现在是二年级题目:\n请输入生成题目的个数:");
scanf("%d",&n);
for(i=n;i>0;i--){
x=rand()%101;
y=rand()%101;
c=op[rand()%2];
if(c=='/'&&y==0)
y=rand()%100+1;
printf("%d %c %d = ___\n",x,c,y);
}
printf("\n\n");
}
void three(){
srand(time(NULL));
int x,y,z,i,n;
char op[4]={'*','/','+','-'},op1,op2;
printf("现在是三年级题目:\n请输入生成题目的个数:");
scanf("%d",&n);
for(i=n;i>0;i--){
x=rand()%101;
op1=op[rand()%4];
y=rand()%101;
if(op1=='/'&&y==0)
y=rand()%100+1;
op2=op[rand()%4];
z=rand()%101;
if(op2=='/'&&z==0)
z=rand()%100+1;
printf("%2d %c %2d %c %2d = ___\n",x,op1,y,op2,z);
}
printf("\n\n");
}void menu(){
printf("操作列表\n1)一年级 2)二年级 3)三年级\n4)帮助 5)退出程序\n\n请输入操作>");
}

void help(){
printf("帮助信息\n您需要输入命令代号来进行操作, 且\n一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n");
}
void error(){
printf("Error!!!\n错误操作指令, 请重新输入\n\n");
}
int main(){
int x=0;
printf("========== 口算生成器 ==========\n欢迎使用口算生成器 :\n\n");
help();
menu();
while(x!=5){
scanf("%d",&x);
printf("<执行操作:)\n\n");
switch(x){
case 1:one();break;
case 2:two();break;
case 3:three();break;
case 4:help();break;
case 5:printf("程序结束,欢迎下次使用 任意键结束......");break;
default:error();break;
}if (x!=5)menu();
}
return 0;
}

4.Gitee上传截图与链接

 

 

 

 

码云链接

https://gitee.com/wangdongfk

 

posted on 2020-02-12 18:37  KmiDa  阅读(122)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3