四则运算测试系统

系统包括加、减、乘、除四种基本运算,包含显示答卷、错题正解、系统评估、错题重做、退出系统五种功能,由七个小子函数和主函数构成。

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <time.h>
  4 #include <ctype.h>
  5
  6 int sy[10],sr[10],jd[10],jg[10];
  7 int fs=0;
  8 char fh[10];
  9
 10 void division(int *s1,int *s2,int *s3);
 11 void calculate();
 12 char menu();
 13 void evaluate();
 14 void answer();
 15 void Ranswer();
 16 void reform();
 17
 18 void main()
 19 {
 20     int key=1;
 21     calculate();
 22     while(key)
 23     {
 24         switch(menu())
 25         {
 26             case  ‘1‘:   {   printf("\n\n\n"); answer();    }    break;
 27             case  ‘2‘:   {   printf("\n\n\n"); Ranswer();  }     break;
 28             case  ‘3‘:   {   printf("\n\n\n"); evaluate();   }   break;
 29             case  ‘4‘:   {   printf("\n\n\n"); reform();  }      break;
 30             case  ‘0‘:   {   printf("\n您已退出四则运算系统,谢谢支持!\n\n");key=0;}
 31         }
 32     }
 33 }
 34
 35
 36 void division(int *s1,int *s2,int *s3)
 37 {
 38     int i,b=1,c,jg;
 39     int cs[20]={0},sy,sr;
 40     srand( (unsigned)time( NULL ) );
 41     fa: sy=rand()%100;
 42     if(sy==0)   goto fa;
 43     for(i=1;i<=sy;i++)
 44     {
 45         if(sy%i==0)  {  cs[b]=i;  b++;}
 46         else  continue;
 47     }
 48     c=rand()%b;
 49     if(c==0)  c=c+1;
 50     sr=cs[c];
 51     jg=sy/sr;
 52     *s1=sy;
 53     *s2=sr;
 54     *s3=jg;
 55 }
 56
 57
 58 void calculate()
 59 {
 60     int p;
 61     int i,gh;
 62     printf("欢迎来到四则运算测试系统!\n\n您将进行的是100以内数字的四则运算!Are you ready?Go!\n\n");
 63     srand( (unsigned)time( NULL ) );
 64
 65
 66     for(i=0;i<10;i++)
 67     {
 68         sy[i]=rand()%100;
 69         sr[i]=rand()%100;
 70         p=rand()%4;
 71
 72         if(p==0)
 73         {    fh[i]=‘+‘; jg[i]=sy[i]+sr[i]; }
 74         else  if(p==1)
 75         {    fh[i]=‘-‘;
 76         if(sy[i]<sr[i]) { gh=sy[i]; sy[i]=sr[i];sr[i]=gh; }
 77             jg[i]=sy[i]-sr[i];
 78         }
 79         else  if(p==2)
 80         {   fh[i]=‘*‘; jg[i]=sy[i]*sr[i]; }
 81         else  if(p==3)
 82         {
 83             fh[i]=‘/‘;
 84             division(&sy[i],&sr[i],&jg[i]);
 85         }
 86         printf("第%2d题: %2d %c %2d =  ",i+1,sy[i],fh[i],sr[i]);
 87
 88         scanf("%d",&jd[i]);
 89         if(jd[i]==jg[i])  fs+=10;
 90         }
 91     printf("\n测试结束!\n\n");
 92 }
 93
 94
 95 char menu()
 96 {
 97    char  c=‘0‘;
 98    printf("\n************ 四则运算测试系统 **************\n\n\n");
 99    printf("          1.显示答卷        2.错题正解\n\n");
100    printf("          3.系统评估        4.错题重做\n\n");
101    printf("          0.退出系统\n\n");
102    printf("\n********************************************");
103    printf("\n请输入选项(0-4):");
104    do
105    {   scanf("%c",&c);   }
106    while(!(c>‘0‘&&c<=‘6‘));
107    return c;
108 }
109
110
111 void evaluate()
112 {
113     printf("您的成绩是%d分.\n",fs);
114     switch(fs)
115     {  case  100: printf("Very good!不要骄傲哦!\n");  break;
116        case  90:  printf("优秀!恭喜您取得了好成绩!\n");  break;
117        case  80:
118        case  70:  printf("良好!请继续努力,下次取得更好的成绩!\n");  break;
119        case  60:  printf("及格!成绩不太理想哟!再接再励吧!\n");  break;
120        case  50:
121        case  40:
122        case  30:
123        case  20:
124        case  10:  printf("多花点功夫吧,不然你会后悔的!!\n");  break;
125        case  0:   printf("太差劲了!再不努力的话,会后悔的哦!再做一次吧!!!!\n");  break;
126     }
127     printf("\n\n");
128 }
129
130
131 void answer()
132 {
133     int j;
134     printf("您的答卷为:\n");
135     for(j=0;j<10;j++)
136         printf("%2d %c %2d = %2d\n",sy[j],fh[j],sr[j],jd[j]);
137     printf("\n\n");
138 }
139
140
141 void Ranswer()
142 {
143     int k;
144     printf("您答错的题的正确答案为:\n");
145     for(k=0;k<10;k++)
146     {   if(jd[k]==jg[k])   continue;
147         else
148         {
149             printf("%2d %c %2d = %2d\n",sy[k],fh[k],sr[k],jg[k]);
150         }
151     }
152     printf("\n\n");
153 }
154
155
156 void reform()
157 {
158     int m,n;
159     printf("以下是您做错的题,请重做:\n");
160     for(m=0;m<10;m++)
161         if(jd[m]==jg[m])    continue;
162         else
163         {   printf("%2d %c %2d =",sy[m],fh[m],sr[m]);
164             scanf("%d",&jd[m]);
165             if(jd[m]==jg[m])  printf("恭喜!您做对了!\n");
166             else
167             {
168                 for(n=0;n<3;n++)
169                 {  printf("仍未做对!您只有%d次机会了哦:   ",2-n);
170                       printf("%2d %c %2d =",sy[m],fh[m],sr[m]);
171                           scanf("%d",&jd[m]);
172                           if(jd[m]==jg[m])   { printf("恭喜!您做对了!\n");  break;}
173                 }
174
175              }
176         }
177     printf("\n\n");
178 }
时间: 2025-01-18 10:00:03

