学生成绩管理系统实验报告

时间:2024.4.7

嘉应学院 计算机学院

实验报告

一、实验目的

1、进一步巩固所学程序设计语言(主要是C、C++)的基本概念和理论;

2、熟练掌握结构化程序设计和面向对象程序设计的方法和理念;

2、培养实际分析问题、实践动手编程的能力;

3、培养团队协作精神。

二、实验内容

本系统是一个学生成绩管理系统,采用VC++6.0 编译器作为开发环境,这个环境是我们在学习C++的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:班级、学号、姓名、数据结构、C++ 程序设计、大学语文、大学英语、概率统计、大学体育、毛泽东思想等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,可用。输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分后并排序后的记录,显示内容包括:班级、学号、姓名、平均分等数据。用户运行程序后进入系统主界面,在主界面用户可以输入所有学生的数据并保存到文件中,也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。当用户读取学生数据后可对其进行显示,插入,删除,修改,排序,计算平均分等相关操作。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。

三、算法描述

1)主函数main():定义学生结构体数组,调用录入、统计等函数对成绩表进行处理;

2)录入函数Input():输入班级到政治课成绩;

3)统计函数Statistic():计算平均成绩;

4)查询函数Lookup():查询指定学号学生成绩记录;

5)修改函数Modify():修改指定学号学生成绩记录;

6)删除函数Delete():删除指定学号学生记录;

7)输出函数Output():输出班级所有学生成绩记录;

8) 排序函数Sort():按平均分对学生成绩记录项进行降序排序;

9)插入函数Insert():按平均分顺序插入新记录。

四、程序结构

 


五、程序技巧或创新

在main()函数中主要是通过”switch(menu())”选择判断来调用相关功能模块。系统的运行是在一个永真的循环里进行的,只有在主界面并选择“退出本系统”时,才会跳出永真循环,并退出程序。主函数代码为:void main() /*主函数*/

{

       for(;;)

       {

              switch(menu()) /*选择判断*/

              {

                  case 1:

                         Input(stud);/*输入学生成绩*/      

                         break;

                  case 2:

                         Statistic(stud); /*输出学生统计数据*/

                         break;

                  case 3:     

                         Lookup(stud); /*查找学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 4:   

                         Modify(stud); /*修改学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 5:

                         Delete(stud); /*按学号查找,删除学生信息*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 6:   

                         Insert(stud);/*增加学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 7:   

                         Sort(stud); /*按平均分对学生成绩记录项进行降序排序*/ 

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 8:

                         Output(stud);  /*显示全部学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 0:

                         cout<<endl<<" ================================<<感谢您使用学生成绩管理系统>>===============================\n"<<endl; /*结束程序*/

                         cout<<"\t\t\t";

                         system("pause");

                         exit(0);

              }

       }

}

主界面的设计:

在主界面中包括“输入学生成绩  显示统计数据  查找学生成绩  修改学生成绩  删除学生成绩  插入学生成绩  按平均分降序排列   显示全部学生成绩   退出本系统”等全部的功能,之所以设计这么一个主界面,一是因为能使用户对程序操作的流程更加清楚简明,二是保证了用户同时只能对一个文件进行操作的系统要求,保证了系统不会发生打开文件紊乱或者出现致命错误。每个函数的具体功能:

1)主函数main():定义学生结构体数组,调用录入、统计等函数对成绩表进行处理;

2)录入函数Input():输入班级到政治课成绩;

3)统计函数Statistic():计算平均成绩;

4)查询函数Lookup():查询指定学号学生成绩记录;

5)修改函数Modify():修改指定学号学生成绩记录;

6)删除函数Delete():删除指定学号学生记录;

7)输出函数Output():输出班级所有学生成绩记录;

8) 排序函数Sort():按平均分对学生成绩记录项进行降序排序;

9)插入函数Insert():按平均分顺序插入新记录

六、程序清单(另附电子版)

#include<iostream.h>

#include<fstream.h>

#include<stdlib.h>

#include<string.h>

#include<stdio.h>

#include<iomanip.h>

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[]);

       friend void welcome();

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 welcome()  //验证用户登陆,登陆成功显示欢迎信息

