| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:考试管理系统存在几个错误 求改
只看楼主 加入收藏
seeddestiny
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-11-2
结帖率:50%
收藏
 问题点数:0 回复次数:1 
考试管理系统存在几个错误 求改
最近和同学编了一个考试管理系统的程序,可是有2个错误一直改不了 请各位大大们帮忙检查一下  在线等  蛮急的
#include<fstream>
#include<string.h>
using namespace std;
class stu
{
public:
 string num;//学号
 string name;//姓名
 string keyword;//考生密码
 int cond;//是否考过试
 int fen;//得分
 int mingci;
 stu()
 {
  num="0";
  name="0";
  keyword="0";
  cond=0;
  fen=0;
  mingci=0;
 }
};
class ti
{
public:
 string timu;//题目内容
 string A;//A选项内容
 string B;//B选项内容
 string C;//C选项内容
 string D;//D选项内容
 string t;//正确选项
 int q;//标记是否做过
 ti()
 {
  timu="0";
  A="0";
  B="0";
  C="0";
  D="0";
  t="0";
  q=0;
 }
};
void main()
{
 ti shiti[20];
 stu kao[5];
  
  printf("**************************欢迎使用考试管理系统****************************");
 printf("功能选择:1考生管理,2考试,3试题库管理,4退出:");//功能选择
 int n;
 scanf("%d",&n);
 while (n!=4)
 {
  while(!(n>=1&&n<4))
  {
  printf("输入有误,请重新输入:");
 scanf("%d",&n);
  }
//_______________________________考生管理___________________________________//
  if(n==1)
  {
   
  ifstream inf("考生信息.txt");
  if(!inf)
  {
   printf("打开考生信息文件出错!");
  return;
  }
  for(int i=0;!inf.eof();i++)
  {
  string num,name,keyword;
int cond,fen,mingci;
  scanf("%d%d%d%d%d%d",&num,&name,&cond,&fen,&keyword,&mingci);
   
  kao[i].num=num;
   
  kao[i].name=name;
  kao[i].cond=cond;
  kao[i].fen=fen;
  kao[i].keyword=keyword;
kao[i].mingci=mingci;
  printf("学生信息");
  printf("kao[i].num,kao[i].name,kao[i].cond,kao[i].fen,kao[i].keyword,kao[i].mingci");
   
   
   
  }
  inf.close();
  int x;//记录题数
   
  int nn=1;
  while(nn!=2)
  {
  ifstream inf("考生信息.txt");
  if(!inf)
  {
  printf("打开文件考生信息出错!");
  return;
  }
  for(int i=0;!inf.eof();i++)
  {
  string num,name,keyword;
int cond,fen,mingci;
  printf("num,name,cond,fen,keyword,mingci");
   
   
  kao[i].num=num;
   
  kao[i].name=name;
  kao[i].cond=cond;
  kao[i].fen=fen;
  kao[i].keyword=keyword;
kao[i].mingci=mingci;
  }
  x=i;

  printf("考生信息管理:1.增加考生信息 2.删去考生信息 3.更改学生信息 4.退出 请选择:");
  scanf("%d",&nn);
  if(nn==1)
  {
  string num,name,cond,fen,keyword,mingci;
  printf("请输入学号:");
  scanf("%d",&num);
  printf("请输入姓名:");
  scanf("%d",&name);
 printf("请输入考试与否:");
  scanf("%d",&cond);
  printf("请输入分数:");
  scanf("%d",&fen);
  printf("请输入密码:");
  scanf("%d",&keyword);
printf("请输入名次:");
scanf("%d",&mingci);
  ofstream outf("考生信息.txt");
  if(!outf)
  {
 printf("打开学生信息文件出错!");
  return;
  }
   
  for(int i=0;i<x;i++)
   
  printf("kao[i].num","kao[i].name","kao[i].cond","kao[i].fen","kao[i].keyword","kao[i].mingci");
   
  printf("num","name","cond","fen","keyword","mingci");
  outf.close();
  printf("已增加!");
  x++;
   
  }
  }
  }
//________________________________考试______________________________________//
  if(n==2)
  {
   
  ifstream inf("考生信息.txt");
  if(!inf)
  {
  printf("打开学生信息文件出错!");
  return;
  }
  for(int i=0;i<5;i++)
  {
  scanf("%d%d%d%d%d%d",&kao[i].num,&kao[i].name,&kao[i].cond,&kao[i].fen,&kao[i].keyword,&kao[i].mingci);
  }
  inf.close();
  string num;
printf("请输入你的学号:");
  scanf("%d",&num);
  int d=1;
  string keyword;
  printf("请输入你的密码");//输入密码
  scanf("%d",&keyword);
  for(i=0;i<5;i++)
  {
  if(&kao[i].num==&num&&kao[i].cond!=1)
  {
  while(kao[i].keyword!=keyword)
      
  {
  d++;
  if(d==4)return;
printf("密码有误,请重新输入密码:");
  scanf("%d",&keyword);
  }
  printf("kao[i].name****"欢迎你!"*****);
  int nn,m=5;
  printf("默认题数为5题,是否需要修改?1是,2否,请选择:");
  scanf("%d",&nn);
  if(nn==1)
  {
   
  printf("请输入考试题数:");
  scanf("%d",&m);
  }
  printf("下面开始答题(选项大写):");
  ifstream inf("试题.txt");
  if(!inf)
  {
  printf("打开试题文件出错!");
  return;
  }
  
  for(int k=0;!inf.eof();k++)
  {
  string timu,A,B,C,D,t;
  inf>>timu>>A>>B>>C>>D>>t;
   
   
   
  shiti[k].timu=timu;
   
  shiti[k].A=A;
  shiti[k].B=B;
  shiti[k].C=C;
  shiti[k].D=D;
  shiti[k].t=t;
   
  }
  inf.close();
  int x2=k;//记录试题总数
//___________________________答m道题目__________________________//
   
  for(int j=0;j<m;j++)
  {
   
  srand(time(NULL));   
  int r;
  r=(rand()%x2+1)-1;//产生随机数
  while(shiti[r].q==1)
  {
  srand(time(NULL));   
  r=(rand()%x2+1)-1;
  }
  printf("第"%d",&j+1"题:");
  cout<<shiti[r].timu<<endl<<shiti[r].A<<endl<<shiti[r].B<<endl<<shiti[r].C<<endl<<shiti[r].D<<endl;
  printf("请选择:");
  string daan;
  scanf("%d",&daan);
  if(daan==shiti[r].t)
  kao[i].fen=kao[i].fen+5;
  shiti[r].q=1;
  }
//_______________________________________________________________//
  printf("您的总分为:"%d",&kao[i].fen");
int arr[]={kao[1].fen,kao[2].fen,kao[3].fen,kao[4].fen,kao[5].fen};
int sort( arr[],int i,j,temp)
{ for(i=0;i<5;i++)
for(j=4;j>i;j--)
if(arr{kao[j].fen]<arr[kao[j].fen]
{temp=arr[kao[j-1].fen];
arr[kao[j-1].fen]=arr[kao[j].fen];
arr[kao[j]=temp;
return j-1;
}
}

  kao[i].cond=1;
  for(int l=0;l<x2;l++)
  shiti[l].q=0;
  break;
  }
  else if(kao[i].num==num&&kao[i].cond==1)
  {
  printf("您已经参加过考试!");
  break;
  }

  }
   
  if(i==5)
  printf("所输入的学号不在考生名单中!");
  ofstream outf("考生信息.txt");
  if(!outf)
  {
  printf("打开试题文件出错!");
  return;
  }
   
  for(int c=0;c<5;c++)
   
  outf<<" "<<kao[c].num<<" "<<kao[c].name<<" "<<kao[c].cond<<" "<<kao[c].fen<<" "<<kao[i].mingci;
   
   
  outf.close();
  }
//________________________________试题管理_________________________________//
  if(n==3)
  {
  string a="123456";
  string b;
  int n=1;
  printf("请输入试题管理密码:");
  scanf("%d",&b);
  while(a!=b)
  {
  n++;
  if(n==4)return;
  printf("密码有误,请重新输入:");
  scanf("%d",&b);
  }
   
  ifstream inf("试题.txt");
  if(!inf)
  {
  printf("打开试题文件出错!");
  return;
  }
  for(int i=0;!inf.eof();i++)
  {
  string timu,A,B,C,D,t;
  inf>>timu>>A>>B>>C>>D>>t;
   
   
   
  shiti[i].timu=timu;
   
  shiti[i].A=A;
  shiti[i].B=B;
  shiti[i].C=C;
  shiti[i].D=D;
  shiti[i].t=t;
  printf("第"%d",&i+1"题:");
  cout<<shiti[i].timu<<endl<<shiti[i].A<<endl<<shiti[i].B<<endl<<shiti[i].C<<endl<<shiti[i].D<<endl;
  printf("正确答案:"%d",&shiti[i].t");
   
   
  }
  inf.close();
  int x;//记录题数
   
  int nn=1;
  while(nn!=2)
  {
  ifstream inf("试题.txt");
  if(!inf)
  {
  printf("打开试题文件出错!");
  return;
  }
  for(int i=0;!inf.eof();i++)
  {
  string timu,A,B,C,D,t;
  inf>>timu>>A>>B>>C>>D>>t;
   
   
   
  shiti[i].timu=timu;
   
  shiti[i].A=A;
  shiti[i].B=B;
  shiti[i].C=C;
  shiti[i].D=D;
  shiti[i].t=t;
  }
  x=i;
   
  printf("是否要增加试题?1是,2否,请选择:");
  scanf("%d",&nn);
  if(nn==1)
  {
  string timu,A,B,C,D,t;
  printf("请输入题目:");
  scanf("%d",&timu);
  printf("请输入A选项");
  scanf("%d",&A);
  cprintf("请输入B选项");
  scanf("%d",&B);
  printf("请输入C选项");
  scanf("%d",&C);
  printf("请输入D选项");
  scanf("%d",&D);
  printf("请输入正确答案");
  scanf("%d",&t);
  ofstream outf("试题.txt");
  if(!outf)
  {
  printf("打开试题文件出错!");
  return;
  }
   
  for(int i=0;i<x;i++)
   
  outf<<" "<<shiti[i].timu<<" "<<shiti[i].A<<" "<<shiti[i].B<<" "<<shiti[i].C<<" "<<shiti[i].D<<" "<<shiti[i].t;
   
  outf<<" "<<timu<<" "<<A<<" "<<B<<" "<<C<<" "<<D<<" "<<t;
  outf.close();
  printf("已增加!");
  x++;
   
  }
   
  }
  }
  printf("功能选择:1考生管理,2考试,3试题库管理,4退出:");//功能选择
  scanf("%d",&n);
 }
  
  printf("*********************************谢谢使用***********************************");
}
搜索更多相关主题的帖子: 考试 系统 管理 
2010-11-02 18:03
seeddestiny
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-11-2
收藏
得分:0 
用VC++程序运行了一下  提示有错误 就是if(&kao[i].num==&num&&kao[i].cond!=1)
  {
  while(kao[i].keyword!=keyword)这2行
有空能复制下来用VC++程序运行一下的朋友帮忙改下吧  多谢了
2010-11-02 18:11
快速回复:考试管理系统存在几个错误 求改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021481 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved