---------学生信息管理系统----------

/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 3月 6 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: -
*问题描述:学生信息管理系统
*程序输出:学生信息
*问题分析:
*算法设计:
*/
#include<iostream>
#include<cstdlib>
using namespace std;
struct Student
{
    int stunum;
    string name;
    string sex;
    int age;
    double score;
    int state;//代表学生状态 1为正常 0为删除
};
void menu();
void increase();
void search();
void delet();
void show();
void sort();
Student A[20]= {{10001,"王刚","男",18,88.00,1},
    {10002,"张国立","男",19,86.50,1},
    {10003,"邓婕","女",17,88.00,1},
    {10004,"李幼斌","男",20,90.50,1},
    {10005,"王菲","女",18,88.00,1}
};
int size=5;//代表数组中原有元素个数
int main()
{
    menu();
    return 0;
}
void menu()
{
    int chose;
    cout <<"请选择以下命令:" <<endl;
    cout<<"1.增加学生信息"<<endl;
    cout<<"2.查找学生信息"<<endl;
    cout<<"3.删除学生信息"<<endl;
    cout<<"4.显示学生信息"<<endl;
    cout<<"5.根据学生成绩排序"<<endl;
    cout<<"0.退出"<<endl;
    cin>>chose;
    switch(chose)
    {
    case 0:
        exit(1);
    case 1:
        increase();
        menu();
        break;
    case 2:
        search();
        menu();
        break;
    case 3:
        delet();
        menu();
        break;
    case 4:
        show();
        menu();
        break;
    case 5:
        sort();
        show();
        menu();
    }
}
void increase()
{
    cout<<"请输入学号、姓名、性别、年龄、成绩:"<<endl;
    size=size+1;
    cin>>A[size].stunum>>A[size].name>>A[size].sex>>A[size].age>>A[size].score;
    A[size].state=1;
    cout<<"增加成功!"<<endl;
}
void search()
{
    int num,chose,i;
    string sname;
    cout<<"请输入查找方式:"<<endl;
    cout<<"1.学号查找:"<<endl;
    cout<<"2.姓名查找:"<<endl;
    cin>>chose;
    if(chose==1)
    {
        cout<<"请输入学号:"<<endl;
        cin>>num;
        for(i=0; i<=size; i++)
        {
            if((num==A[i].stunum)&&(A[i].state=1))
            {
                cout<<"学号  姓名  性别  年龄  成绩"<<endl;
                cout<<A[i].stunum<<"  "<<A[i].name<<"  "<<A[i].sex<<"    "<<A[i].age<<"    "<<A[i].score<<endl;
                break;
            }
        }
        if((num!=A[i].stunum)||(A[i].state=0))
        {
            cout<<"查无此人!"<<endl;
        }
    }
    else
    {
        cout<<"请输入姓名:"<<endl;
        cin>>sname;
        for(i=0; i<=size; i++)
        {
            if(sname==A[i].name)
            {
                cout<<"学号 姓名 性别 年龄 成绩"<<endl;
                cout<<A[i].stunum<<" "<<A[i].name<<" "<<A[i].sex<<" "<<A[i].age<<" "<<A[i].score<<endl;
                break;
            }
        }
        if((sname!=A[i].name)||(A[i].state=0))
        {
            cout<<"查无此人!"<<endl;
        }
    }
}
void delet()
{
    int num,i;
    cout<<"请输入要删除的同学的学号:"<<endl;
    cin>>num;
    for(i=0; i<=size; i++)
    {
        if(num==A[i].stunum)
        {
            A[i].state=0;
            cout<<"删除成功!"<<endl;
            break;
        }
        else
        {
            cout<<"查无此人!"<<endl;
            menu();
        }
    }
}
void show()
{
    int i;
    for(i=0; i<=size; i++)
    {
        if(A[i].state==1)
        {
            cout<<A[i].stunum<<"  "<<A[i].name<<"  "<<A[i].sex<<"  "<<A[i].age<<"  "<<A[i].score<<endl;
        }
    }
}
void sort()
{
    int i,j,chose;
    Student t;
    cout<<"请输入排序方式:"<<endl;
    cout<<"1.学号排序(升序)"<<endl;
    cout<<"2.成绩排序(降序)"<<endl;
    cin>>chose;
    if(chose==1)
    {
        for(i=0; i<size-1; i++)
        {
            for(j=i+1; j<size; j++)
            {
                if(A[i].stunum>A[j].stunum)
                {
                    t=A[i];
                    A[i]=A[j];
                    A[j]=t;
                }
            }
        }
    }
    else
    {
        for(i=0; i<size-1; i++)
        {
            for(j=i+1; j<size; j++)
            {
                if(A[i].score<A[j].score)
                {
                    t=A[i];
                    A[i]=A[j];
                    A[j]=t;
                }
            }
        }
    }
}


运行结果:

心得体会:学以致用~!

你可能感兴趣的:(系统,信息管理,学生信息)