永发信息网

求用【C++】编写一个成绩管理系统,题目如下:

答案:3  悬赏:0  手机版
解决时间 2021-11-28 04:10
  • 提问者网友:眉目添风霜
  • 2021-11-27 22:09
求用【C++】编写一个成绩管理系统,题目如下:
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-11-27 23:35
呵呵,刚好我们有一个c++大型作业,学生成绩管理系统,就把我的代码帖给你,可以运行。
#include
#include
#include
#include
#include
class  Stu       //构建学生类
{
public:
 friend void Input(Stu stud[]) ;
 friend void Statistic(Stu stud[]);
 friend void Lookup(Stu stud[]) ;
 friend void Modify(Stu stud[]) ;
 friend void Delete(Stu stud[]) ;
 friend void Output(Stu stud[]) ;
 friend void Sort(Stu stud[]) ;
 friend void Insert(Stu stud[]) ;
 friend void Write(Stu stud[],int n);
    friend int Read(Stu stud[]);
private:
 char class_0[20];
 int  num;
 char name[8];
 float elec;
 float c_program;
 float media;
 float english;
 float math;
 float sport;
 float polity;
 float average;
 int order;
}stud[100];
void Write(Stu stud[],int n)  //向文件中写入数据
{
 fstream myFile;
 myFile.open("student.dat",ios::out|ios::binary);
 if(!myFile)
 {
  cout<<"student.dat can't open!"<  abort();
 }
 int count=n;
 myFile< for(int i=0;i<=count;i++)
 {
  myFile<<<" "< }
      myFile.close();
}
int Read(Stu stud[])  //从文件中读数据
{
      fstream myFile;
      myFile.open("student.dat",ios::in|ios::binary);
   if(!myFile)
 {
  cout<<"student.dat can't open!"<  abort();
 }
   int count;
   myFile.seekg(0);
      myFile>>count;
   for(int i=0;i<=count;i++)
   {   
myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].elec>>stud[i].c_program>>stud[i].media>>stud[i].english>>stud[i].math>>stud[i].sport>>stud[i].polity>>stud[i].average;
   }
   myFile.close();
   return count ;
}
void Input(Stu stud[])  //---------------输入学生成绩
{
 system("cls"); 
 int i=0;
 int flag;
 char sign;
 cout<> 请输入学生成绩 <<===="< while(sign!='n'&&sign!='N')  
 { 
  cout<<" 班级:";  
  cin>>stud[i].class_0; 
loop:
  cout<<" 学号:"; 
  cin>>stud[i].num;
  int c=0;
  while(c  {
   c++;
   if(stud[i].num==stud[i-c].num)
   {
    cout<<" 你输入的学号已经存在!请重新输入。"<    goto loop;
   }  
  }
  cout<<" 姓名: "; 
  cin>>stud[i].name; 
     do{
   flag=0;
         cout<<" 模拟电路:"; 
            cin>>stud[i].elec; 
            if(stud[i].elec>100 ||stud[i].elec<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
        do{  
      flag=0;
         cout<<" C++程序设计成绩:"; 
      cin>>stud[i].c_program; 
            if(stud[i].c_program>100 ||stud[i].c_program<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
        do{ 
   flag=0;
   cout<<" 软件工程成绩:"; 
       cin>>stud[i].media; 
            if(stud[i].media>100 ||stud[i].media<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
        do{ 
   flag=0;
       cout<<" 大学英语成绩:"; 
       cin>>stud[i].english; 
            if(stud[i].english>100 ||stud[i].english<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
        do{ 
   flag=0;
   cout<<" 大学物理成绩:"; 
      cin>>stud[i].math;
            if(stud[i].math>100 ||stud[i].math<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
        do{ 
   flag=0;
       cout<<" 大学体育成绩:"; 
      cin>>stud[i].sport; 
            if(stud[i].sport>100 ||stud[i].sport<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
        do{ 
   flag=0;
      cout<<" 民族理论:"; 
      cin>>stud[i].polity; 
            if(stud[i].polity>100 ||stud[i].polity<1) 

               cout<<"对不起,请输入1-100之间的数字!!
"; 

            else 
               flag=1;
  }while(flag==0); 
 stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; 
  cout<<" 平均分为:"<   cout<<"====>提示:是否继续写入学生成绩?(Y/N)"; 
  cin>>sign;  
  i++; 
 } 
 Write(stud,i);
}
void Statistic(Stu stud[])     //---------------统计学生数据
{
    system("cls"); 
    int n=Read(stud);
 cout<> 输出学生统计数据 <<===="<    cout<<"班级"<<" "<<"学号"<<" "<<" 姓名"<<" "<<" 平均分"< for(int i=0;i cout<    system("pause"); 
}
void Lookup(Stu stud[]) //---------------查找学生成绩 

 system("cls"); 
    int n=Read(stud);
 int s; 
 int i=0;
 cout<> 查找学生成绩 <<===="< cout<<"请输入需要查找学生的学号:"< cin>>s; 
 while((stud[i].num-s)!=0&&i if(i==n) 
 { 
  cout<<"=====>提示:对不起,无法找到该学生的信息!"< } 
 else
 {
  cout<<"---------------------------"<  cout<<"班级:"<  cout<<"学号:"<  cout<<"姓名:"<  cout<<"模拟电路:"<  cout<<"C++程序设计:"<  cout<<"软件工程:"<  cout<<"大学英语:"<  cout<<"大学物理:"<  cout<<"大学体育:"<  cout<<"民族理论:"<  cout<<"平均分:"< }
}
void Modify(Stu stud[])   //---------------修改学生成绩

 system("cls"); 
    int n=Read(stud);
 int s; 
 int i=0;
 cout<> 修改学生成绩 <<===="< cout<<"请输入需要修改成绩学生的学号:"< cin>>s; 
 while((stud[i].num-s)!=0&&i if(i==n) 
 { 
  cout<<"=====>提示:对不起,无该学生的成绩……"< } 
 else
 {
  cout<<"----------该学生的信息----------"<  cout<<"班级"<<" "<<"学号"<<" "<<"姓名"<<" "<<"电子"<<" "<<"c++"<<" "<<" 多媒体"<<" "<<"英语"<<" "<<"数学"<<" "<<"体育"<<" "<<"政治"<<" "<<"平均分"<  cout<<"---------------------------------"<  cout<  cout<<"请重新输入该学生的信息"<  
  cout<<"班级:"<  cin>>stud[i].class_0; 
  cout<<"学号:"<  cin>>stud[i].num; 
  cout<<"姓名:"<  cin>>stud[i].name; 
  cout<<"模拟电路成绩:"<  cin>>stud[i].elec;
  cout<<"C++程序设计成绩:"<  cin>>stud[i].c_program; 
  cout<<"软件工程成绩:"<  cin>>stud[i].media; 
  cout<<"大学英语成绩:"<  cin>>stud[i].english; 
  cout<<"大学物理成绩:"<  cin>>stud[i].math;
  cout<<"大学体育成绩:"<  cin>>stud[i].sport; 
  cout<<"民族理论成绩:"<  cin>>stud[i].polity; 
 stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; 
  cout<<"平均分为:"<     char c;
     cout<<"是否保存数据?(y/n)"<     cin>>c;
     if(c!='n'&&c!='N')
     Write(stud,n);
 }
}
void Delete(Stu stud[]) //---------------按学号查找,删除学生信息 
{
 system("cls");  
 int n=Read(stud);
 int s; 
 int i=0,j;
 cout<> 删除学生成绩 <<===="< cout<<"请输入需要删除学生的学号:"< cin>>s; 
 while((stud[i].num-s)!=0&&i if(i==n) 
 { 
  cout<<"====>提示:对不起,无法找到该学生……"< } 
 else
 {
  for(j=i;j  { 
   strcpy(stud[j].class_0,stud[j+1].class_0); 
   stud[j].num=stud[j+1].num; 
   strcpy(stud[j].name,stud[j+1].name); 
   stud[j].elec=stud[j+1].elec; 
   stud[j].c_program=stud[j+1].c_program; 
   stud[j].media=stud[j+1].media; 
   stud[j].english=stud[j+1].english; 
   stud[j].math=stud[j+1].math; 
   stud[j].sport=stud[j+1].sport; 
   stud[j].polity=stud[j+1].polity;
   stud[j].average=stud[j+1].average;
  }
  cout<<"====>提示:已成功删除!"< } 
 Write(stud,n-1);

void Insert(Stu stud[])  //---------------增加学生成绩 

 system("cls"); 
 int n=Read(stud);
 char s;
 cout<> 增加学生成绩<<===="< while(s!='n'&&s!='N')
 {
  cout<<"班级:"<        cin>>stud[n].class_0; 
        cout<<"学号:"; 
        cin>>stud[n].num; 
        cout<<"姓名:"; 
        cin>>stud[n].name; 
     cout<<"模拟电路成绩:"; 
     cin>>stud[n].elec; 
     cout<<"C++程序设计成绩:"; 
     cin>>stud[n].c_program; 
     cout<<"软件工程成绩:"; 
     cin>>stud[n].media; 
     cout<<"大学英语成绩:"; 
     cin>>stud[n].english; 
     cout<<"大学物理成绩:"; 
     cin>>stud[n].math; 
     cout<<"大学体育成绩:"; 
     cin>>stud[n].sport; 
     cout<<"民族理论成绩:"; 
     cin>>stud[n].polity; 
 stud[n].average=(stud[n].elec+stud[n].c_program+stud[n].media+stud[n].english+ stud[n].math+stud[n].sport+stud[n].polity)/7; 
 cout<<"平均分"< n++; 
 cout<<"=====>提示:插入成功!"< cout<<"是否继续输入(y/n)"< cin>>s;
 }
 Write(stud,n); 
}
void Sort(Stu stud[]) //---------------按平均分对学生成绩记录项进行降序排序 
{
 system("cls");  
 int i,j,k; 
 float s; 
 char t[20];
 cout<> 降序排序成绩 <<===="< int n=Read(stud);
 for(i=0;i  for(j=0;j   if(stud[j].average   { 
    strcpy(t,stud[j+1].class_0); 
    strcpy(stud[j+1].class_0,stud[j].class_0); 
    strcpy(stud[j].class_0,t); 
    k=stud[j+1].num; 
    stud[j+1].num=stud[j].num; 
    stud[j].num=k; 
    strcpy(t,stud[j+1].name); 
    strcpy(stud[j+1].name,stud[j].name); 
    strcpy(stud[j].name,t); 
    s=stud[j+1].elec; 
    stud[j+1].elec=stud[j].elec; 
    stud[j].elec=s; 
    s=stud[j+1].c_program; 
    stud[j+1].c_program=stud[j].c_program; 
    stud[j].c_program=s; 
    s=stud[j+1].media; 
    stud[j+1].media=stud[j].media; 
    stud[j].media=s; 
    s=stud[j+1].english; 
    stud[j+1].english=stud[j].english; 
    stud[j].english=s; 
    s=stud[j+1].math; 
    stud[j+1].math=stud[j].math; 
    stud[j].math=s; 
    s=stud[j+1].sport; 
    stud[j+1].sport=stud[j].sport; 
    stud[j].sport=s; 
    s=stud[j+1].polity; 
    stud[j+1].polity=stud[j].polity; 
    stud[j].polity=s; 
    s=stud[j+1].average; 
    stud[j+1].average=stud[j].average; 
    stud[j].average=s; 
   } 
 cout<<"----------------------------------------------------"< cout<<"班级"<<" "<<"学号"<<" "<<"姓名"<<" "<<"电子"<<" "<<"C++"<<" "<<"多媒体"<<" "<<"英语"<<" "<<"数学"<<" "<<"体育"<<" "<<"政治"<<" "<<"平均分"<<" "<<"名次"< cout<<"----------------------------------------------------"<   for(i=0;i   { stud[i].order=i+1;
 cout<   } 
Write(stud,n);
}
void Output(Stu stud[]) //---------------显示全部学生成绩 

    system("cls"); 
 int n=Read(stud);
 cout<> 显示全部学生成绩 <<===="< if(!stud)
  cout<<"没有记录"; 
 else
   {
 cout<<"----------------------------------------------------"<  cout<<"班级"<<" "<<"学号"<<" "<<"姓名"<<" "<<"电子"<<" "<<"c++"<<" "<<"多媒体"<<" "<<"英语"<<" "<<"数学"<<" "<<"体育"<<" "<<"政治"<<" "<<"平均分"< cout<<"------------------------------------------------"< for(int i=0;i { 
     cout< } 
cout<<"--------------------------------------------------------"< } 
}
int menu()  
{
    char c; 
 do 
 { 
    system("cls");  

    cout<<" -----------------<<欢迎您使用学生成绩管理系统--------------
"<

    cout<<" *******************************************

"< cout<<"                    1、输入学生成绩                   "< cout<<"                    2、显示统计数据                   "< cout<<"                    3、查找学生成绩                   "< cout<<"                    4、修改学生成绩                   "< cout<<"                    5、删除学生成绩                   "< cout<<"                    6、插入学生成绩                   "< cout<<"                    7、按平均分降序排列               "< cout<<"                    8、显示全部学生成绩               "< cout<<"                    0、退出本系统                    "< cout<<"*********************************************"< cout<<"请你选择操作(0-8):"< c=getchar();  
 } 
 while(c<'0'||c>'8'); 
 return(c-'0');  

void main()  

 for(;;) 
 { 
  switch(menu())  
  { 
      case 1: 
       Input(stud);   
       break; 
      case 2: 
       Statistic(stud);  
       break;
      case 3:   
       Lookup(stud); 
       cout<<" "; 
       system("pause"); 
       break; 
      case 4:  
       Modify(stud); 
       cout<<" "; 
       system("pause"); 
       break; 
      case 5: 
       Delete(stud);  
       cout<<" "; 
       system("pause"); 
       break; 
      case 6:  
       Insert(stud); 
       cout<<" "; 
       system("pause"); 
       break; 
      case 7:  
       Sort(stud);   
       cout<<" "; 
       system("pause"); 
       break; 
      case 8: 
       Output(stud);  
       cout<<" "; 
       system("pause"); 
       break; 
      case 0: 

       cout<>===============================
"<       cout<<" "; 
       system("pause"); 
       exit(0); 
  } 
 } 
}

全部回答
  • 1楼网友:人類模型
  • 2021-11-28 01:48
到我 空间里去看看《学生成绩管理系统》,是用C语言写的,或许对你有帮助。
  • 2楼网友:不甚了了
  • 2021-11-28 00:40
可联系我百度HI,或留下有限,软件发给你,包括论文。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