数据结构课程设计论文--学生信息管理系统

原创 2015年07月08日 18:48:13

数据结构课程设计论文--学生信息管理系统

1.学生成绩分析问题

1)问题描述。录入并保存一个班级学生多门课程的成绩,并对成绩进行分析。

2)基本要求。a)通过键盘输入各学生的多门课程的成绩,建立相应的文件input.datb)对文件input.dat中的数据进行处理,要求具有如下功能:按各门课程成绩排序,并生成相应的文件输出;计算每个人的平均成绩,按平均成绩排序,并生成文件;求出各门课程的平均成绩、最高分、最低分、不及格人数、60~69分人数、70~79分人数、80~89分人数、90分以上人数;根据姓名或学号查询某人的各门课成绩。c)使用Visual C++ 6. 0控制台应用程序开发,界面美观。

3)测试数据,如下图所示。

学号

姓名

数学

英语

计算机

01

王芳

78

77

90

02

张强

89

67

88

03

李浩

56

66

78

04

黄鹏

89

86

85

05

尚校

67

88

76

06

赵鹏

45

54

67

07

蒋泽

78

76

70

2.程序结构及清单

<span style="font-size:14px;">程序结构及清单 
2.1.1  头文件
#define NUM1 30 
class Students
{
public:
    Students(char *sNane, int cNumber,int sMath,int sEnglish,int sComputer);
    Students()
    {}
    ~Students()
    {}
    char* GetName();
    void SetName(char* sName);//获取姓名
     int GetNumber();
    void SetNumber(int sNumber);//获取学号
    int GetMath();
    void SetMath(int sMath);//获取数学成绩
    int GetEnglish();
    void SetEnglish(int sEnglish);//获取英语成绩
   int GetComputer();
    void SetComputer(int sComputer);//获取计算机成绩
    void disply(Students &st1);
    //void WriterData();
    //void DeleteData(int icount);
    //void GetStudentsFromFile(int icount);//数据库接口
protected:
    char Name[NUM1];
    int Number;
    int  Math;
    int English;
    int Computer;
};
2.1.2  公共函数
#include "stuends.h"
#include<string>
#include<fstream>
#include<iostream>
#include<iomanip>
using namespace std;

Students::Students(char *sName,int sNumber,int sMath,int sEnglish,int sComputer)
{
    strncpy(Name,sName,NUM1);
    Number=sNumber;
    Math=sMath;
    English=sEnglish;
    Computer=sComputer;
}
char* Students::GetName()
{
    return Name;
}
int Students::GetNumber()
{
    return Number;
}
int Students::GetMath()
{
    return Math;
}
int Students::GetEnglish()
{
    return English;
}
int Students::GetComputer()
{
    return Computer;
}
void Students::SetName(char* sName)
{
    strncpy(Name,sName,NUM1);
}
void Students::SetNumber(int sNumber)
{
        Number=sNumber;
}
void Students::SetMath(int sMath)
{
    Math=sMath;
}
void Students::SetEnglish(int sEnglish)
{
    English=sEnglish;    
}
void Students::SetComputer(int sComputer)
{
    Computer=sComputer;    
}
void Students::disply(Students &st1)
{
        cout<<st1.GetName()<<" "<<"0"<<st1.GetNumber()<<" "<<st1.GetMath()<<" "<<st1.GetEnglish()<<" "<<st1.GetComputer()<<endl;
}
2.1.3  功能函数
#include "stuends.h"
//成绩的修改
#include<stdlib.h>
#include<conio.h>

#include<string>
#include<fstream>
#include<iostream>
#include<iomanip>
using namespace std;

    Students st1[20];
    int mm;
