| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 794 人关注过本帖
标题:学生成绩管理系统!程序运行总有毛病,帮忙改一下
只看楼主 加入收藏
李游游
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-1-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
学生成绩管理系统!程序运行总有毛病,帮忙改一下
#include<iostream>
#include<string>
#define N 3
#define M 20
using namespace std;
class student                              //定义了一个学生类
{
public:
    student(char name[20],int number,int chinesem,int mathm,int englishm);
    student(student &A);
    student(){flag=0;};
    ~student() {}
    void addstudent(student *P);       //增加一个学生信息
    void deletestudent();             //删除一个学生信息
    void changestudent();              //改变学生信息
    void display();                  //输出学生信息
    void getstudent();             //输入学生信息
    friend void inforstu(student *stu);
    friend void addtionstu(student stu[]);
    friend void deletionstu(student &stu);
    friend void searchstu(student stu[]) ;
    friend void namesearch(student st[]);
    friend void numbersearch(student st[]);
    friend void marksearch(student stu[]);
    friend void maxsearch(student stu[]);
private:                                //该类包含了学生姓名,学号,语文、数学、英语成绩
    char sname[20];
    int schinese,smath,senglish,number;
    int flag;


};
  
int continues();                     //判断是否继续函数
static int NO=0;
student::student(char name[20],int number,int chinesem,int mathm,int englishm)       //构造函数
{
 strcpy(sname,name);
 number=number;
 schinese=chinesem;
 smath=mathm;
 senglish=englishm;

}

student::student(student &A)                                                      //拷贝构造函数
{

 strcpy(sname,A.sname);
 number=A.number;
 schinese=A.schinese;
 smath=A.smath;
 senglish=A.senglish;

}

//增加学生信息 成员函数
void student::addstudent(student *P)                                 
{

P->getstudent();
P->display();

}

//删除学生信息 成员函数
void student::deletestudent()
{
 flag=0;
}
//输出学生信息 成员函数
void student::display()
{if(flag==1)

cout<<sname<<"  "<<number<<"  "<<schinese<<"  "<<smath<<"  "<<senglish<<endl;

}
 //输入学生信息 成员函数
void student::getstudent()
{
 cout<<"学生姓名:";
cin.getline(sname,20);
 number=++NO;
cout<<"语文成绩:";
cin>>schinese;
cout<<"数学成绩:";
cin>>smath;
cout<<"英语成绩:";
cin>>senglish;
}
//修改信息函数 成员函数
void student::changestudent()
{int ins;
do{
    cout<<"您想修改【姓名 请输入0】,【语文成绩 请输入2】,【数学成绩 请输入3】,【英语成绩  请输入4】"<<endl;
   cin>>ins;
   if(ins>=0&&ins<=4)
   {
       cout<<"请输入你想修改的的内容。"<<endl;
       switch(ins)
       {
       case 0:cin.getline(sname,20);break;
       case 2:cin>>schinese;break;
       case 3:cin>>smath;break;
       case 4:cin>>senglish;break;
      
       }
   }

   else cout<<"您输入有误"<<endl;
  
}while( continues());
}
 //判断继续操作函数
int  continues()
{
 int a=1;
 do{
     cout<<"您想继续操作吗?是请输入1,否则输入0"<<endl;
    cin>>a;
    if(a!=0&&a!=1)
    {cout<<"您输入有误"<<endl;
    a=-1;
    }
 }while(a==-1);
return a;
}


//查看所有学生信息

 void inforstu(student stu[])
{
 int i;
 for(i=0;i<NO;i++)
  stu[i].display();

}

//增加学生信息
void addtionstu(student stu[])
{
stu[NO++].getstudent();

}

//删除学生信息
void deletionstu(student &stu)
{ stu.deletestudent();}


