学生选修课管理系统C++课程设计.docx
《学生选修课管理系统C++课程设计.docx》由会员分享,可在线阅读,更多相关《学生选修课管理系统C++课程设计.docx(44页珍藏版)》请在冰豆网上搜索。
![学生选修课管理系统C++课程设计.docx](https://file1.bdocx.com/fileroot1/2022-10/27/c4b6482e-5f4b-492e-9bbc-6de85d204f89/c4b6482e-5f4b-492e-9bbc-6de85d204f891.gif)
学生选修课管理系统C++课程设计
#include
#include
#include
#include
#include
//usingnamespacestd;
constintcount=3;
classsituaction;
classstudent
{public:
intsno;
charsname[20];
charsex[3];
intage;
chardepart[20];
charclassno[20];
charlianx[40];
//public:
friendvoidsselect();
friendvoidsupdate();
friendvoidsdelet();
friendvoidsaccount();
friendvoidsdisplay();
friendistream&operator>>(istream&in,student&stu)
{
in>>stu.sno>>stu.sname>>stu.sex>>stu.age>>stu.depart>>stu.classno>>stu.lianx;
returnin;
}
friendostream&operator<<(ostream&out,student&stu)
{
out<returnout;
}
friendvoidxkadd();
friendvoidsadd();
};
voidsadd()
{while
(1)
{
intflag1=0;
students;
cout<<"请输入要添加的学生的学号、姓名、性别、年龄、系别、班级、联系式"<cin>>s;
ifstreamin("e:
\\studentfile.txt");
if(!
in)
{
cout<<"打开学生信息文件失败!
"<return;
}
studentstu;
in.read((char*)&stu,sizeof(student));
while(!
in.eof())
{if(s.sno==stu.sno){flag1=1;break;}
in.read((char*)&stu,sizeof(student));
}
in.close();
if(flag1==1)cout<<"该学生已经在文件中存在不允添加!
"<else
{ofstreamout("e:
\\studentfile.txt",ios:
:
app);
out.write((char*)&s,sizeof(student));
out.close();
}
system("pause");
break;
}
}
voidsselect()
{while
(1)
{system("cls");
cout<<"***********请选择要查询的类别:
*************"<cout<<"***********按学生学号请按1:
*************"<cout<<"***********按学生姓名请按2:
*************"<cout<<"***********按学生系别请按3:
*************"<cout<<"***********按学生班级请按4:
*************"<cout<<"***********返回上一级界面请按5:
*************"<intsn;
cin>>sn;
while(sn>5||sn<1)
{
cout<<"选择的数据无效,请重新输入:
"<cin>>sn;
}
cout<ifstreamin("e:
\\studentfile.txt");
if(!
in)
{cout<<"打开学生信息文件失败!
"<return;
}
intflag=0;
switch(sn)
{
case1:
{
intno;
cout<<"请输入要查询的学生的学号"<cin>>no;
studentstu;
in.read((char*)&stu,sizeof(student));
while(!
in.eof())
{if(no==stu.sno){cout<in.read((char*)&stu,sizeof(student));
}
break;
}
case2:
{
charname[20];
cout<<"请输入要查询的学生的姓名"<cin>>name;
studentstu;
in.read((char*)&stu,sizeof(student));
while(!
in.eof())
{if(strcpy(name,stu.sname)==0){cout<in.read((char*)&stu,sizeof(student));
}
break;
}
case3:
{
chardep[20];
cout<<"请输入要查询的学生的系别"<cin>>dep;
studentstu;
in.read((char*)&stu,sizeof(student));
while(!
in.eof())
{if(strcmp(dep,stu.depart)==0){cout<in.read((char*)&stu,sizeof(student));
}
break;
}
case4:
{
charclno[20];
cout<<"请输入要查询的学生的班级"<cin>>clno;
studentstu;
in.read((char*)&stu,sizeof(student));
while(!
in.eof())
{if(strcmp(clno,stu.classno)==0){cout<in.read((char*)&stu,sizeof(student));
}
break;
}
case5:
return;
}
in.close();
if(flag==0)cout<<"要查询的学生在文件不存在!
"<system("pause");
}
}
voidsupdate()
{while
(1)
{system("cls");
cout<<"***********请选择按下列类别查询后修改:
*************"<cout<<"***********按学生学号请按1:
*************"<cout<<"***********按学生姓名请按2:
*************"<cout<<"***********按学生系别请按3:
*************"<cout<<"***********按学生班级请按4:
*************"<cout<<"***********返回上一级界面请按5:
*************"<intsn;
cin>>sn;
while(sn>5||sn<1)
{
cout<<"选择的数据无效,请重新输入:
"<cin>>sn;
}
cout<fstreamin("e:
\\studentfile.txt",ios:
:
in|ios:
:
out);
if(!
in)
{cout<<"打开学生信息文件失败!
"<return;
}
intflag=0;
switch(sn)
{
case1:
{
intno;
cout<<"请输入要查询的学生的学号"<cin>>no;
studentstu;
inti=0;
in.seekg(i*sizeof(student),ios:
:
beg);
in.read((char*)&stu,sizeof(student));
while(!
in.eof())
{if(no==stu.sno)
{cout<cout<<"请输入要修改的学生的学号、姓名、性别、年龄、系别、班级、联系式"<cin>>stu;
in.seekp(i*sizeof(student),ios:
:
beg);
in.write((char*)&stu,sizeof(student));
flag=1;
}
i++;
in.seekg(i*sizeof(student),ios:
:
beg);
in.read((char*)&stu,sizeof(student));
}
break;
}
case2:
case3:
case4:
case5:
return;
}
in.close();
if(flag==0)cout<<"要修改的学生在文件不存在!
"<system("pause");
}
}
voidsdelet()
{while
(1)
{system("cls");
cout<<"***********请选择按下列类别查询后删除:
*************"<cout<<"***********按学生学号请按1:
*************"<cout<<"***********按学生姓名请按2:
*************"<cout<<"***********按学生系别请按3:
*************"<cout<<"***********按学生班级请按4:
*************"<cout<<"***********返回上一级界面请按5:
*************"<intsn;
cin>>sn;
while(sn>5||sn<1)
{
cout<<"选择的数据无效,请重新输入:
"<cin>>sn;
}
cout<studentstu[20];
intflag=0;
s