int addmain()
{
    cout<<"请输入要添加的学生成绩记录的个数"<<endl;
    cin>>mm;
    for(int i=0;i<mm;i++)
    {
        cout<<"正在添加第"<<i+1<<"个学生的成绩记录"<<endl;
        char aName[NUM1];
        int aNumber;
        int  aMath;
        int aEnglish;
        int aComputer;
        cout<<"请输入需要添加的学生的姓名、学号、数学成绩、英语成绩、计算机成绩"<<endl;
        cin>>aName>>aNumber>>aMath>>aEnglish>>aComputer;
        Students st(aName,aNumber,aMath,aEnglish,aComputer);
        st1[i]=st;
        cout<<"添加的记录为:"<<endl;
        st1[i].disply(st1[i]);
        cout<<endl;
    }
    cout<<"添加完成"<<endl;
    return 0;
}//添加学生成绩记录
void miodefy()
{
    int num;
    cout<<"请输入要修改的学生成绩的学号"<<endl;
    cin>>num;
    for(int j=0;j<mm;j++)
    {
        if(st1[j].GetNumber()==num)
        {
            cout<<"要修改的学生的信息为"<<endl;
            st1[j].disply(st1[j]);
            char aName[NUM1];
            int aNumber;
            int  aMath;
            int aEnglish;
            int aComputer;
            cout<<"请输入修改后的学生的姓名、学号、数学成绩、英语成绩、计算机成绩"<<endl;
            cin>>aName>>aNumber>>aMath>>aEnglish>>aComputer;
            Students st3(aName,aNumber,aMath,aEnglish,aComputer);
            st1[j]=st3;
            st1[j].disply(st1[j]);
            return;
        }
    }
    cout<<"未找到相应的学生的成绩"<<endl;    
}//修改学生成绩记录
void deletea()
{
    int num;
    cout<<"请输入要删除的学生的学号"<<endl;
    cin>>num;
    for(int j=0;j<mm;j++)
    {
        if(st1[j].GetNumber()==num)
        {
            cout<<"要删除的学生的信息为"<<endl;
            st1[j].disply(st1[j]);
            for(int j1=j;j1<mm-1;j1++)
            {
                st1[j1]=st1[j1+1];
            }
            mm--;
            cout<<"删除完成"<<endl;
            return ;
        }
    }
    cout<<"未找到相应的学生的成绩"<<endl;
}
void displayall()
{
    for(int i=0;i<mm;i++)
    {
        st1[i].disply(st1[i]);
    }
}//全部信息
void chaxun()
{
    int num;
    cout<<"请输入要查询的学生成绩的学号"<<endl;
    cin>>num;
    for(int j=0;j<mm;j++)
    {
        if(st1[j].GetNumber()==num)
        {
            st1[j].disply(st1[j]);
            return;
        }
    }
    cout<<"未找到相应的学生的成绩"<<endl;
}//按学号查询成绩
void avgs()
{
    double avg[20];
    for(int i1=0;i1<mm;i1++)
    {
        avg[i1]=double((st1[i1].GetEnglish()+st1[i1].GetMath()+st1[i1].GetComputer())/3.0);
        cout<<st1[i1].GetName()<<" "<<st1[i1].GetNumber()<<" "<<avg[i1]<<endl;
    }
}//每人的平均成绩
void avgcm()
{
    double avg=0;
    for(int i2=0;i2<mm;i2++)
    {
        avg+=st1[i2].GetMath();
    }
    avg=avg/mm;
    cout<<"数学成绩平均分为:"<<avg<<endl;
}//数学成绩平均分
void avgcE()
{
    double avg=0;
    for(int i2=0;i2<mm;i2++)
    {
        avg+=st1[i2].GetEnglish();
    }
    avg=avg/mm;
    cout<<"英语成绩平均分为:"<<avg<<endl;
}//英语成绩平均分
void avgcc()
{
    double avg=0;
    for(int i2=0;i2<mm;i2++)
    {
        avg+=st1[i2].GetComputer();
    }
    avg=avg/mm;
    cout<<"计算机成绩平均分为:"<<avg<<endl;
}//计算机成绩平均分
void avgca()
{
    double avg=0;
    for(int i2=0;i2<mm;i2++)
    {
        avg+=st1[i2].GetComputer()+st1[i2].GetEnglish()+st1[i2].GetMath();
    }
    avg=avg/(mm*3);
    cout<<"全部科目成绩平均分为:"<<avg<<endl;
}//全部科目成绩平均分
int max[20];
int maxM[20];
int maxE[20];
int maxC[20];
void temp()
{
    for(int i=0;i<mm-1;i++)
        for(int i2=i+1;i2<mm;i2++)
        {
            max[i]=st1[i].GetComputer()+st1[i].GetEnglish()+st1[i].GetMath();
            max[i2]=st1[i2].GetComputer()+st1[i2].GetEnglish()+st1[i2].GetMath();
            if(max[i]>max[i2])
            {
                int temp;
                temp=max[i];
                max[i]=max[i2];
                max[i2]=temp;
            }
        }
}//总成绩排序
void highall()
{
    temp();
    cout<<"最高总分为:"<<max[mm-1]<<"分"<<endl;
}//最高总成绩
void lowall()
{
    temp();
    cout<<"最低总分为:"<<max[0]<<"分"<<endl;
}//最低总成绩
void tempM()
{
    for(int i=0;i<mm-1;i++)
        for(int i2=i+1;i2<mm;i2++)
        {
            maxM[i]=st1[i].GetMath();
            maxM[i2]=st1[i2].GetMath();
            if(maxM[i]>maxM[i2])
            {
                int temp;
                temp=maxM[i];
                maxM[i]=maxM[i2];
                maxM[i2]=temp;
            }
        }
}//数学成绩排序
void highallM()
{
    tempM();
    cout<<"最高数学成绩为:"<<maxM[mm-1]<<"分"<<endl;
}//最高数学成绩
void lowallM()
{
    tempM();
    cout<<"最低数学成绩为:"<<maxM[0]<<"分"<<endl;
}//最低数学成绩
void tempE()
{
    for(int i=0;i<mm-1;i++)
        for(int i2=i+1;i2<mm;i2++)
        {
            maxE[i]=st1[i].GetEnglish();
            maxE[i2]=st1[i2].GetEnglish();
            if(maxE[i]>maxE[i2])
            {
                int temp;
                temp=maxE[i];
                maxE[i]=maxE[i2];
                maxE[i2]=temp;
            }
        }
}//英语成绩排序
void highallE()
{
    tempE();
    cout<<"最高英语成绩为:"<<maxE[mm-1]<<"分"<<endl;
}//最高英语成绩
void lowallE()
{
    tempE();
    cout<<"最低英语成绩为:"<<maxE[0]<<"分"<<endl;
}//最低英语成绩
void tempC()
{
    for(int i=0;i<mm-1;i++)
        for(int i2=i+1;i2<mm;i2++)
        {
            maxC[i]=st1[i].GetComputer();
            maxC[i2]=st1[i2].GetComputer();
            if(maxC[i]>maxC[i2])
            {
                int temp;
                temp=maxC[i];
                maxC[i]=maxC[i2];
                maxC[i2]=temp;
            }
        }
}//计算机成绩排序
void highallC()
{
    tempC();
    cout<<"最高计算级成绩为:"<<maxC[mm-1]<<"分"<<endl;
}//最高计算机成绩
void lowallC()
{
    tempC();
    cout<<"最低计算机为:"<<maxC[0]<<"分"<<endl;
}//最低计算机成绩
void sortnumber()
{
    for(int i1=0;i1<mm-1;i1++)
        for(int i2=i1+1;i2<mm;i2++)
        {
            if(st1[i1].GetNumber()>st1[i2].GetNumber())
            {
                    Students temp;
                    temp=st1[i1];
                    st1[i1]=st1[i2];
                    st1[i2]=temp;
            }
        }
        cout<<"按学号排列为:"<<endl;
    displayall();
}//按学号排列
void sortchengji()
{
    for(int i1=0;i1<mm-1;i1++)
        for(int i2=i1+1;i2<mm;i2++)
        {
            max[i1]=st1[i1].GetComputer()+st1[i1].GetEnglish()+st1[i1].GetMath();
            max[i2]=st1[i2].GetComputer()+st1[i2].GetEnglish()+st1[i2].GetMath();
            if(max[i1]<max[i2])
            {
                Students temp;
                temp=st1[i1];
                st1[i1]=st1[i2];
                st1[i2]=temp;
            }
        }
    cout<<"按成绩降序排列为:"<<endl;
    displayall();
}//按成绩排序
void coun1M()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetMath()>90)
        {
            count++;
        }
    }
    cout<<"数学成绩大于90分的有"<<count<<"人"<<endl;
}
void coun2M()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetMath()>79 &&st1[i].GetMath()<90)
        {
            count++;
        }
    }
    cout<<"数学成绩在80-89分的有"<<count<<"人"<<endl;
}
void coun3M()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetMath()>69 &&st1[i].GetMath()<80)
        {
            count++;
        }
    }
    cout<<"数学成绩在70-79分的有"<<count<<"人"<<endl;
}
void coun4M()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetMath()>59 &&st1[i].GetMath()<70)
        {
            count++;
        }
    }
    cout<<"数学成绩在60-69分的有"<<count<<"人"<<endl;
}
void coun5M()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetMath()<60)
        {
            count++;
        }
    }
    cout<<"数学成绩不及格的有"<<count<<"人"<<endl;
}
void coun1C()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetComputer()>90)
        {
            count++;
        }
    }
    cout<<"计算机成绩大于90分的有"<<count<<"人"<<endl;
}
void coun2C()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetComputer()>79 &&st1[i].GetComputer()<90)
        {
            count++;
        }
    }
    cout<<"计算机成绩在80-89分的有"<<count<<"人"<<endl;
}
void coun3C()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetComputer()>69 &&st1[i].GetComputer()<80)
        {
            count++;
        }
    }
    cout<<"计算机成绩在70-79分的有"<<count<<"人"<<endl;
}
void coun4C()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetComputer()>59 &&st1[i].GetComputer()<70)
        {
            count++;
        }
    }
    cout<<"计算机成绩在60-69分的有"<<count<<"人"<<endl;
}
void coun5C()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetComputer()<60)
        {
            count++;
        }
    }
    cout<<"计算机成绩不及格的有"<<count<<"人"<<endl;
}
void coun1E()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetEnglish()>90)
        {
            count++;
        }
    }
    cout<<"英语成绩大于90分的有"<<count<<"人"<<endl;
}
void coun2E()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetEnglish()>79 &&st1[i].GetEnglish()<90)
        {
            count++;
        }
    }
    cout<<"英语成绩在80-89分的有"<<count<<"人"<<endl;
}
void coun3E()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetEnglish()>69 &&st1[i].GetEnglish()<80)
        {
            count++;
        }
    }
    cout<<"英语成绩在70-79分的有"<<count<<"人"<<endl;
}
void coun4E()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetEnglish()>59 &&st1[i].GetEnglish()<70)
        {
            count++;
        }
    }
    cout<<"英语成绩在60-69分的有"<<count<<"人"<<endl;
}
void coun5E()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(st1[i].GetEnglish()<60)
        {
            count++;
        }
    }
    cout<<"英语成绩不及格的有"<<count<<"人"<<endl;
}
void coun1Z()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if(double((st1[i].GetComputer()+st1[i].GetEnglish()+st1[i].GetMath())/3.0)>90)
        {
            count++;
        }
    }
    cout<<"平均成绩大于90分的有"<<count<<"人"<<endl;
}
void coun2Z()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        double aa=double(st1[i].GetComputer()+st1[i].GetEnglish()+st1[i].GetMath())/3.0;
        if(aa>79 &&aa<90)
        {
            count++;
        }
    }
    cout<<"平均成绩在80-89分的有"<<count<<"人"<<endl;
}
void coun3Z()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        double aa=double(st1[i].GetComputer()+st1[i].GetEnglish()+st1[i].GetMath())/3.0;
        if(aa>69 && aa<80)
        {
            count++;
        }
    }
    cout<<"平均成绩在70-79分的有"<<count<<"人"<<endl;
}
void coun4Z()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        double aa=double(st1[i].GetComputer()+st1[i].GetEnglish()+st1[i].GetMath())/3.0;
        if(aa>59 && aa<70)
        {
            count++;
        }
    }
    cout<<"平均成绩在60-69分的有"<<count<<"人"<<endl;
}
void coun5Z()
{
    int count=0;
    for(int i=0;i<mm;i++)
    {
        if((double(st1[i].GetComputer()+st1[i].GetEnglish()+st1[i].GetMath())/3.0)<60)
        {
            count++;
        }
    }
    cout<<"平均成绩不及格的有"<<count<<"人"<<endl;
}
2.1.4  功能组合
void mainloop1()
 {
     cout<<"输入1:查看全部成绩" <<endl;
     cout<<"输入2:按学号查询"<<endl;
     int xun;
     cin>>xun;
     if(xun==1)
     {
         displayall();
     }
     else if(xun==2)
     {
         chaxun();
     }
 system("pause");
 }
