陈琬琰yoyo

导航

C语言寒假大作战03

问题|答案
-|-|-
这个作业属于哪个课程|班级链接
这个作业的要求在哪里|作业要求
这个作业的目标|在自主设计一个菜单栏的基础上增加各年级题目操作函数。
作业正文|如下
参考文献|作业要求里提供的一系列文献随机数rand,百度百科,dev 码云。

2.1设计的思路和遇到的问题。

(1)设计思路:在上次完成的菜单栏框架的基础上在执行一年级,二年级,三年级的switch语句里面加上rand随机数函数来生成计算式子。
(2)遇到的问题:二年级的随机式子总是只生成一个,反复检查后发现是其中一个变量设置错了。

2.2程序结果截图




2.3程序代码

     '''
     #include<stdio.h>
     #include<stdlib.h>
     #include<time.h>
     void menu();
     void error(int a);
     void help();
     int main()
     {
   int cj=1;
   int b,m,i,ch,ch2,g;
   printf("========口算生成器========\n");
   printf("欢迎使用口算生成器:\n");
   printf("\n");
   help();
   while(cj)
    {
	menu();
	scanf("%d",&cj);
	if(cj==5)
	break;
	switch(cj)
	{
		case 1:printf("现在是一年级题目:\n");
	           printf("请输入生成题目个数:");
	           scanf("%d",&b);
			   printf("题目列表:\n"); 
			   printf("\n");
			   for(i=0;i<b;i++)
			   {
			   		m=rand()%2;
			   		if(m==1)
			   		printf(" %d + %d = \n", rand()%11,rand()%11);
			   		else
			   		printf(" %d - %d = \n", rand()%11,rand()%11);
			   }
			   
			   break;
		case 2:printf("现在是二年级题目:\n");
			   printf("请输入生成题目个数:");
			   scanf("%d",&b);
			   printf("题目列表:\n"); 
			   printf("\n");
			   for(i=0;i<b;i++)
			   {
			   		m=rand()%2;
			   		if(m==1)
			   		printf(" %d * %d = \n", rand()%101,rand()%101);
			   		else
			   		printf(" %d / %d = \n", rand()%100+1,rand()%100+1);
			   }
			   break;
		case 3:printf("现在是三年级题目:\n");
		       printf("请输入生成题目个数:");
		       scanf("%d",&b);
			   printf("题目列表:"); 
		       printf("\n");
		       for(i=0;i<b;i++)
		       {
		       		m=rand()%4;
		       		switch(m)
		       		{
		       			case 0:
		       			ch='+';break;
		       			case 1:
		       			ch='-';break;
		       			case 2:
		       			ch='*';break;
		       			case 3:
		       			ch='/';break;
					   }
						g=rand()%4;
						switch(g)
						{
							case 0:
		       				ch2='+';break;
		       				case 1:
		       				ch2='-';break;
		       				case 2:
		       				ch2='*';break;
		       				case 3:
		       				ch2='/';break;
						}
						printf(" %d %c %d %c %d = \n",rand()%101,ch,rand()%100+1,ch2,rand()%100+1);
			   }
		       break;
		case 4:help();
			   break;
		default:error(cj);
		        break;
	}
	printf("\n");
 }
   printf("\n");
   printf("程序结束,欢迎下次使用....");
      }
   void help()
  {
	printf("帮助信息:\n");
	printf("你需要输入命令代号来进行操作,且\n");
	printf("一年级题目不超过十位数的加减法:\n");
	printf("二年级题目不超过百位的乘除发:\n");
	printf("三年级题目不超过百位的加减乘除混合题目。\n");
	printf("\n");
}
void menu()
{
	printf("操作列表:\n");
	printf("1)一年级  2)二年级  3)三年级\n");
	printf("4)帮助  5)提出程序\n");
	printf("<请输入操作>:");
	printf("\n");
}
void error(int a)
{
	printf("Error!!!");
	printf("错误操作指令,请重新输入\n");
}

2.4Gitee上传截图与链接

陈琬琰yoyo

posted on 2020-02-12 14:54  陈琬琰yoyo  阅读(107)  评论(0编辑  收藏  举报