C++课程设计:学生成绩管理系统

学校学生成绩管理

假设一个学校成绩管理要管理的学生信息包括:班级、学号、姓名、学期、每门课程的成绩(每学期的课程门数是不一样的) ,对学生的成绩信息进行管理。

要求实现如下的功能:

实现:学生信息的录入;修改;删除和查询,按学期、学号、成绩不及格等查询。

⑴ 输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩

⑵ 显示全部学生各科成绩信息;

⑶ 对各科分班进行成绩统计分析(总分、平均分、最高分、最低分、及格率等);

⑷ 统计各科各分数段人数及班级信息;

⑸ 按学号或姓名查找并显示某个学生的各科成绩;

⑹ 按课程成绩或总分由高到低排序显示;

⑺ 更新某个学生的基本信息或课程成绩;

⑻ 设计一个菜单,具有上述规定的操作要求、退出系统等最基本的功能。

/****************************************************************
************     学生成绩管理系统     ***************************
****************************************************************/
#include   
#include   
#include   
#include   
#include   
#include   
#include   
using namespace std;  
const int SIZE=20;  
struct student  
{  
 char classnum[SIZE];                                            //班级  
 char id[SIZE];                                                  //学号  
 char name[SIZE];                                                //姓名  
 int *score;  
};  
void input(student p[], string c_name[],int s_num,int c_num);    //输入学生的成绩信息,包括学号、姓名、性别等基本信息和各科成绩  
void show(student p[], string c_name[],int s_num,int c_num);     // 显示全部学生各科成绩信息;  
void statistic(student p[], string c_name[],int s_num,int c_num);//对各科分班进行成绩统计分析,计算总分、平均分、最高分、最低分、及格率等;  
void section(student p[], string c_name[],int s_num,int c_num);  //统计各个科目各分数段人数及班级信息;  
void search(student p[], string c_name[],int s_num,int c_num);   //按学号或姓名查找并显示某个学生的各科成绩;  
void sort(student p[], string c_name[],int s_num,int c_num);     //按课程成绩或总分由高到低排序显示;  
void update(student p[], string c_name[],int s_num,int c_num);   //更新某个学生的基本信息或课程成绩;  
void quicksort(int s[],int l,int r);              //快速排序  
void fileout(student p[], string c_name[],int s_num,int c_num,int semester);//文件形式输出  
int main()  
{  
    cout<>first_sel;  
    cin.get();  
    while(tolower(first_sel)!='y'&&tolower(first_sel)!='n')  
    {  
        cout<<"输入有误,请重新输入(Y/N):";  
        cin>>first_sel;  
        cin.get();  
    }  
    if(tolower(first_sel)=='y')  
    {  
        ifstream fin;  
        n=1;  
        cout<<"****************      说明:                                  ****************"<>student_num;  
        fin.get();  
        fin>>semester;  
        fin.get();  
        fin>>cour_num;  
        fin.get();  
        fin.close();  
        system("pause");  
        system("cls");  
    }  
    else  
    {  
        cout<>student_num;  
        while(!cin.good())  
        {  
            cin.clear();  
            cin.sync();  
            cout<<"输入有误!请重新输入学生个数: ";  
            cin>>student_num;  
            cin.get();  
        }  
        cout<<"================";  
        cout<<"请输入学期(以数字形式):";  
        cin>>semester;  
        while(!cin.good())  
        {  
            cin.clear();  
            cin.sync();  
            cout<<"输入有误!请重新输入学期: ";  
            cin>>student_num;  
            cin.get();  
        }  
        cout<>cour_num;  
        cin.get();  
        while(!cin.good())  
        {  
            cin.clear();  
            cin.sync();  
            cout<<"输入有误!请重新输入第 "<>cour_num;  
            cin.get();  
        }  
  
    }  
    student *p=new student[student_num];  
    string *cour_name=new string[cour_num];  
    if(tolower(first_sel)=='y')  
    {  
        ifstream fin;  
        cout<<"****************      说明:                                 ******************"<>*(p[i].score+j);  
                fin.get();  
            }  
        }  
        fin.close();  
    }  
    system("pause");  
    system("cls");  
    char select='a';  
    while(select!='q')  
    {  
        cout<<"********************************************************************************"<0)  
        {  
            cout<<"《****************************************************************************》";  
            cout<<"《****************************************************************************》";  
            cout<<"《********************************请继续输入**********************************》";  
            cout<<"《****************************************************************************》";  
            cout<<"《****************************************************************************》";  
            cout<>*(p[i].score+j);  
                cin.get();  
                while(!cin.good())  
                {  
                    cin.clear();  
                    cin.sync();  
                    cout<<"输入有误!请重新输入: ";  
                    cin>>*(p[i].score+j);  
                    cin.get();  
                }  
            }  
        }  
        system("pause");  
        system("cls");  
        }  
}  
void show(student p[], string c_name[],int s_num,int c_num)  
{  
    cout<<"********************************************************************************";  
    cout<<"科目:\t\t";  
    for(int j=0;jmax)  
                        max=*(p[j].score+i);  
                    if((*p[j].score+i)=60)  
                        pass++;  
                }  
            }  
            cout<<"《"<=90)  
                        s_90++;  
                    else if(*(p[j].score+i)>=80)  
                        s_80++;  
                    else if(*(p[j].score+i)>=70)  
                        s_70++;  
                    else if(*(p[j].score+i)>=60)  
                        s_60++;  
                    else if(*(p[j].score+i)<60)  
                        s_nopass++;  
                }  
            }  
            cout<>*(p[i].score+j);  
                        cin.get();  
                        cout<<"********************************************************************************";  
                        while(!cin.good())  
                        {  
                            cin.clear();  
                            cin.sync();  
                            cout<<"输入有误!请重新输入: ";  
                            cin>>*(p[i].score+j);  
                            cin.get();  
                            cout<<"********************************************************************************";  
                        }  
                        while(*(p[i].score+j)>100||*(p[i].score+j)<0)  
                        {  
                            cout<<"输入有误,请输入0到100之内的数:";  
                            cin>>*(p[i].score+j);  
                            cin.get();  
                            while(!cin.good())  
                            {  
                                cin.clear();  
                                cin.sync();  
                                cout<<"输入有误!请重新输入: ";  
                                cin>>*(p[i].score+j);  
                                cin.get();  
                                cout<<"********************************************************************************";  
                            }  
                        }  
                    }  
                }  
            else  
            {  
                cout<<"输入有误,请重新输入:";  
                cin.get(ch);  
                cin.get();  
                cout<<"********************************************************************************";  
            }  
        }  
    }  
 }  
    if(n==0)  
    {  
        cout<<"没有这名同学。"<=x)  
                i++;  
            if(i

1开始界面

C++课程设计:学生成绩管理系统_第1张图片


2.人数级课程等设置界面

C++课程设计:学生成绩管理系统_第2张图片


3.输入基础信息界面

C++课程设计:学生成绩管理系统_第3张图片


4.选择界面

C++课程设计:学生成绩管理系统_第4张图片


5.显示成绩界面

C++课程设计:学生成绩管理系统_第5张图片


6.成绩分析界面

C++课程设计:学生成绩管理系统_第6张图片


7.统计各科各分数段人数界面

C++课程设计:学生成绩管理系统_第7张图片


8.查找页面

C++课程设计:学生成绩管理系统_第8张图片


9.按总分由高到底显示成绩界面

C++课程设计:学生成绩管理系统_第9张图片


10.更新学生成绩界面

C++课程设计:学生成绩管理系统_第10张图片


11.保存界面

C++课程设计:学生成绩管理系统_第11张图片


12.再次进入已记录好数据的界面

C++课程设计:学生成绩管理系统_第12张图片


C++课程设计:学生成绩管理系统_第13张图片


C++课程设计:学生成绩管理系统_第14张图片



12.已成功进入之前记录好数据的文档,进入后显示的是选择界面


C++课程设计:学生成绩管理系统_第15张图片


总结:老师,有一些功能要求看了书自己也实在写不出,而且最近也忙着各科的备考,就参考了一些百度资料以及请教班里面厉害的大神,终于写出来了,尽管不够完美,但是对于基础不是太厉害的我来说已经尽力了。从这次的课程设计中,我发现了C++语言的实用性,所以对这么课的兴趣更浓了,我决定考完试后就自己再去深入的去学习这门课。


你可能感兴趣的:(C++课程设计:学生成绩管理系统)