void mainloop2()
{
    addmain();
    system("pause");
}
void mainloop3()
{
    miodefy();
    system("pause");
}
void mainloop4()
{
    deletea();
    system("pause");
}
void mainloop5()
{
    avgs();
    system("pause");
}
 void mainloop6()
 {
     cout<<"输入 1:查看数学平均成绩"<<endl;
     cout<<"输入 2:查看英语平均成绩"<<endl;
     cout<<"输入 3:查看计算机平均成绩"<<endl;
     cout<<"输入 4:查看总平均成绩"<<endl;
     int m;
     cin>>m;
     if(m==1)
     {
        avgcm();
     }
     else if(m==2)
     {
        avgcE();
     }
     else if(m==3)
     {
        avgcc();
     }
     else if(m==4)
     {
        avgca();
     }
     system("pause");
 }
 void mainloop7()
 {
     cout<<"输入 1:查看数学最高成绩"<<endl;
     cout<<"输入 2:查看英语最高成绩"<<endl;
     cout<<"输入 3:查看计算机最高成绩"<<endl;
     cout<<"输入 4:查看总最高成绩"<<endl;
    int m;
     cin>>m;
     if(m==1)
     {
        highallM();
     }
     else if(m==2)
     {
        highallE();
     }
     else if(m==3)
     {
        highallC();
     }
     else if(m==4)
     {
        highall();
     }
     system("pause");
 }
 void mainloop8()
 {
     cout<<"输入 1:查看数学最低成绩"<<endl;
     cout<<"输入 2:查看英语最低成绩"<<endl;
     cout<<"输入 3:查看计算机最低成绩"<<endl;
     cout<<"输入 4:查看总最低成绩"<<endl;
    int m;
     cin>>m;
     if(m==1)
     {
        lowallM();
     }
     else if(m==2)
     {
        lowallE();
     }
     else if(m==3)
     {
        lowallC();
     }
     else if(m==4)
     {
        lowall();
     }
     system("pause");
 }
 void mainloop9()
 {
    cout<<"输入 1:查看不及格人数"<<endl;
     cout<<"输入 2:查看60~69分人数"<<endl;
     cout<<"输入 3:查看70~79分人数"<<endl;
     cout<<"输入 4:查看80~89分人数"<<endl;
     cout<<"输入 5:查看90分以上人数"<<endl;
     int i1;
     cin>>i1;
     if(i1==1)
     {
        cout<<"输入 1:查看数学在此范围内人数"<<endl;
        cout<<"输入 2:查看英语在此范围内人数"<<endl;
        cout<<"输入 3:查看计算机在此范围内人数"<<endl;
        cout<<"输入 4:查看平均成绩在此范围内人数"<<endl;
        int jj;
        cin>>jj;
        if(jj==1)
        {
            coun1M();
        }
        else if(jj==2)
        {
            coun1E();
        }
        else if(jj==3)
        {
            coun1C();
        }
        else if(jj==4)
        {
            coun1Z();
        }
     }
     else if(i1==2)
     {
        cout<<"输入 1:查看数学在此范围内人数"<<endl;
        cout<<"输入 2:查看英语在此范围内人数"<<endl;
        cout<<"输入 3:查看计算机在此范围内人数"<<endl;
        cout<<"输入 4:查看平均成绩在此范围内人数"<<endl;
        int jj;
        cin>>jj;
        if(jj==1)
        {
            coun2M();
        }
        else if(jj==2)
        {
            coun2E();
        }
        else if(jj==3)
        {
            coun2C();
        }
        else if(jj==4)
        {
            coun2Z();
        }
     }
     else if(i1==3)
     {
        cout<<"输入 1:查看数学在此范围内人数"<<endl;
        cout<<"输入 2:查看英语在此范围内人数"<<endl;
        cout<<"输入 3:查看计算机在此范围内人数"<<endl;
        cout<<"输入 4:查看平均成绩在此范围内人数"<<endl;
        int jj;
        cin>>jj;
        if(jj==1)
        {
            coun3M();
        }
        else if(jj==2)
        {
            coun3E();
        }
        else if(jj==3)
        {
            coun3C();
        }
        else if(jj==4)
        {
            coun3Z();
        }
     }
     else if(i1==4)
     {
        cout<<"输入 1:查看数学在此范围内人数"<<endl;
        cout<<"输入 2:查看英语在此范围内人数"<<endl;
        cout<<"输入 3:查看计算机在此范围内人数"<<endl;
        cout<<"输入 4:查看平均成绩在此范围内人数"<<endl;
        int jj;
        cin>>jj;
        if(jj==1)
        {
            coun4M();
        }
        else if(jj==2)
        {
            coun4E();
        }
        else if(jj==3)
        {
            coun4C();
        }
        else if(jj==4)
        {
            coun4Z();
        }
     }
     else if(i1==5)
     {
        cout<<"输入 1:查看数学在此范围内人数"<<endl;
        cout<<"输入 2:查看英语在此范围内人数"<<endl;
        cout<<"输入 3:查看计算机在此范围内人数"<<endl;
        cout<<"输入 4:查看平均成绩在此范围内人数"<<endl;
        int jj;
        cin>>jj;
        if(jj==1)
        {
            coun5M();
        }
        else if(jj==2)
        {
            coun5E();
        }
        else if(jj==3)
        {
            coun5C();
        }
        else if(jj==4)
        {
            coun5Z();
        }
     }
     system("pause");
 }
