学生选修课管理系统C++课程设计.docx
- 文档编号:18128113
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:54
- 大小:20.76KB
学生选修课管理系统C++课程设计.docx
《学生选修课管理系统C++课程设计.docx》由会员分享,可在线阅读,更多相关《学生选修课管理系统C++课程设计.docx(54页珍藏版)》请在冰豆网上搜索。
学生选修课管理系统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; switch(sn) { case1: {ifstreamin("e: \\studentfile.txt"); if(! in) {cout<<"打开学生信息文件失败! "< return; } intn=0; in.read((char*)&stu[n],sizeof(student)); while(! in.eof()) {n++; in.read((char*)&stu[n],sizeof(student)); } in.close(); intno; cout<<"请输入要删除的学生的学号"< cin>>no; for(inti=0;i {if(no==stu[i].sno) {cout< cout<<"是否要删除该学生的信息! "< charch; cin>>ch; if(ch='Y'||ch=='y') { for(intj=i;j stu[j]=stu[j+1]; n--; } flag=1; } } if(flag==0)cout<<"要修改的学生在文件不存在! "< else { ofstreamout("e: \\studentfile.txt"); if(! out) {cout<<"打开学生信息文件失败! "< return; } for(intk=0;k {out.seekp(k*sizeof(student),ios: : beg); out.write((char*)&stu[k],sizeof(student)); } out.close(); } break; } case2: case3: case4: case5: return; } system("pause"); } } voidsaccount() {ifstreamifs("e: \\studentfile.txt"); if(! ifs) { cout<<"打开文件失败! "; system("pause"); return; } inti=0; students; ifs.read((char*)&s,sizeof(student)); while(! ifs.eof()) { i++; ifs.read((char*)&s,sizeof(student)); } ifs.close(); cout<<"学生: "< ifs.close(); system("pause"); } voidsdisplay() {ifstreamin("e: \\studentfile.txt",ios: : in); if(! in) { cout<<"打开学生信息文件失败! "< return; } studentstu; in.read((char*)&stu,sizeof(student)); while(! in.eof()) {cout< in.read((char*)&stu,sizeof(student)); } in.close(); system("pause"); } classcourse {public: intcno; charcname[20]; charcxz[10]; intzxs; intxf; charkcxq[10]; intxxrs; //public: friendvoidcadd(); friendvoidcselect(); friendvoidcupdate(); friendvoidcdelet(); friendvoidcaccount(); friendvoidcdisplay(); friendistream&operator>>(istream&in,course&cou) { in>>o>>ame>>cou.cxz>>cou.zxs>>cou.xf>>cou.kcxq>>cou.xxrs; returnin; } friendostream&operator<<(ostream&out,course&cou) {out< returnout; } friendvoidxkadd(); }; voidcadd() {intflag1=0; coursec; cout<<"请输入要添加的课程的课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数"< cin>>c; ifstreamin("e: \\coursefile.txt"); if(! in) { cout<<"打开课程信息文件失败! "< return; } coursecou; in.read((char*)&cou,sizeof(course)); while(! in.eof()) {if(o==o){flag1=1;break;} in.read((char*)&cou,sizeof(course)); } in.close(); if(flag1==1)cout<<"该课程已经在文件中存在不允许添加! "< else {ofstreamout("e: \\coursefile.txt",ios: : app); out.write((char*)&c,sizeof(course)); out.close(); } system("pause"); } voidcselect() {while (1) {system("cls"); cout<<"***********请选择要查询的类别: *************"< cout<<"***********按课程编号请按1: *************"< cout<<"***********按课程名称请按2: *************"< cout<<"***********返回上一级界面请按3: *************"< intsn; cin>>sn; while(sn>3||sn<1) { cout<<"选择的数据无效,请重新输入: "< cin>>sn; } cout< ifstreamin("e: \\coursefile.txt"); if(! in) {cout<<"打开课程信息文件失败! "< return; } intflag=0; switch(sn) { case1: { intno; cout<<"请输入要查询的课程的编号"< cin>>no; courseke; in.read((char*)&ke,sizeof(course)); while(! in.eof()) {if(no==o){cout< in.read((char*)&ke,sizeof(course)); //if(no==ke.char*)&ke,sizeof(course)); } break; } case2: { charname[25]; cout<<"请输入要查询的课程的名称"< cin>>name; courseke; in.read((char*)&ke,sizeof(course)); while(! in.eof()) {if(strcpy(name,ame)==0){cout< in.read((char*)&ke,sizeof(course)); } break; } case3: return; } in.close(); if(flag==0)cout<<"要查询的课程在文件不存在! "< system("pause"); } } voidcupdate() {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; coursek; inti=0; in.seekg(i*sizeof(course),ios: : beg); in.read((char*)&k,sizeof(course)); while(! in.eof()) {if(no==o) {cout< cout<<"请输入要修改的课程的编号,名称,性质,学分"< cin>>k; in.seekp(i*sizeof(course),ios: : beg); in.write((char*)&k,sizeof(cours
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选修课 管理 系统 C+ 课程设计