学生选修课管理系统C++课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#include
#include
//using namespace std;
const int count =3;
class situaction;
class student
{ public:
int sno;
char sname[20];
char sex[3];
int age;
char depart[20];
char classno[20];
char lianx[40];
//public:
friend void sselect();
friend void supdate();
friend void sdelet();
friend void saccount();
friend void sdisplay();
friend istream & operator >> (istream & in,student &stu)
{
in>>stu.sno>>stu.sname>>stu.sex>>stu.age>>stu.depart>>stu.classno>>stu.lianx;
return in;
}
friend ostream & operator<< ( ostream & out,student &stu)
{
out< return out; } friend void xkadd(); friend void sadd(); }; void sadd() { while(1) { int flag1=0; student s; cout<<"请输入要添加的学生的学号、姓名、性别、年龄、系别、班级、联系式"< cin>>s; ifstream in("e:\\studentfile.txt"); if(!in) { cout<<"打开学生信息文件失败!"< return ; } student stu; 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 { ofstream out("e:\\studentfile.txt",ios::app); out.write((char*)&s,sizeof(student)); out.close(); } system("pause"); break; } } void sselect() { while(1) { system("cls"); cout<<"***********请选择要查询的类别:*************"< cout<<"*********** 按学生学号请按1:************* "< cout<<"*********** 按学生姓名请按2:*************"< cout<<"*********** 按学生系别请按3:*************"< cout<<"*********** 按学生班级请按4:*************"< cout<<"*********** 返回上一级界面请按5:*************"< int sn; cin>>sn; while(sn>5||sn<1) { cout<<"选择的数据无效,请重新输入:"< cin>>sn; } cout< ifstream in("e:\\studentfile.txt"); if(!in) { cout<<"打开学生信息文件失败!"< return ; } int flag=0; switch(sn) { case 1: { int no; cout<<"请输入要查询的学生的学号"< cin>>no; student stu; in.read((char*)&stu,sizeof(student)); while(!in.eof()) { if(no==stu.sno) {cout< in.read((char*)&stu,sizeof(student)); } break; } case 2: { char name[20]; cout<<"请输入要查询的学生的姓名"< cin>>name; student stu; in.read((char*)&stu,sizeof(student)); while(!in.eof()) { if(strcpy(name,stu.sname)==0) {cout< in.read((char*)&stu,sizeof(student)); } break; } case 3: { char dep[20]; cout<<"请输入要查询的学生的系别"< cin>>dep; student stu;