用C++写的“学生管理系统”

来源:互联网 发布:云端软件下载 编辑:程序博客网 时间:2024/05/09 14:27
这是第一个大点的程序!
#include<iostream.h>
#include<string.h>
#include<iomanip.h>

struct student //定义一个学生结构体
{
char name[30];
int num;
char add[20];
int GS,YY,JSJ;
};

int s=0;

class student1 //定义一个学生类
{
private:
    /*
    *定义成员变量
    */
    student stu[40];
    char name,add;
    int num;
    int GS,YY,JSJ;

public:
    /*
    *声明成员函数
    */
    void input(char *,int,char *,int,int,int);
    void print(int);
    void find(int);
    void del(int);
    
};

/*
*定义成员函数input()
*/

void student1::input(char *xm,int xh,char *dz,int gs,int yy,int jsj) //输入
{
    strcpy(stu[s].name,xm);        //讲字符串XM放到STU[]中
    stu[s].num=xh;
    strcpy(stu[s].add,dz);
    stu[s].GS=gs;
    stu[s].YY=yy;
    stu[s].JSJ=jsj;
}

/*
*定义成员函数print()
*/
void student1::print(int s) //输出
{
    cout<<s<<"/t";
    cout<<stu[s].name<<"/t";
    cout<<stu[s].num<<"/t";
    cout<<stu[s].add<<"/t";
    cout<<stu[s].GS<<"/t";
    cout<<stu[s].YY<<"/t";
    cout<<stu[s].JSJ<<"/t";
    cout<<endl;
}

/*
*定义成员函数find()
*/
void student1::find(int s) //查找
{
    int xxh,p;
    while(s==0)
    {
        cout<<"没有记录,请先输入记录!"<<endl;
        break;
    }
    if(s!=0)
    {cout<<"请输入您要查找的学号:";
    cin>>xxh;

    while(s!=0) //查找是否有符合条件的记录
    {
        p=1;
        if (xxh==stu[s].num)
        {
            cout<<"姓名/t学号/t地址/t高数/t英语/t计算机"<<endl;
            cout<<stu[s].name<<"/t";
            cout<<stu[s].num<<"/t";
            cout<<stu[s].add<<"/t";
            cout<<stu[s].GS<<"/t";
            cout<<stu[s].YY<<"/t";
            cout<<stu[s].JSJ<<endl;
            break;
        }
        else
            p=0;
            s--;
    }
    if(p==0)
    cout<<"很抱歉,没有找到您要查找的学号!"<<endl;}
}

/*
*定义成员函数del()
*/
void student1::del(int n) //删除
{
    int xxh,p;        //xxh是学号,P是真假
    char da;        //输入的字符
    int i=1;
    if(s!=0)
    {
        cout<<"请输入您要删除的学号:";
        cin>>xxh;
        if(stu[i].num==xxh)
        {
            cout<<"姓名/t学号/t地址/t高数/t英语/t计算机"<<endl;
            cout<<stu[i].name<<"/t";
            cout<<stu[i].num<<"/t";
            cout<<stu[i].add<<"/t";
            cout<<stu[i].GS<<"/t";
            cout<<stu[i].YY<<"/t";
            cout<<stu[i].JSJ<<endl;

            for(int j=i;j<=n-1;j++) //删除记录
            {
                strcpy(stu[j].name,stu[j+1].name);
                stu[j].num=stu[j+1].num;
                strcpy(stu[j].add,stu[j+1].add);
                stu[j].GS=stu[j+1].GS;
                stu[j].YY=stu[j+1].YY;
                stu[j].JSJ=stu[j+1].JSJ;
            }
            cout<<"该记录已删除!"<<endl;
            s=s-1;        //删除完成
        }
        if(p==0)
        cout<<"很抱歉,没有找到您要找的学号!"<<endl;
    }
}

void main()
{
    student1 st;
    char da,a;
    char *xm,*dz;
    int gs,yy,jsj,xh;
    while(a!='5')
    {
        cout<<setw(45)<<" 学生成绩管理系统/n";
        cout<<endl;
        cout<<setw(45)<<"1.输入/添加学生资料/n";
        cout<<setw(45)<<"2.显示学生资料     /n";
        cout<<setw(45)<<"3.按学号查找       /n";
        cout<<setw(45)<<"4.删除记录         /n";
        cout<<setw(45)<<"5.退出             /n";
        cout<<setw(45)<<"请选择操作(1-5)    /n";
        cin>>a;

        switch (a)
        {
            case '1':
                {
                    cout<<"请依次输入学生的姓名:"<<endl;
                    xm=new char[];        //名字副给XM
                    cin>>xm;
                    cout<<"请依次输入学生的学号:"<<endl;
                    cin>>xh;
                    cout<<"请依次输入学生的地址:"<<endl;
                    dz=new char[];
                    cin>>dz;
                    cout<<"请依次输入学生的高数:"<<endl;
                    cin>>gs;
                    cout<<"请依次输入学生的英语:"<<endl;
                    cin>>yy;
                    cout<<"请依次输入学生的计算机:"<<endl;
                    cin>>jsj;

                    s=s+1;
                    st.input(xm,xh,dz,gs,yy,jsj);

                    cout<<"是否继续输入?(y/n)";
                    cin>>da;
                };break;

            case '2':
                {
                    if(s==0) //判断是否有记录输入
                    {
                        cout<<"没有记录,请先输入记录!"<<endl;
                        break;
                    }
                    if(s!=0)
                    {
                        cout<<"序号"<<"/t";
                        cout<<"姓名"<<"/t";
                        cout<<"学号"<<"/t";
                        cout<<"地址"<<"/t";
                        cout<<"高数"<<"/t";
                        cout<<"英语"<<"/t";
                        cout<<"计算机"<<endl;
                        
                        for(int i=1;i<=s;i++)        //显示输出为顺序排列        
                        st.print(i);
                    }
                };break;
            case '3':st.find(s);break;

            case '4':st.del(s);break;
            
            default:
            {
                while(a=='0'||a>'5') //判断选项是否正确
                {
                    cout<<"错误选项,请重新选择!"<<endl;
                    cin>>a;
                }
        
            };
            break;
        }
    }
    cout<<"谢谢您的使用!"<<endl;
}
原创粉丝点击