第一篇:航空售票系统+C++课程设计源代码
#include
int number;//航班号
int Number;//飞机号
int week;//星期几飞行
int day;//日期
int left;//余票额
int n;//与数组flag一起确定客户订票状态 public:
int flag[20];//订票状态数组,-1为预订票,1为已定票,0为初始化状态
Plane()//构造函数
{
name[0]=' ';
number=0;
Number=0;
week=0;
day=0;
left=M;
n=0;//数组从0开始计数
for(int i=0;i<20;i++)
flag[i]=0;} void init()//初始化每种飞机票
{
cout<<“请输入终点站名:”;
cin>>name;
cout<<“请输入航班号:”;
cin>>number;
cout<<“请输入飞机号:”;
cin>>Number;
cout<<“请输入星期几飞行:”;
cin>>week;
cout<<“请输入航班的日期:”;
cin>>day;} ~Plane(){};//析构函数 char *getname(){return name;}//获得终点站名
int getnumber(){return number;}//获得航班号
int getNumber(){return Number;}//获得飞机号
int getweek(){return week;}//获得星期几飞行
int getday(){return day;}//获得日期
int getleft(){return left;}//获得余票额
int getn(){return n;}//获得旅客数目
void inleft(int n){left=left+n;}//余票额增加函数
void deleft(int n){left=left-n;}//余票额减少函数
void inn(){n++;}//旅客数目增加函数 };Plane pl[N];int showmenu();//菜单函数 void start();//初始化函数 void query();//查询函数 void make();//订票函数 void back();//退票函数 int main(){ cout<<“这是民航售票处的计算机系统程序”< int choice; choice=showmenu(); switch(choice) { case 1:query();break; case 2:make();break; case 3:back();break; case 0:return 0; default:cout<<“你敲错了!n”; } } return 0;} int showmenu(){ int ch;cout< pl[i].init(); cout< if(strcmp(name,pl[i].getname())==0) { num++; cout<<“航班号:”< cout<<“飞机号:”< cout<<“星期:”< cout<<“航班日期:”< cout<<“余票额:”< break; } if(num==0) cout<<“没有此航班”< if(number==pl[i].getnumber()) { num++; if(n<=pl[i].getleft()) { cout<<“此航班有票”< pl[i].deleft(n); pl[i].inn(); pl[i].flag[pl[i].getn()]=1; for(i=0;i { cout<<“座位号”; cin>>sitnumber; } } else { cout<<“余票额少于订票额,请重新输入订票数额,”<<“订票数额应该少于或等于”< cin>>nu; if(nu<=pl[i].getleft()) { cout<<“此航班有票”< pl[i].deleft(nu); pl[i].inn(); pl[i].flag[pl[i].getn()]=1; for(i=0;i { cout<<“座位号”; cin>>sitnumber; } } else { cout<<“是否需要预约”< cout<<“是(1) 否(2)”< cin>>ch; switch(ch) { case 1:pl[i].inn();pl[i].flag[pl[i].getn()]=-1;break; case 2:break; default:cout<<“你敲错了!”< } } } } if(num==0) cout<<“没有此航班”< cout<<“请输入日期:”;cin>>day;cout<<“请输入航班:”;cin>>number;for(int i=0;i if((day==pl[i].getday())&&(number==pl[i].getnumber()))//日期与航班是否满足 { num++;//日期与航班满足 cout<<“输入退票数目”; cin>>n; cout<<“退票成功”< pl[i].inleft(n);//该种飞机票增加,即已退票 for(int j=0;j<=pl[i].getn();j++)//顺序查询客户订票状态 { if(pl[i].flag[j]==-1)//客户是否为预定状态 { cout<<“有预约订票,请输入订票数额:”; cin>>nu; if(nu<=pl[i].getleft())//余票额是否满足要求 { cout<<“此航班有票”< pl[i].flag[j]=1; cout<<“订票成功”< pl[i].deleft(nu); for(int k=0;k { } cout<<“座位号”<<“ ”; cin>>sitnumber; } cout<<“余票额为”< } } else cout<<“没有预约订票!”<<“余票额为”< 教职工信息管理系统源码 #include #define maxsize 100 fstream iofile;//文件指针 class Time //时间类 { public: int year; int month; int day;}; class Telem //个人信息 { public: char name[20]; char sex[10]; Time birthtime;//组合Time类 char num[20]; char wage[20]; Time worktime; int year; char department[20]; friend istream& operator>>(istream& input,Telem& T); friend ostream& operator<<(ostream& output,Telem& T); friend int operator-(Time & t1,Time & t2);}; class People:virtual public Telem //雇员类 { public: People(); virtual void AddF()=0;//添加 virtual void Addall()=0; virtual void Add()=0; virtual void Display();//输出数组的内容 virtual void Displaypart(char p[]); virtual void Findname(char n[]); virtual void Findyear(int); virtual void Del(char n[])=0; virtual void Del(int);protected: Telem data[maxsize]; Time now; int length;}; class Teacher:virtual public People //派生虚基类 { public: virtual void AddF(); virtual void Addall(); virtual void Add(); virtual void Display(); virtual void Del(int i); virtual void Del(char n[]);}; class worker:virtual public People //派生虚基类 { public: virtual void AddF(); virtual void Addall(); virtual void Add(); virtual void Display(); virtual void Del(int i); virtual void Del(char n[]);}; People::People()//系统自动生成的构造函数 { length=0; now.year=2010; now.month=7; now.day=6;} void People::Display()//引用 { int i; for(i=0;i cout< void People::Displaypart(char p[])//引用数组 { int i,c; for(i=0;i if(strcmp(data[i].wage,p)==0) { cout<<“输出选择姓名1 性别2 编号3 工资4 出生日期5 工作时间6 年龄7 系别8 退出选择9”< while(cin>>c) { switch(c) { case 1: cout<<“姓名:”< case 2: cout<<“性别:”< case 3: cout<<“编号:”< case 4: cout<<“工资:”< case 5: cout<<“出生日期:”< case 6: cout<<“工作时间:”< case 7: cout<<“年龄:”< case 8: cout<<“系别:”< case 9: goto loop; default:cout<<“操作错误......”< } } loop:; } } void People::Findname(char n[])//引用 { int i; for(i=0;i if(strcmp(data[i].name,n)==0)//对象引用 cout< void People::Findyear(int y){ int i; for(i=0;i if(data[i].year==y) cout< void People::Del(int i){ int j; if(i<1||i>length) cout<<“不存在第”< for(j=i;j data[j-1]=data[j]; length--;} void worker::AddF(){ int flag=0; iofile.open(“worker_information.txt”,ios::in|ios::binary);//文件的打开与关闭 while(iofile.seekg(ios::cur)) { iofile.seekg(length*sizeof(data[length]),ios::beg); iofile.read((char*)&data[length],sizeof(data[length]));//文件的随机访问 length++; if(length==maxsize) { flag=1; goto loop; } } People::Del(length); cout<<“添加人员信息成功......”< loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void worker::Addall(){ char ans; int flag=0; iofile.open(“worker_information.txt”,ios::out|ios::binary); do { cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++; if(length==maxsize) { flag=1; goto loop; } cout<<“contine(Y|N)?”; cin>>ans; }while('y'==ans||'Y'==ans);loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void worker::Add(){ int flag=0; iofile.open(“worker_information.txt”,ios::app|ios::out|ios::binary); if(length==maxsize) { flag=1; goto loop; } cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++; loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void worker::Display(){ cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆工人信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< if(0==length) cout<<“无......”< int i; for(i=0;i cout< int i,j,k; for(i=0;i if(strcmp(data[i].name,n)==0){ k=i+1;break;} if(k<1) cout<<“不存在姓名”< for(j=k;j data[j-1]=data[j]; length--; cout<<“删除人员信息成功......”< void worker::Del(int i){ int j; if(i<1||i>length) cout<<“不存在第”< for(j=i;j data[j-1]=data[j]; length--; cout<<“删除成功......”< } void Teacher::AddF(){ int flag=0; iofile.open(“Teacher_information.txt”,ios::in|ios::binary); while(iofile.seekg(sizeof(data[length]),ios::cur)) { if(iofile.seekg(length*sizeof(data[length]),ios::beg)) iofile.read((char*)&data[length],sizeof(data[length])); else break; length++; if(length==maxsize) { flag=1; goto loop; } } People::Del(length); cout<<“添加人员信息成功......”< if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void Teacher::Addall(){ char ans; int flag=0; iofile.open(“Teacher_information.txt”,ios::in|ios::out|ios::binary); do { cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++; if(length==maxsize) { flag=1; goto loop; } cout<<“contine(Y|N)?”; cin>>ans; }while('y'==ans||'Y'==ans);loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void Teacher::Add(){ int flag=0; iofile.open(“Teacher_information.txt”,ios::app|ios::out|ios::binary); if(length==maxsize) { flag=1; goto loop; } cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++;loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void Teacher::Display(){ cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆教师信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< if(0==length) cout<<“无......”< int i; for(i=0;i cout< void Teacher::Del(char n[]){ int i,j,k; for(i=0;i if(strcmp(data[i].name,n)==0) { k=i+1;break; } if(k<1)cout<<“不存在姓名”< for(j=k;j data[j-1]=data[j]; length--; cout<<“删除人员信息成功......”< void Teacher::Del(int i){ int j; if(i<1||i>length) cout<<“不存在第”< for(j=i;j data[j-1]=data[j]; length--; cout<<“删除成功......”< istream& operator>>(istream& input,Telem& T){ int y,m,d; cout<<“请输入姓名(以*结尾):”< input.getline(T.name,20,'*'); cout<<“请输入性别(以*结尾 男或女):”< input.getline(T.sex,10,'*'); cout<<“编号(以*结尾):”< input.getline(T.num,20,'*'); cout<<“工资(以*结尾):”< input.getline(T.wage,20,'*'); cout<<“请输入出生日期:”< input>>y>>m>>d; T.birthtime.year=(y>=1900&&y<=2100)?y:1900; T.birthtime.month=(m>=1&&m<=12)?m:1; T.birthtime.day=(d>=1&&d<=31)?d:1; cout<<“请输入系别(以*结尾):”< input.getline(T.department,20,'*'); cout<<“参加工作时间:”< input>>y>>m>>d; T.worktime.year=(y>=1900&&y<=2100)?y:1900; T.worktime.month=(m>=1&&m<=12)?m:1; T.worktime.day=(d>=1&&d<=31)?d:1; return input;} ostream& operator<<(ostream& output,Telem& T){ cout<<“姓名:”; output< cout<<“性别:”; output< cout<<“编号:”; output< cout<<“工资:”; output< cout<<“出生日期:”; output< cout<<“系别:”; output< cout<<“参加工作时间:”; output< cout<<“年龄:”; output< return output;} int operator-(Time & t1,Time & t2){ return t1.year-t2.year;} void Showmenu(){ cout< cout<<“ 欢 迎 进 入 教 职 工 信 息 管 理 系 统”< cout<<“ 2010 年7月7日发布”<<“ 版权所有: swa”< cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★人员信息管理系统★ ☆ ★ ☆ ★ ☆ ★ ☆ ★”< cout<<“ ★ 1-从键盘录入全部人员记录 ☆ ”< cout<<“ ☆ 2-增加一位人员记录 ★”< cout<<“ ★ 3-显示全部人员记录 ☆”< cout<<“ ☆ 4-按系别输出人员信息(可选)★ ”< cout<<“ ★ 5-按姓名或年龄检索所有信息☆ ”< cout<<“ ☆ 6-显示菜单目录 ★ ”< cout<<“ ★ 7-结束程序运行 ☆ ”< cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< int main(){ Teacher tea; worker stu; People *pt=&tea; People *ps=&stu; int c=0,k=0,l=0,i=0; char nam[20],part[20];Showmenu(); for(;;) { cout<<“请根据菜单执行相应操作: ”; cin>>c; switch(c) { case 1: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★录入全部人员记录 ★ ☆ ★ ☆ ★ ☆ ★”< cout<<“ ★ ☆ ★ ☆ ★从键盘输入教师信息 ☆ ★ ☆ ★ ☆”< pt->Addall(); cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆从键盘输入工人信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< ps->Addall(); break; } case 2: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆从键盘增加一位人员记录 ★ ☆ ★ ☆ ★ ☆ ★ ☆”< cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆教师操作请按1 工人操作请按2 ★ ☆ ★ ☆ ★ ☆ ★ ☆”< cin>>k; if(1==k) pt->Add(); else if(2==k) ps->Add(); else cout<<“操作错误...”< break; } case 3: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆显示全部人员记录 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< pt->Display(); ps->Display(); break; } case 4: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆按部门输出人员信息(可选)★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< cout<<“ ★ ☆ ★ ☆ ★ ☆教师操作请按1 工人操作请按2 ★ ☆ ★ ☆ ★ ☆”< cin>>k; if(1==k) { cout<<“请输入要输出人员的系别(以*结尾):”< pt->Displaypart(part); } else if(2==k) { cout<<“请输入要输出人员的系别(以*结尾):”< ps->Displaypart(part); } else cout<<“操作错误......”< break; } case 5: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★按姓名或年龄检索所有信息 ★ ☆ ★ ☆ ★ ☆ ★”< cout<<“ ★ ☆ ★ ☆ ★ ☆ ★按姓名查找1 按年龄查找2 ★ ☆ ★ ☆ ★ ☆ ★”< cin>>k; if(1==k) { cout<<“按姓名查找1 按年龄查找2”< if(1==l) { cout<<“请输入要查找人员的姓名(以*结尾):”< pt->Findname(nam); } else if(2==l) { cout<<“请输入要查找人的年龄:”< pt->Findyear(i); } else cout<<“操作错误......”< } else if(2==k) { cout<<“按姓名查找1 按年龄查找2”< if(1==l) { cout<<“请输入要查找人员的姓名(以*结尾):”< ps->Findname(nam); } else if(2==l) { cout<<“请输入要查找人的年龄:”< ps->Findyear(i); } else cout<<“操作错误......”< } else cout<<“操作错误......”< break; } case 6: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆显示菜单目录 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< Showmenu(); break; } case 7: { cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆结束程序运行 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< exit(0); } default:cout<<“操作错误......”< } } return 0;} #include string name;};class Student:public Person { public: Student(string n,int num,string ss):Person(n),number(num),address(add),str1(ss){} virtual void show(); void input_stu(); void display_stu(); void display_qu(); ~Student(){} protected: string str1; int number; string address;};void Student::show(){ cout<<“向老师提出的问题是:”;cin>>str1;} void Student::display_qu(){ cout< void Student::input_stu(){ cin>>Student::name;cin>>Student::number;cin>>Student::address;} void Student::display_stu(){ add,string cout<<“姓名:”< Teacher(string n,string sub,string sdf):Person(n),subject(sub),str2(sdf){} virtual void show(); void input_t(); void display_t(); void display_an(); ~Teacher(){} protected: string subject; string str2;};void Teacher::display_an(){ cout< void Teacher::show(){ cout<<“我的回答是:”;cin>>str2;} void Teacher::input_t(){ cin>>Teacher::name;cin>>Teacher::subject;} void Teacher::display_t(){ cout<<“姓名:”< Admin(string n,int tel,string ssfs):Person(n),telphone(tel),str3(ssfs){} virtual void show(); void input_ad(); void display_ad(); void display_gg(); ~Admin(){} protected: int telphone; string str3;};void Admin::display_gg(){ cout<<“公告:”;cout< void Admin::show(){ cout<<“公告是:”;cin>>str3;} void Admin::input_ad(){ cin>>Admin::name;cin>>Admin::telphone;} void Admin::display_ad(){ cout<<“姓名是:”< int main(){ int z,h,m;z=0;h=0;m=0; Student stu(“guochun”,20150311,“qlu”,“sdss”); Teacher tea(“cuiyu”,“math”,“dsdf”); Admin ad(“steve jobs”,178641,“sdfs”); while(1) { int x; cout<<“*******************”< cout<<“1.学生”<第二篇:C++课程设计 教职工信息管理系统源代码
第三篇:c++课程设计:教务管理系统源代码