{

 char name[4],code[7];

cout<<endl;

 cout<<endl;

 cout<<"                    ▲****************************************▲\n";

 cout<<"                         △ 欢迎使用本学生成绩管理系统!△\n";

 cout<<"                    ▲****************************************▲\n";

 cout<<"编程人员:罗维权 刘威林 吴炜东"<<endl;

 cout<<endl;

 cout<<"请输入用户名和密码:\n";

 cout<<"帐号:";

 cin>>name;

 cout<<"密码:";

 cin>>code;

 while((strcmp(name,"1111")!=0)||(strcmp(code,"0000")!=0))

 {

  cout<<"用户名或密码输入有误,请重新输入!\n";

  cin>>name>>code;

 }

 cout<<endl;

 cout<<endl;

 cout<<"                      ▲***************************▲\n";

 cout<<"                           △ 欢迎使用***系统!△\n";

 cout<<"                      ▲***************************▲\n";

 cout<<endl;

}

void Write(Stu stud[],int n)  //向文件中写入数据

{

       fstream myFile;

       myFile.open("student.dat",ios::out|ios::binary);

       if(!myFile)

       {

              cout<<"student.dat can't open!"<<endl;

              abort();

       }

       int count=n;

       myFile<<count<<endl<<endl;

       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<<endl;

       }

      myFile.close();

}

int Read(Stu stud[])  //从文件中读数据

