学生选修课管理系统C++课程设计Word下载.docx
《学生选修课管理系统C++课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《学生选修课管理系统C++课程设计Word下载.docx(54页珍藏版)》请在冰点文库上搜索。
>
(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&
out<
stu.sno<
"
"
stu.sname<
stu.sex<
stu.age<
stu.depart<
stu.classno<
stu.lianx<
endl;
returnout;
friendvoidxkadd();
friendvoidsadd();
};
voidsadd()
{while
(1)
{
intflag1=0;
students;
cout<
请输入要添加的学生的学号、姓名、性别、年龄、系别、班级、联系方式"
cin>
s;
ifstreamin("
e:
\\studentfile.txt"
);
if(!
in)
打开学生信息文件失败!
return;
}
studentstu;
in.read((char*)&
stu,sizeof(student));
while(!
in.eof())
{if(s.sno==stu.sno){flag1=1;
break;
}
in.close();
if(flag1==1)cout<
该学生已经在文件中存在不允许添加!
<
else
{ofstreamout("
ios:
:
app);
out.write((char*)&
s,sizeof(student));
out.close();
system("
pause"
voidsselect()
{system("
cls"
***********请选择要查询的类别:
*************"
***********按学生学号请按1:
*************"
***********按学生姓名请按2:
***********按学生系别请按3:
***********按学生班级请按4:
***********返回上一级界面请按5:
intsn;
sn;
while(sn>
5||sn<
1)
{
选择的数据无效,请重新输入:
{cout<
intflag=0;
switch(sn)
case1:
intno;
请输入要查询的学生的学号"
no;
studentstu;
{if(no==stu.sno){cout<
stu<
flag=1;
case2:
charname[20];
请输入要查询的学生的姓名"
name;
{if(strcpy(name,stu.sname)==0){cout<
case3:
chardep[20];
请输入要查询的学生的系别"
dep;
{if(strcmp(dep,stu.depart)==0){cout<
case4:
charclno[20];
请输入要查询的学生的班级"
clno;
{if(strcmp(clno,stu.classno)==0){cout<
case5:
if(flag==0)cout<
要查询的学生在文件不存在!
}
voidsupdate()
{system("
***********请选择按下列类别查询后修改:
fstreamin("
in|ios:
out);
inti=0;
in.seekg(i*sizeof(student),ios:
beg);
{if(no==stu.sno)
请输入要修改的学生的学号、姓名、性别、年龄、系别、班级、联系方式"
stu;
in.seekp(i*sizeof(student),ios:
in.write((char*)&
i++;
要修改的学生在文件不存在!
voidsdelet()
***********请选择按下列类别查询后删除:
studentstu[20];
{ifstreamin("
intn=0;
stu[n],sizeof(student));
{n++;
请输入要删除的学生的学号"
for(inti=0;
i<
n;
i++)
{if(no==stu[i].sno)
stu[i]<
是否要删除该学生的信息!
charch;
ch;
if(ch='
Y'
||ch=='
y'
)
for(intj=i;
j<
j++)
stu[j]=stu[j+1];
n--;
else
ofstreamout("
out)
for(intk=0;
k<
k++)
{out.seekp(k*sizeof(student),ios:
stu[k],sizeof(student));
voidsaccount()
{ifstreamifs("
ifs)
打开文件失败!
;
ifs.read((char*)&
ifs.eof())
ifs.close();
学生:
人"
voidsdisplay()
{ifstreamin("
in);
classcourse
intcno;
charcname[20];
charcxz[10];
intzxs;
intxf;
charkcxq[10];
intxxrs;
friendvoidcadd();
friendvoidcselect();
friendvoidcupdate();
friendvoidcdelet();
friendvoidcaccount();
friendvoidcdisplay();
in,course&
cou)
o>
ame>
cou.cxz>
cou.zxs>
cou.xf>
cou.kcxq>
cou.xxrs;
operator<
(ostream&
out,course&
{out<
o<
ame<
cou.cxz<
cou.zxs<
cou.xf<
cou.kcxq<
cou.xxrs<
voidcadd()
{intflag1=0;
coursec;
请输入要添加的课程的课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数"
c;
\\coursefile.txt"
打开课程信息文件失败!
coursecou;
cou,sizeof(course));
{if(o==o){flag1=1;
cou,sizeof(course));
该课程已经在文件中存在不允许添加!
c,sizeof(course));
voidcselect()
{while
(1)
***********请选择要查询的类别:
***********按课程编号请按1:
***********按课程名称请按2:
***********返回上一级界面请按3:
3||sn<
请输入要查询的课程的编号"
courseke;
ke,sizeof(course));
{if(no==o){cout<
ke<
//if(no==ke.char*)&
charname[25];
请输入要查询的课程的名称"
{if(strcpy(name,ame)==0){cout<
要查询的课程在文件不存在!
voidcupdate()
***********按课程性质请按3:
***********按课程学分请按4:
coursek;
in.seekg(i*sizeof(course),ios:
k,sizeof(course));
{if(no==o)
请输入要修改的课程的编号,名称,性质,学分"
k;
in.seekp(i*sizeof(course),ios:
k,sizeof(cours