dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>文章内容
程序测试程序(配合游戏及学习控制管理器使用)
来源:本站原创     作者:    

原帖及讨论:

创作背景是同学习控制管理器(http://bbs.bc-cn.net/dispbbs.asp?boardid=5&id=160281&star=10#268427)一样的,为了家中的一个表弟做的,在家中实施得到了很好的效果.

配合游戏控制,学习控制,通过测试可以获得游戏点数

/*test.ini(可自行添加修改试题,根据注释中的格式增加即可)*/


;==================================================================
;==================================================================
;记录方式:注释→ “;”后
;测试文件夹
D:\TEST\
;总测试数
2
;测试记录
;格式:
;原题
;标准输出数据
请计算:已知:Q=1*2*3*4*5*6*7*8*9*10,P=1+2+3+4+5+6+7+8+9+10,M=Q/P,SUM=Q+P+M,请输出SUM.
3694833
请计算:(90+91+92....+99+100)*52.8+PI+MAX,并输出结果.
10055179.140000
;==================================================================

/*test 记录试题是否通过的情况*/

1 1

/*test.c 主程序,请用gcc编译(例如DEV-CPP环境下)*/
#include<stdio.h>
#include<string.h>
typedef struct
{
        char describe[1000];
        char answer[100];
} DATA;
DATA s[20];
char path[100];
int testnum;
char s_p[20];
char password[20];
int points;
int copy(char *infile,char *outfile)
{
    FILE *input,*output;
    char temp;
    if(strcmp(infile,outfile)!=0 && ((input=fopen(infile,"rb"))!=NULL) && ((output=fopen(outfile,"wb"))!=NULL))
    {
      while(!feof(input))
      {
        fread(&temp,1,1,input);
        fwrite(&temp,1,1,output);
      }
      fclose(input);
      fclose(output);
      return 0;
    }
    else return 1;
}
int inittest()
{
    FILE *input,*output;
    int i;
    char temp[80];
    input=fopen("test.ini","r");
    output=fopen("test.tmp","w");
    while(!feof(input))
    {
      fgets(temp,80,input);
      if(temp[0]!=';') fputs(temp,output);
    }
    fclose(input);
    fclose(output);
    input=fopen("test.tmp","r");      
    fscanf(input,"%s",path);
    fscanf(input,"%d",&testnum);
    for(i=0;i<testnum;i++) fscanf(input,"%s%s",s[i].describe,s[i].answer);
    fclose(input);
    input=fopen("test","r");
    for(i=0;i<testnum;i++) fscanf(input,"%d",&s_p[i]);
    fclose(input);
}
int main(void)
{
  int n;
  int x,i;
  FILE *input,*output;
  char temp[100];
  inittest();
  printf("程序测试 SK-CHINA 2007-2008\n");
  re:
  printf("目前有%d道测试题,请输入希望做的题:",testnum);
  scanf("%d",&n);
  if(n<=testnum && n>0)
  {
    n--;
    if(s_p[n])
    {
      printf("\n题目叙述:%s\n\n",s[n].describe);
      printf("\n请进入test文件夹,对test.c文件进行添加修改\n");
      printf("\n如果你已经写完,那么请输入1,本程序将进行测试;否则输入0,本程序将退出并新建一个新的程序文件;或输入2,本程序将直接退出,不建立新的程序文件。\n");
      scanf("%d",&x);
      if(x==1)
      {
           sprintf(temp,"%sout.txt",path);
           input=fopen(temp,"r");
           fgets(temp,100,input);
           fclose(input);
           if(strcmp(temp,s[n].answer)==0)
           {
             input=fopen("control","r");
             fscanf(input,"%d%s",&points,password);
             points=points+50;
             fclose(input);
             output=fopen("control","w");
             fprintf(output,"%d\n%s",points,password);
             fclose(output);
             s_p[n]=0;
             output=fopen("test","w");
             for(i=0;i<testnum;i++) fprintf(output,"%d ",s_p[i]);
             fclose(output);
             printf("恭喜你,测试正确 !你的游戏点数已增加50");
             getch();
             return 0;
           }
           else printf("测试错误,不要气馁,检查一下重新提交!");
      }
      else
        if(x==0)
        {
          sprintf(temp,"%stest.c",path);
          copy("Normal.c",temp);
          return 0;
        }
        else return 0;
    }
    else
    {
      printf("本题你已经通过!请重新选择");
      goto re;
    }
  }
  else
  {
    printf("题号输入错误,请重新输入");
    goto re;
  }
  return 0;
}

/*标准文件 normal.c 不用编译,放于同一目录即可*/
#include<stdio.h>
#include<conio.h>
#define PI  3.14
#define MAX 10000000
int test_int;
long test_long;
float test_float;
double test_double;
int my()
{
    /*这里写你的代码*/
}
int main(void)
{
  my();
  freopen("out.txt","w",stdout);
  my();
  getch();
  return 0;
}

本程序完成了一个基本的程序测试程序,不过其中的答案没有加密,测试程序过于简单等还待改进

编译后的程序以及完整代码下载:

点击下载该文件

本套程序(学习控制,游戏控制,程序测试控制 )完整编译后以及完整代码下载:

点击下载该文件

 

 

上一篇:游戏及学习控制管理器   下一篇:三言两语,妙说《指针》。
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·C语言学习
·C语言指针
·C语言数组排序小结
·c语言 最简单的推箱子游戏
·c语言 全国计算机编程大赛复赛试
·c语言 全国计算机编程大赛复赛试
·c++ 数组与指针
·C++中的内存管理(new、delete、
·如何用C语言开发DSP嵌入式系统
·如何用C语言开发DSP嵌入式系统
·Linux下C语言编程
·学习arm的话先看哪本书?
  相关文章
·游戏及学习控制管理器
·三言两语,妙说《指针》。
·函数型计算器(VC++6.0,win32 con
·很怀旧的游戏--吃豆子
·关于制作地图时矩阵的使用(适合
·编程证明出世界未解数学问题
·带符号数表示--机器数与真值--原
·最新Dev-c++与Allegor平台的搭建
·关于main()函数
·C语言开发平台的搭建
·编程初学者易犯的毛病
·C语言猜数字游戏重写版
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763