{

      fstream myFile;

      myFile.open("student.dat",ios::in|ios::binary);

         if(!myFile)

       {

              cout<<"student.dat can't open!"<<endl;

              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<<endl<<"====>> 请输入学生成绩 <<===="<<endl;

       while(sign!='n'&&sign!='N') /*判断*/

       {

              cout<<"   班级:"; /*交互输入*/

              cin>>stud[i].class_0;

loop:

              cout<<"   学号:";

              cin>>stud[i].num;

              int c=0;

              while(c<i)

              {

                     c++;

                     if(stud[i].num==stud[i-c].num)

                     {

                            cout<<" 你输入的学号已经存在!请重新输入。"<<endl;

                            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之间的数字!!\n";

            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之间的数字!!\n";

            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之间的数字!!\n";

            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之间的数字!!\n";

            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之间的数字!!\n";

            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之间的数字!!\n";

            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之间的数字!!\n";

            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<<"   平均分为:"<<stud[i].average<<endl;

               cout<<"====>提示:是否继续写入学生成绩?(Y/N)";

              cin>>sign; /*输入判断*/

              i++;

       }

       Write(stud,i);

}

void Statistic(Stu stud[])     //---------------统计学生数据

{

    system("cls"); /*运行前清屏*/

    int n=Read(stud);

       cout<<endl<<"====>> 输出学生统计数据 <<===="<<endl;

    cout<<"班级"<<" "<<"学号"<<" "<<" 姓名"<<" "<<" 平均分"<<endl;

for(int i=0;i<n;i++)

cout<<stud[i].class_0<<"   "<<stud[i].num<<"  "<<stud[i].name<<"  "<<stud[i].average<<endl;

    system("pause");

}

void Lookup(Stu stud[]) //---------------查找学生成绩

{

       system("cls"); /*运行前清屏*/

    int n=Read(stud);

       int s;

       int i=0;

       cout<<endl<<"====>> 查找学生成绩 <<===="<<endl;

       cout<<"请输入需要查找学生的学号:"<<endl;

       cin>>s;

       while((stud[i].num-s)!=0&&i<n) i++; /*查找判断*/

       if(i==n)

       {

              cout<<"=====>提示:对不起,无法找到该学生的信息!"<<endl; /*输入失败信息*/

       }

       else

       {

              cout<<"---------------------------"<<endl;

              cout<<"班级:"<<stud[i].class_0<<endl; /*输出该学生信息*/

              cout<<"学号:"<<stud[i].num<<endl;

              cout<<"姓名:"<<stud[i].name<<endl;

              cout<<"数据结构:"<<stud[i].elec<<endl;

              cout<<"C++程序设计:"<<stud[i].c_program<<endl;

              cout<<"大学语文:"<<stud[i].media<<endl;

              cout<<"大学英语:"<<stud[i].english<<endl;

              cout<<"概率统计:"<<stud[i].math<<endl;

              cout<<"大学体育:"<<stud[i].sport<<endl;

              cout<<"毛泽东思想:"<<stud[i].polity<<endl;

              cout<<"平均分:"<<stud[i].average<<endl;

       }

}

void Modify(Stu stud[])   //---------------修改学生成绩

{

       system("cls"); /*运行前清屏*/

    int n=Read(stud);

       int s;

       int i=0;

       cout<<endl<<"====>> 修改学生成绩 <<===="<<endl;

       cout<<"请输入需要修改成绩学生的学号:"<<endl;

       cin>>s;

       while((stud[i].num-s)!=0&&i<n) i++; /*查找判断*/

       if(i==n)

       {

              cout<<"=====>提示:对不起,无该学生的成绩……"<<endl; /*输入失败信息*/

       }

       else

       {

              cout<<"----------该学生的信息----------"<<endl; /*格式头*/

              cout<<"班级"<<" "<<"学号"<<" "<<"姓名"<<" "<<"数据"<<" "<<"c++"<<" "<<" 语文"<<" "<<"英语"<<" "<<"概率"<<" "<<"体育"<<" "<<"政治"<<" "<<"平均分"<<endl;

              cout<<"---------------------------------"<<endl;

           cout<<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<<endl;

              cout<<"请重新输入该学生的信息"<<endl;

              cout<<"班级:"<<endl; /*交互输入*/

              cin>>stud[i].class_0;

              cout<<"学号:"<<endl;

              cin>>stud[i].num;

              cout<<"姓名:"<<endl;

              cin>>stud[i].name;

              cout<<"数据结构成绩:"<<endl;

              cin>>stud[i].elec;

              cout<<"C++程序设计成绩:"<<endl;

              cin>>stud[i].c_program;

              cout<<"大学语文成绩:"<<endl;

              cin>>stud[i].media;

              cout<<"大学英语成绩:"<<endl;

              cin>>stud[i].english;

              cout<<"概率统计成绩:"<<endl;

              cin>>stud[i].math;

              cout<<"大学体育成绩:"<<endl;

              cin>>stud[i].sport;

              cout<<"毛泽东思想成绩:"<<endl;

              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<<"平均分为:"<<stud[i].average<<endl;

           char c;

           cout<<"是否保存数据?(y/n)"<<endl;

           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<<endl<<"====>> 删除学生成绩 <<===="<<endl;

       cout<<"请输入需要删除学生的学号:"<<endl; /*交互式问寻*/

       cin>>s;

       while((stud[i].num-s)!=0&&i<n) i++; /*查找判断*/

       if(i==n)

       {

              cout<<"====>提示:对不起,无法找到该学生……"<<endl; /*返回失败信息*/

       }

       else

       {

              for(j=i;j<n-1;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<<"====>提示:已成功删除!"<<endl; /*返回成功信息*/

       }

       Write(stud,n-1);

}

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

{

       system("cls"); /*运行前清屏*/

       int n=Read(stud);

       char s;

       cout<<endl<<"====>> 增加学生成绩<<===="<<endl;

       while(s!='n'&&s!='N')

       {

              cout<<"班级:"<<endl; /*交互输入*/

        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<<"平均分"<<stud[n].average;

       n++;

       cout<<"=====>提示:插入成功!"<<endl; /*返回成功信息*/

       cout<<"是否继续输入(y/n)"<<endl;

       cin>>s;

       }

       Write(stud,n);

}

void Sort(Stu stud[]) //---------------按平均分对学生成绩记录项进行降序排序

{

       system("cls"); /*运行前清屏*/

       int i,j,k;

       float s;

       char t[20];

       cout<<endl<<"====>> 降序排序成绩 <<===="<<endl;

       int n=Read(stud);

       for(i=0;i<n-1;i++) /*冒泡法排序*/

              for(j=0;j<n-1-i;j++)

                     if(stud[j].average<stud[j+1].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<<"----------------------------------------------------"<<endl; /*格式头*/

       cout<<setw(6)<<"班级"<<setw(6)<<"学号"<<setw(6)<<"姓名"<<setw(6)<<"数据"<<setw(6)<<"C++"<<setw(6)<<"语文"<<setw(6)<<"英语"<<setw(6)<<"概率"<<setw(6)<<"体育"<<setw(6)<<"政治"<<" "<<setw(6)<<"平均分"<<setw(6)<<"名次"<<endl;

       cout<<"----------------------------------------------------"<<endl;

                     for(i=0;i<n;i++) /*循环输入*/

                     {

                            stud[i].order=i+1;

cout<<setw(6)<<stud[i].class_0<<setw(6)<<stud[i].num<<setw(6)<<stud[i].name<<setw(6)<<stud[i].elec<<setw(6)<<stud[i].c_program<<setw(6)<<stud[i].media<<setw(6)<<stud[i].english<<setw(6)<< stud[i].math<<setw(6)<<stud[i].sport<<setw(6)<<stud[i].polity<<" "<<setw(6)<<setprecision(4)<<stud[i].average<<setw(6)<<stud[i].order<<endl;    

                     }

                     Write(stud,n);

}

void Output(Stu stud[]) //---------------显示全部学生成绩

{

       system("cls"); /*运行前清屏*/

       int n=Read(stud);

       cout<<endl<<"====>> 显示全部学生成绩 <<===="<<endl;

       if(!stud)

              cout<<"没有记录";

       else

       {

       cout<<"----------------------------------------------------"<<endl; /*格式头*/

       cout<<setw(6)<<"班级"<<setw(6)<<"学号"<<setw(6)<<"姓名"<<setw(6)<<"数据"<<setw(6)<<"C++"<<setw(6)<<"语文"<<setw(6)<<"英语"<<setw(6)<<"概率"<<setw(6)<<"体育"<<setw(6)<<"政治"<<" "<<setw(6)<<"平均分"<<endl;

              cout<<"------------------------------------------------"<<endl;

              for(int i=0;i<n;i++) /*循环输入*/

       {

cout<<setw(6)<<stud[i].class_0<<setw(6)<<stud[i].num<<setw(6)<<stud[i].name<<setw(6)<<stud[i].elec<<setw(6)<<stud[i].c_program<<setw(6)<<stud[i].media<<setw(6)<<stud[i].english<<setw(6)<< stud[i].math<<setw(6)<<stud[i].sport<<setw(6)<<stud[i].polity<<" "<<setw(6)<<setprecision(4)<<stud[i].average<<endl;    

       }

cout<<"--------------------------------------------------------"<<endl;

       }

}

int menu() /*菜单函数*/

{

       char c;

       do

       {

              void welcome();

              system("cls"); /*运行前清屏*/

              cout<<"*************************************************************\n"<<endl;

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

       cout<<"编程人员:罗维权 刘威林 吴炜东"<<endl;

    cout<<" *******************************************\n\n"<<endl;/*菜单选择*/ 

    cout<<"    *                 【1】输入学生成绩               *     "<<endl;

       cout<<"    *                 【2】显示统计数据               *     "<<endl;

       cout<<"    *                 【3】查找学生成绩               *     "<<endl;

       cout<<"    *                 【4】修改学生成绩               *     "<<endl;

       cout<<"    *                 【5】删除学生成绩               *     "<<endl;

       cout<<"    *                 【6】插入学生成绩               *     "<<endl;

       cout<<"    *                 【7】按平均分降序排列           *     "<<endl;

       cout<<"    *                 【8】显示全部学生成绩           *     "<<endl;

       cout<<"    *                 【0】退出本系统                 *   "<<endl<<endl;

       cout<<"***************************************************************"<<endl;

       cout<<"请你选择操作(0-8):"<<endl;

       c=getchar(); /*读入选择*/

       }

       while(c<'0'||c>'8');

       return(c-'0'); /*返回选择*/

}

void main() /*主函数*/

{

       welcome();

       for(;;)

       {

              switch(menu()) /*选择判断*/

              {

                  case 1:

                         Input(stud);/*输入学生成绩*/      

                         break;

                  case 2:

                         Statistic(stud); /*输出学生统计数据*/

                         break;

                  case 3:     

                         Lookup(stud); /*查找学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 4:   

                         Modify(stud); /*修改学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 5:

                         Delete(stud); /*按学号查找,删除学生信息*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 6:   

                         Insert(stud);/*增加学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 7:   

                         Sort(stud); /*按平均分对成绩记录项进行降序排序*/ 

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 8:

                         Output(stud);  /*显示全部学生成绩*/

                         cout<<"\t\t\t";

                         system("pause");

                         break;

                  case 0:

                         cout<<endl<<" ================================<<感谢您使用学生成绩管理系统>>===============================\n"<<endl; /*结束程序*/

                         cout<<"\t\t\t";

                         system("pause");

                         exit(0);

              }

       }

}

七、测试用例

首先是用户验证,输入用户和密码:

按回车,进入主界面:

主界面:在此界面用户可以选择要操作的选项,回车之后即可进入相关页面进行操作(例如 选择1 回车,即可进入输入学生数据页面

输入Y返回主界面,先择8回车,即可显示所有学生成绩:

八、总结及参考资料

该通过这个课程设计,我们更加牢固的掌握了C++的知识。并对于以前不熟悉的知识有了更加深刻的了解。同时,在完成此次课程设计的过程中,老师同学给了我们很多宝贵的建议和指点,我们很感谢他们。虽然有些疲劳和困倦,但带给我很多的收获。C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我们花了几星期的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。我们觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。此次任务的完成,也体现出同学之间的团结精神。实践是检验真理的唯一标准。没有实践,就不会发现和深刻体会它的真实所在。只有通过检验的真理,在自己的心里,才会认可它的真实性。面向对象程序设计的完成,使我们懂得了真理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识。同时培养了我们的团队精神,使我我们懂得了团队的重要性。在今后的学习工作中我们将会更好的发挥团队精神。

参考书目:C++课程设计,C++习题解答。

[1] Visual Basic 6.0 使用指南

作者:Bob Reselman , Richard Peasley , Wayne Pruchniak.

出版社:电子工业出版社

[2] 中文版Microsoft Office 97 自学通

作者:Ned Snell

出版社:机械工业出版社

[3] Visual Basic 6.0 中文版控件大全

作者:Microsoft

出版社;电子工业出版社

[4] 中文Access 20## 24学时教程

作者:Craig Eddy ,Timothy Buchanan

出版社:机械工业出版社

九、教师评语

更多相关推荐:
java学生成绩管理系统实验报告

JAVA课内实验报告学生成绩管理系统一实验目的及实验环境实验目的在如今的高校日常管理当中学生成绩管理系统就是其中非常重要的一环特别是当前学生规模大课程门类多校区分散等实际情况学生成绩管理系统更具有非常大的实际应...

学生信息管理系统实验报告

西安郵電學院数据库原理及应用设计报告题目:学生信息管理系统一.设计目的学生管理系统是高校管理工作中一项非常重要的组成部分。用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各…

学生成绩管理系统C++编程实验报告

C程序设计课程设计报告设计题目学生成绩管理系统专业计算机科学与技术网络工程班级学号姓名指导老师日期20xx0531目录一设计任务与要求31设计内容32课程设计的要求3二系统分析需求分析31需求分析32系统性能要...

学生成绩管理系统课程设计报告

1目录1需求与功能分析32系统总体框架43模块设计与分析44类的设计与分析65特色算法分析76功能测试107存在的不足与对策138程序源代码149使用说明2310参考文献2321需求与功能分析1需求分析学生成绩...

学生成绩管理系统--课程设计报告

数据结构课程设计报告课题名称姓名学院系科班级指导老师日期学生成绩管理系统20xx年1月17日目录一问题描述3二基本要求3三设计目的4四概念设计4五详细设计51主要数据结构52模块功能53调用关系5六源程序5七测...

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库课题雇员信息管理系统姓名学号同组姓名专业班级指导教师设计时间20xx年6月4号20xx年6月10日一需求分析阶段1信息需求对学校而言学生成绩管理系统是所有工作的首要之选但是高校学生的成绩管...

学生成绩管理系统实验报告

学生成绩管理系统C语言程序设计实训报告姓名专业班级指导教师20xx年7月14日目录一实训目的和要求1二实训任务内容1三详细设计说明1四软件使用说明2五实训心得与体会6参考文献7附录部分程序清单7I一实训目的和要...

php学生成绩管理系统设计报告

JINGCHUUNIVERSITYOFTECHNOLOGYPHP学生成绩管理系统学院计算机工程学院学号20xx304030223学生姓名朱钟雄年级专业12计算机应用技术班级计算机应用技术2班指导教师沈成涛日期2...

基于sql的学生成绩管理系统_课程设计报告

一实验题目学生证管理系统数据库的设计与实现描述设计一个学生证管理系统实现下列功能1录入某位学生的学生证信息2给定学号查询某位学生的学生证信息3给定班号显示该班所有学生的学生证信息4给定学号修改该学生的学生证信息...

C语言学生成绩管理系统实验报告

实验四结构体6学时实验目的1更加灵活的使用数组作为函数参数2初步掌握开发一个小型实用系统的基本方法3初步掌握书写程序设计开发文档的能力实验内容程序一学生成绩管理系统某班期末考试科目为数学MT英语EN和物理PH有...

基于java的学生信息管理系统设计报告

南华大学计算机科学与技术学院课程设计报告20xx20xx学年度第1学期课程名称网络编程技术题目基于java的学生信息管理系统姓名刘亮学号20xx4440437专业计算机科学与技术班级03级04班地点专业实验室教...

C语言课程设计报告学生成绩管理系统(广工)

一课程设计题目学生成绩管理二需求分析给出n个学生的m门考试的成绩表每个学生的信息由学号姓名性别以及各科成绩组成对学生的考试成绩进行有关统计按总数高低次序打印出名次表分数相同的为同一名次按名次打印出每个学生的学号...

学生成绩管理系统实验报告(31篇)