void mainloop10()
{
    sortchengji();
     system("pause");
}
2.1.5  主窗体设计及主函数
void SetScreenGrid()
{
    //char sysSetBuf[80];
    //sprintf(sysSetBuf,"mode con cols=%d line=%d " ,CMD_COLS,CMD_LINES);
    //system(sysSetBuf);
    system("color 5");
}//设置显示信息的行数,列数和背景颜色等信息
int mainlook()
{
    SetScreenGrid();
    int c;
    do 
    { 
          //设置字体为绿色
        system("cls");
        cout<<endl;
        cout<<endl;
        cout<<"                          学生成绩管理系统                   " <<endl;
        cout<<"                    =========================================="<<endl;
        cout<<"                    \t    1.学生成绩查询    \t"<<endl;
        cout<<"                    \t    2.添加学生成绩    \t"<<endl;
        cout<<"                    \t    3.修改学生成绩    \t"<<endl;
        cout<<"                    \t    4.删除学生成绩  \t"<<endl;
        cout<<"                    \t    5.学生平均成绩      \t"<<endl;
        cout<<"                    \t    6.科目平均成绩      \t"<<endl;
        cout<<"                    \t    7.学生最高成绩    \t"<<endl;
        cout<<"                    \t    8.学生最低成绩          \t"<<endl;
        cout<<"                        9.学生各个分数段人数         \t"<<endl;
        cout<<"                10.成绩升序排列为            \t"<<endl;
        cout<<"                  =========================================="<<endl;
        cout<<"0-退出\t请选择(1-10): ";
        cin>>c;
        switch(c) 
        { 
        case 1: system("cls");mainloop1(); break; 
        case 2:system("cls");mainloop2();break; 
        case 3: system("cls");mainloop3();break; 
        case 4: system("cls");mainloop4(); break;  
        case 5: system("cls");mainloop5(); break;
        case 6: system("cls");mainloop6(); break;
        case 7: system("cls");mainloop7(); break;
        case 8: system("cls");mainloop8(); break;
        case 9:system("cls");mainloop9();break;
        case 10:system("cls");mainloop10();break;
        default: break;
        } 
    }while(c!=0); 
return 0;
}
int main()
{
    mainlook();
    return 0;
}</span>