四则运算测试系统的相关文章

作业5 四则运算 测试与封装 5.2

作业5 四则运算 测试与封装  5.2 开发环境:   Eclipse 开发人员:   欧其锋(201306114305) 余汉城(201306114317)(http://www.cnblogs.com/yuhancheng/) 分工:   欧其锋:异常处理 余汉城:重构 源代码: 1 package GongNengpk; 2 3 import GongNengpkTest.ChuShuLingException; 4 import GongNengpkTest.JCException; 5

《软件工程》第二次作业:编写小学生四则运算测试软件

一.题目: 请编写一个能自动生成小学四则运算题目的 “软件”. 让程序能接受用户输入答案,并判定对错. 最后给出总共以及 对/错      的数量. 二.基本要求: 所编写出来的“软件”选择界面设计,选择加.减.乘.除运算. 系统随机产生一百以内的两个数进行运算. 使用该软件时,用户从键盘输入结果,回答正确和回答错误都有提示,结束后系统会自动给出相应的总题数和 对/错 的数量. 三.需求分析: 程序能实现0~100以内的加法.减法.乘法以及除法的运算. 用户能在java控制窗口输入自己的答案,该

微信+WeTest:小程序云端测试系统上线

日前,微信新增小程序测试系统,可便于开发者检测小程序缺陷,评估小程序产品质量.在小程序发布之前,开发者可将小程序代码提交到测试系统,在不同型号的手机真机上运行,执行完毕后自动生成测试报告.小程序云端测试平台,由WeTest提供基础支持,下载"微信开发者工具"即可使用. 小程序测试报告示例:  一. 云真机测试 Beta 为了方便广大开发者检测小程序程序缺陷.评估小程序产品质量,微信提供了免费的云真机测试环境以及一整套测试方案.在小程序交付到真实用户手中使用之前,你可以将小程序分发到云真

小程聊微服务-基于dubbo的mock测试系统

一.说在前面 基于微服务或者SOA的自动化测试系统每个公司都有自己的特有的,我今天就主要介绍一下,我们研发的一套mock测试系统. 二.目前面临的问题 1.测试人员面临的测试问题 我公司目前用的是基于Dubbo的微服务改造,服务之间的调用链路冗长,每个服务又是单独的团队在维护,每个团队又在不断的演进和维护各个服务,那么对测试人员将是非常大的挑战. 测试人员每次进行功能测试的时候,测试用例每次都需要重新写一遍,无法将测试用例的数据沉淀,尤其是做自动化测试的时候,测试人员准备测试数据就需要很长时间,

倾力打造在线SAP学习练习测试系统,能上网就可以使用SAP

为方便圈内外各兄弟方便使用SAP,特别是有的兄弟们在实施客户那边,紧急需要一个测试环境时,我们隆重推出在线SAP系统.以满足大家学习需要.带开发权限. SAP GUI (SAP客户端LOGON里)新增一个登陆: 描述            :您身边的SAP测试系统QQ 2947580应用程序服务器  :sap1.vicp.cc  (或IP地址:183.54.30.167)实例编号        :10系统标识        :T01SAProuter字符串 :    (为空,不要填) 详细咨询Q

第九章,测试系统

在系统测试中,我们的目的就是:确保系统能够做顾客想要做的事.为了理解怎样实现这个目标,我们首先必须理解系统的错误来自那里. 在测试系统中有以下几步: 1. 功能测试 2. 执行测试 3. 协议测试 4. 安装测试 .职业测试员组织和进行测试.分析员插手于原始需求定义和描述,系统设计者为测试小组增加了目的观点.因为测试和测试用例于需求和设计紧密联系,测试小组需要一个结构管理代表. 系统测试分为功能测试,性能测试.性能测试一个最关键的问题是保证系统的可靠性,可用性及可维护性.我们希望能将可靠性,可用

Jmeter之负载测试--在固定吞吐量下测试系统的性能表现

根据之前写的"性能测试之负载测试(生活比喻)",可知性能测试结果都是有前提的: 本篇主要是说明如何在固定吞吐量下测试系统的性能表现: 还是老套路: 场景 测试百度主页在20 QPS的情况下,响应时间.流量等性能数据: 分析 1.这里的20 QPS应该是指Jmeter发送请求的QPS,而不是服务器处理的QPS:--因为假如我们以20 QPS的速度向服务器发送请求,但是服务器每秒最多只能处理8个请求,那么我们无论如何都无法测得服务器在20 QPS的情况下的性能数据: 2.难点在于让Jmet

第九章-测试系统

系统的性能测试对应着用户在非功能需求中对性能目标的描述,举个例子,功能测试是用来证明一个测试系统可以依据火箭的推力,气候状况和相关的传感器及系统信息,计算出火箭的轨迹.性能测试做的是这个计算做的有多么好,对用户命令的响应速度,结果的精确度,相对于用户性能描述的检查数据的访问程度.性能测试由测试小组设计并管理,并将结果提交给用户.因为性能测试常常不但包括软件部分也同时包括硬件部分,因此硬件工程师也是测试小组的一部分. 系统的性能测试对应着用户在非功能需求中对性能目标的描述,举个例子,功能测试是用来

IVI 技术在自动测试系统中的应用研究

最近在做一个项目,关于TR组件自动测试系统,其中对测试系统仪器的设置,想底层用IVI 来实现,新的仪器大多支持lan口,厂家都自带IVI 驱动程序,只要按指定步骤就能实现多个厂家的IVI 仪器设置,实现同类仪器的可互换性. 本项目中用到示波器.频谱仪.宽带信号源.微波信号源等仪器.下面讲一下开发IVI 步骤: 1.首先要对IVI 有所了解,IVI 相关信息可从下面网址获得:http://www.ivifoundation.org/default.aspx overview 中大家可以学习IVI