//信息查询
void searchstu(student stu[])              //参数是指针
{
    int i;
    do{
        cout<<"按姓名查询,请输入1;"<<endl;
        cout<<"按学号查询,请输入2;"<<endl;
        if(i==1||i==2)
        switch(i)
        {
        case 1:namesearch(stu);break;
        case 2:numbersearch(stu);break;
 
        }
        else cout<<"您输入错误。"<<endl;
    }while(continues());

//姓名查找
void namesearch(student st[])
{ string name;
  int i,s=0;
  cout<<"请输入查询学生姓名:";
  getline(cin,name);
  for(i=0;i<NO;i++)
      if(!strcmp(st[i].sname,name))
      {s=1;
      st[i].display();
      }
  if(s!=1)
      cout<<"你要找的学生不存在"<<endl;

}


//学号查找   
void numbersearch(student st[])
{ int num;
  int i,s=0;
  cout<<"请输入查询学生学号:";
  cin>>num;
  for(i=0;i<NO;i++)
      if(st[i].number==num)
      {s=1;
      st[i].display();
      }
  if(s!=1)
      cout<<"你要找的学生不存在"<<endl;

}
   
 //成绩统计
void marksearch(student stu[])
{
int s=0,i,m,n,a;
cout<<"您想查哪一门课成绩:"
     <<"语文【1】"
     <<"数学【2】"
     <<"英语【3】"<<endl;
cin>>a;
cout<<"你想查什么分数段的成绩(60 70)."<<endl;
cin>>m>>n;
switch(a)
{

case 1:{for(i=0;i<NO;i++)
    if(stu[i].schinese>=a&&stu[i].schinese<=b)
       stu[i].display};break;
case 2:{for(i=0;i<NO;i++)
    if(stu[i].smath>=a&&stu[i].smath<=b)
       stu[i].display};break;
case 3:{for(i=0;i<NO;i++)
    if(stu[i].senglish>=a&&stu[i].senglish<=b)
       stu[i].display};break;
}
}


//查询最高分
void maxsearch(student stu[])
{
int stumark[NO];
int i,j=0,max;
for(i=0;i<NO;i++)
 stumark[i]=stu[i].schinese+stu[i].smath+stu[i].senglish;

max=stumark[0];
for(i=1;i<NO;i++)
if(max<stumark[i])
{
 max=stumark[i];
 j=i;

}
cout<<"您查询的结果为:"<<endl;
syu[j].display();
}


void main()
{
  int i,j,n;                       //j表示查询内容
  student students[N];
  for(i=0;i<N;i++)
      students[i].getline();
  do{

   cout<<"查看所有学生的信息【1】(【1】表示从键盘输入1);"<<endl;
    cout<<"增加学生信息【2】"<<endl;
    cout<<"删除学生信息【3】;"<<endl;
   cout<<"修改学生信息【4】;"<<endl;
   cout<<"学生信息查询【5】;"<<endl;
   cout<<"学生成绩统计【6】;"<<endl;
   cout<<"总分最高同学信息【7】"<<endl;
   cin>>j;
  if(i<=7&&i>=1)
    switch(j)
    {
      case 1:inforstu(students);break;
      case 2:addtionstu(students);break;
      case 3:{cout<<"一共有"<<N<<"位同学,你想删除第几位同学信息:";
           cin>>n;
          deletionstu(students[n-1]);}break;
      case 4:{cout<<"一共有"<<N<<"位同学,你想修改第几位同学信息:";
        cin>>n;
        changestu(students);}break;
      case 5:searchstu(students);break;
      case 6:marksearch(students);break;
      case 7:max(students);break;
    }
 
  else cout<<"你输入有误!"<<endl;

}while(continues());



}
搜索更多相关主题的帖子: 运行 学生 系统 毛病 
2010-01-04 18:45
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:10 
错误太多了,
//信息查询
void searchstu(student stu[])              //参数是指针
差一个大括号
加了后其他错误你再改
2010-01-04 20:07
bccnbin2009
Rank: 7Rank: 7Rank: 7
来 自:浙江
等 级:黑侠
帖 子:86
专家分:602
注 册:2009-10-5
收藏
得分:10 
上楼说的是,你自己再好好看看,其实自己手动调程序能学到很多东西的。

滨封千里
2010-01-05 11:49
快速回复:学生成绩管理系统!程序运行总有毛病,帮忙改一下
数据加载中...
 
   



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

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