3.程序功能展示

系统功能

4.算法描述

1. 设置公共类students,设置姓名Name,学号Number,数学成绩Math,英语成绩English,计算机成绩Computer,四个属性来存储学生成绩记录。

2.公共类设置15个函数来获取信息与成绩及初始化。

1) Students(char *sNane, int cNumber,int sMath,int sEnglish,int sComputer);

2)  Students()

3)  {}

4)  ~Students()

5)  {}

6)  char* GetName();

7)  void SetName(char* sName);//获取姓名

8)      int GetNumber();

9)  void SetNumber(int sNumber);//获取学号

10)  int GetMath();

11)  void SetMath(int sMath);//获取数学成绩

12)  int GetEnglish();

13)  void SetEnglish(int sEnglish);//获取英语成绩

14)    int GetComputer();

15)     void SetComputer(int sComputer);//获取计算机成绩

3.功能函数。

1) 添加修改成绩功能。

2) 初始化一个对象数组,采用带参数的构造函数初始化记录,完成学生信息的添加,修改功能。

3) 2,删除学生成绩功能。

4) 设置计数器,与学号关联,查询到要删去的学号,去掉该学生的成绩,其他的成绩依次向前移动一位,学生成绩总数减一位。

5) 排序,最低最高成绩功能。

6) 进行学生成绩的排序,对象数组下标为0的是最低成绩,为计数器数字减一的是最高成绩。

7) 各个分数段人数。

8)  进行简单的筛选,外加计数器。

4.排序采用简单的冒泡排序,时间复杂度为O(n)

5.菜单设计。

函数工能组合后,为mainloop1-10,为了能进行多次功能选择,采用永真的while(1)循环,只有当判断条件(c==0)满足时退出系统。

循环中采用switchcase结构方便进行选择。

6.主窗体设计。

    采用system(“cls”)函数调动DOS下的清屏功能,system("color 5")进行文字背景颜色选择功能,使界面看起来美观。

使用system("pause")函数,是程序暂停,给使用者以选择的时间。

5.界面展示


6.  开发难点及解决技巧

1.使各个功能能够持续不断地进行,而不丢失已经录入的数据。

   设置一个全局变量的对象数组,每个函数对数组进行操作。

2.菜单设置每次单个功能完成后能再次回到菜单继续执行命令,以及程 序的退出。

为了能进行多次功能选择,采用永真的while(1)循环,只有当判断          条件(c==0)满足时退出系统。

循环中采用switchcase结构方便进行选择。

3.功能执行时,没有给以选择时间,程序闪退。

使用system("pause")函数,是程序暂停,给使用者以选择的时间。

4.快速设置改变背景色,样式,标题,等格式。

  采用system(“cls”)系列的函数,调用系统命令,快速改变样式。

例如:

sprintf(sysSetBuf,"mode con cols=%d line=%d  " ,CMD_COLS,CMD_LINES); 

 system(sysSetBuf);

system("color 5");

7.小节

    1) 实验过程中学到了不少的知识,例如如何设置菜单,改界面,完一个简单的数据的增删改查的功能,以及简单的从文件中读取 数据的操作,对文件中的数据进行操作。

   2)了解了做一个项目的大致的流程。感觉总体功能做的可以了,也设 置了一个简单的界面。

   3) 从文件中读入,写入数据可以采用文件的输入输出流。例如:

#include<iostream.h>

#include<fstream>

using namespace std;

int main()

{

ofstream fout;

fout.open("output.txt");

fout << "Here is a number: " << "/n";

fout << "Now here is a string: " << "/n";

fout << flush
fout.close();

ifstream fin("input.txt");

return 0;

}
时间紧急没有来的及完成。



版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言 学生信息管理系统

前文是楼主的一些经历,给大家分享一下,希望能够帮到大家。文中有不足的地方还请指出,我们一同探讨,或者可以直接看正文(恩~第一次在这儿发帖确实有点小激动O(∩_∩)O~)。 |前文| 我是一名职...

数据结构:单链表:学生成绩管理系统

// 单链表.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; #define O...

数据结构课程设计---学生信息管理系统

1、 建立一个动态链表,链表中每一结点包括:学号、姓名、性别、年龄、成绩。程序能实现以下功能:     建立链表     显示链表     查找链表中是否存在某个元素,并显示这个元素的所有信息,若没有...

数据结构课程设计之学生信息管理系统

/*********************************************************** * 版权所有 (C)2016,jiangyankai * 文件名称...

数据结构课程设计—学生信息管理系统

问题描述: /* * Copyright (c)2015,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:aaaa.cbp * 作 ...

数据结构课程设计-学生信息管理系统

/* * 烟台大学计算机与控制工程学院 *文件名称:mian.cpp *作 者:王旭 *完成日期:2015年1...

数据结构课程设计【学生信息管理系统(烟大版)】

/* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:student.project * 作者:...

C语言课程设计之学生信息管理系统

大一什么都不懂的时候,做一个课程设计还是挺不易的,不过还是得到了老师的高分,特发来与大家一起分享我的经验。不要笑,毕竟是大一写的!^_^...

课程设计--学生信息管理系统

问题及代码: /* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:student....

课程设计————学生信息管理系统二(包含历代思路和代码)

课程设计————学生管理系统二(包含历代思路和代码)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构课程设计论文--学生信息管理系统
举报原因:
原因补充:

(最多只允许输入30个字)