小型公司管理系统C++课程设计(含源代码).doc
《小型公司管理系统C++课程设计(含源代码).doc》由会员分享,可在线阅读,更多相关《小型公司管理系统C++课程设计(含源代码).doc(39页珍藏版)》请在咨信网上搜索。
C++程序设计课程设计报告 课 题: 小型公司工资管理系统 专业班级: 学 号: 姓 名: 指导教师: 评阅意见: 评定成绩: 指导老师签名: 年 月 日 目录 1.设计系统的目的意义…………………………………………第1页 2.系统需求、功能分析…………………………………………第2页 3. 数据结构表……………………………………………………第3页 4。 数据测试表……………………………………………………第5页 5. 运行和调试……………………………………………………第7页 6. 课程心得体会…………………………………………………第16页 参考书目…………………………………………………………第17页 附录………………………………………………………………第18页 课程设计报告内容: 1、设计系统的目的意义 本次课程设计所编辑的C++程序是为了建立“小型公司工资管理系统”. 通过对该系统的建立进一步掌握面向过程和面面相对象程序的设计的几本方法和编程技巧,巩固所学理论知识,是理论与实践相结合,提高分析问题、解决问题的能力。 具体一点主要是为了进一步熟悉C++中类的概念、类的继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程;逐步熟悉程序设计的方法,并养成良好的编程习惯。 2、系统需求、功能分析 A、公司主要有四类雇员:经理、技术人员、销售人员、销售经理。要求储存雇员的编号、姓名、性别、所在部门、级别等信息,并进行工资计算. B、工资的计算方法 (1)经理:领取固定月薪,固定月薪5000元; (2)技术人员:按小时领取月薪,工作时间*小时工资(80元/小时); (3)销售人员:按巩固销售额领取月薪,0。33*销售额; (4) 销售经理:既拿固定月薪也领取销售提成,0。33*销售额+固定月薪(5000元)。 C、功能分析 (1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 (2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息; (3)显示功能:可显示当前系统中所有记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 (5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存. (6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息. (7)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。 (8) 退出功能:退出程序. 3、数据结构表 1.添加功能 2.查询功能 3.显示功能 4.查询功能 5.删除功能 打开程序 6.统计功能 ﻩ7.读取功能 8.退出功能 雇员 经理 技术人员 销售人员 销售经理 4、数据测试表 添加后的数据: 编号 姓名 性别 部门 等级 工资 1 张三 男 经理 A 5000元 2 李四 男 经理 A 5000元 3 王五 男 经理 A 5000元 4 李白 男 技术 B 4320元 5 杜甫 男 技术 B 3440元 6 洋洋 女 销售 C 2525元 7 丽丽 女 销售 C 2159元 8 武凯旋 男 销售 D 7525元 9 刘玲 女 销售 D 7159元 编辑后的数据: 编号 姓名 性别 部门 等级 工资 1 张三 男 经理 A 5000元 2 李四 男 经理 A 5000元 3 王五 男 经理 A 5000元 4 李白 男 技术 B 4320元 5 杜甫 男 技术 B 3440元 6 洋洋 女 销售 C 2525元 7 丽丽 女 销售 C 2159元 8 武凯旋 男 销售 D 7525元 9 李平 男 销售 D 7159元 按编号删除后的数据: 编号 姓名 性别 部门 等级 工资 2 李四 男 经理 A 5000元 3 王五 男 经理 A 5000元 4 李白 男 技术 B 4320元 5 杜甫 男 技术 B 3440元 6 洋洋 女 销售 C 2525元 7 丽丽 女 销售 C 2159元 8 武凯旋 男 销售 D 7525元 9 李平 男 销售 D 7159元 按姓名删除后的数据: 编号 姓名 性别 部门 等级 工资 2 李四 男 经理 A 5000元 3 王五 男 经理 A 5000元 5 杜甫 男 技术 B 3440元 6 洋洋 女 销售 C 2525元 7 丽丽 女 销售 C 2159元 8 武凯旋 男 销售 D 7525元 9 李平 男 销售 D 7159元 5、运行和调试 (1)添加功能 说明:输入1,选择添加功能 说明:输入1,选择添加经理 说明:输入2,添加技术人员 说明:输入3,添加销售人员 说明:输入4,添加销售经理 (2)查询功能 说明:输入2,选择查询功能 说明:输入1,编号查询 说明:输入2,姓名查询 (3)显示功能 说明:输入3,选择显示功能 (4)编辑功能 说明:输入4,选择编辑功能 说明:编辑后读取数据 (5)删除功能 说明:输入5,选择删除功能 说明:输入1,编号删除 说明:输入2,姓名删除 (6)统计功能 说明:输入6,选择统计功能 (7)读取功能 说明:输入7,选择读取功能 (8)退出功能 说明:输入8,选择退出功能 6、课程设计的心得 通过这次课程设计,加深了对类与派生的理解.类与派生类之间的关系,通过上机实践得到了进一步的深化。从数据成员的继承到派生类对象对基类成员函数的调用。 对于类的保护成员只能被本身的成员函数使用,而不能直接从类外通过对象直接调用,所以如果想单独调用对象内的被保护的数据成员或私有的数据成员时,应该通过友元函数来实现。 在编辑程序是应该多敲回车将花括号单列一行,一行只写一条语句如此可使程序看起来非常有层次感,检查错误的时候也会非常方便,最大可能的减轻了单个花括号不易检查的问题的难度。解决花括号不配对问题更好的方法是将程序分装打包成函数,放于主函数外,不过要注意定义在调用前的话,可以直接进行函数的调用,否则要先声明该函数,然后才能调用该函数。 虽然有了一年的上机课,但在课程设计这一段时间,使我收获了很多在上机课上无法学习到的知识,尤其是C++的流类库与输入输出。因为这一部分知识的不熟练,在程序设计过程中遇到了不少困难,但通过老师的指导和一次又一次的改写、调试,将这些困难都解决了,心中的喜悦感油然而生。 为了能使程序更加的完善,我也利用了不少的课余时间,查找了各方面的资料,当看到程序从一个头文件名到一个900多行的程序,到最后的成功运行,感觉自己这段时间的付出是非常值得的,也使我对C++产生了更浓厚的兴趣,对自己的学习以及将来的工作都是有很大的帮助的。 整个实习过程让我的C++知识得到了应用,体验了程序员编程时的喜怒哀乐,知识、心智,得到全方位提升,收获颇丰. 参考书目 [1]林小茶、陈维兴,《C++面向对象课程设计教程》,清华大学出版社,2009年 [2]谭浩强,《C语言程序设计》,清华大学出版社,2008年 附录 #include<iostream〉 #include〈string> #include<fstream〉 #include<stdlib.h〉 using namespace std; class employee //雇员类 { protected: ﻩint number; //编号 ﻩchar name[10]; //姓名 char sex[3]; //性别 char department[20]; //部门 char grade; //级别 ﻩint pay; //工资 ﻩemployee *next; public: ﻩfriend istream &operator〉〉(istream &input,employee &ob) //运算符”〉〉"重载为友元函数 ﻩ{ ﻩﻩinput〉>ob。name〉>ob。sex〉>ob。department; ﻩ return input; ﻩ} ﻩfriend ostream &operator〈〈(ostream &output,employee &ob) //运算符”<〈”重载为友元函数 ﻩ{ ﻩﻩoutput<<ob.number〈〈’\t’<〈ob。name<〈'\t’<<ob。sex<〈’\t'〈〈ob。department〈<’\t’〈〈ob。grade〈<'\t’<<ob。pay〈<endl; ﻩﻩreturn output; ﻩ} ﻩfriend void tianjia();//添加功能 friend void chaxun_number(); ﻩfriend void chaxun_name(); ﻩfriend void chaxun();//查询功能 ﻩfriend void xianshi();//显示功能 ﻩfriend void bianji();//编辑功能 ﻩfriend void shanchu_number(); ﻩfriend void shanchu_name(); ﻩfriend void shanchu();//删除功能 ﻩfriend void tongji();//统计功能 ﻩfriend void duqu();//读取功能 ﻩfriend int getnumber();//获取编号 }; class manager:virtual public employee//经理类 固定工资 { public: ﻩvoid get() ﻩ{ ﻩ grade=’A’; ﻩﻩpay=5000; ﻩnumber=getnumber(); ﻩ} }; void tianjia_manager()//经理数据添加 { ﻩwhile(1) { ﻩﻩofstream ofs("d:\\file1.txt",ios::app); ﻩﻩmanager ma; ﻩﻩchar gra,ch; ﻩ cout〈〈”请根据提示依次输入该经理的姓名,性别,部门,并按下回车确认完成输入:"<<endl; ﻩﻩcin>>ma; ﻩﻩma.get(); ﻩﻩgra=’A’; ﻩﻩofs。write((char*)&gra,sizeof(char)); ﻩﻩofs.write((char*)&ma,sizeof(manager)); ﻩﻩofs.close(); ﻩﻩcout〈〈"是否还要添加数据:?Y OR N:\n”; ﻩﻩcin>〉ch; ﻩif(ch==’Y') ﻩﻩﻩcontinue; ﻩﻩelse ﻩ ﻩcout<<”添加成功!”〈〈endl; ﻩﻩsystem(”pause"); ﻩﻩbreak; ﻩ} } class artisan:public employee//技术人员类 按小时领月薪 { public: ﻩvoid get() ﻩ{ ﻩﻩint per,hour; ﻩcout<<”请输入工作时间,按回车键完成输入:”〈<endl; ﻩﻩcin〉>hour; ﻩﻩper=80; //每小时工资80 ﻩﻩgrade='B’; ﻩﻩpay=per*hour; ﻩﻩnumber=getnumber(); ﻩ} }; void tianjia_artisan()//技术人员数据添加 { ﻩwhile(1) ﻩ{ ﻩﻩofstream ofs(”d:\\file1。txt”,ios::app); ﻩ artisan ar; ﻩﻩchar gra,ch; ﻩﻩcout<〈"请根据提示依次输入该技术人员的姓名,性别,部门,并按下回车确认完成输入:"<〈endl; ﻩﻩcin>>ar; ﻩﻩar。get(); ﻩﻩgra=’B’; ﻩ ofs。write((char*)&gra,sizeof(char)); ﻩﻩofs.write((char*)&ar,sizeof(artisan)); ﻩﻩofs.close(); ﻩﻩcout〈<”是否还要添加数据:?Y OR N:\n”; ﻩﻩcin〉〉ch; ﻩ if(ch==’Y’) ﻩ ﻩcontinue; ﻩﻩelse ﻩﻩﻩcout<<”添加成功!”〈<endl; ﻩ system(”pause”); ﻩﻩbreak; ﻩ} } class salesman:virtual public employee//销售人员类 当月销售提成 { public: void get() ﻩ{ ﻩﻩint score; ﻩﻩcout〈<”请输入员工当月销售额,按回车键完成输入:”; ﻩﻩcin>〉score; grade=’C'; ﻩﻩpay=0.33*score; ﻩﻩnumber=getnumber(); ﻩ} }; void tianjia_salesman()//销售人员数据添加 { ﻩwhile(1) ﻩ{ ﻩﻩofstream ofs(”d:\\file1。txt",ios::app); ﻩsalesman sa; ﻩﻩchar gra,ch; ﻩcout〈<"请根据提示依次输入该销售人员的姓名,性别,部门,并按下回车确认完成输入:”〈〈endl; ﻩﻩcin〉〉sa; sa.get(); ﻩﻩgra='C’; ﻩﻩofs。write((char*)&gra,sizeof(char)); ﻩﻩofs.write((char*)&sa,sizeof(salesman)); ﻩﻩofs.close(); ﻩﻩcout〈〈”是否还要添加数据:?Y OR N:\n”; ﻩ cin〉>ch; ﻩif(ch=='Y’) ﻩ ﻩcontinue; ﻩelse ﻩﻩﻩcout〈〈"添加成功!”<〈endl; ﻩﻩsystem("pause”); ﻩﻩbreak; ﻩ} } class sales_manager:public manager,public salesman//销售经理类 当月销售提成+固定工资 { public: ﻩvoid get() ﻩ{ ﻩ int score; ﻩﻩcout〈〈"请输入员工当月销售额,按回车键完成输入:”; ﻩﻩcin〉>score; ﻩgrade='D'; ﻩﻩpay=0.33*score+5000; ﻩﻩnumber=getnumber(); ﻩ} }; void tianjia_sales_manager()//销售经理数据添加 { ﻩwhile(1) ﻩ{ ﻩ ofstream ofs(”d:\\file1。txt",ios::app); ﻩﻩsales_manager sam; ﻩﻩchar gra,ch; ﻩﻩcout<<"请根据提示依次输入该销售经理的姓名,性别,部门,并按下回车确认完成输入:”〈〈endl; ﻩﻩcin>>sam; ﻩﻩsam。get(); ﻩﻩgra=’D'; ﻩﻩofs。write((char*)&gra,sizeof(char)); ﻩofs。write((char*)&sam,sizeof(sales_manager)); ﻩﻩofs.close(); ﻩcout〈〈”是否还要添加数据:?Y OR N:\n”; ﻩﻩcin>〉ch; ﻩﻩif(ch=='Y') ﻩﻩﻩcontinue; ﻩﻩelse ﻩﻩﻩcout<<”添加成功!"〈<endl; ﻩﻩsystem("pause"); ﻩbreak; ﻩ} } int getnumber() { ﻩifstream ifs(”d:\\file1。txt”); ﻩchar gra; ﻩint n,max=0; ﻩifs。read((char*)&gra,1); ﻩwhile(!ifs。eof()) ﻩ{ ﻩﻩif(gra==’A’) ﻩﻩ{ ﻩﻩ manager ma; ﻩﻩﻩifs。read((char*)&ma,sizeof(manager)); ﻩ ﻩn=ma.number; ﻩﻩ} ﻩﻩelse if(gra=='B’) ﻩ { ﻩﻩﻩartisan ar; ﻩ ifs。read((char*)&ar,sizeof(artisan)); ﻩ ﻩn=ar。number; ﻩﻩ} ﻩﻩelse if(gra=='C') ﻩﻩ{ ﻩ ﻩsalesman sa; ﻩ ﻩifs。read((char*)&sa,sizeof(salesman)); ﻩ ﻩn=sa。number;} ﻩﻩelse if(gra==’D’) ﻩﻩ{ ﻩﻩﻩsales_manager sam; ﻩﻩifs.read((char*)&sam,sizeof(sales_manager)); ﻩﻩ n=sam.number; ﻩﻩ} ﻩﻩif(max<n) max=n; ﻩﻩifs.read((char*)&gra,1); ﻩ} ﻩifs。close(); ﻩreturn max+1; } void tianjia()//添加功能函数定义 { ﻩsystem("cls"); ﻩcout〈<”\t\t-———————-————-—————-——--——-—--—-—--————-—-—------—————--”<〈endl; ﻩcout<<"\t\t|-——-—--—-———----—小型公司工资管理系统-—-——---—-——-—---|"<<endl; ﻩcout<<"\t\t|-———------———-—-—--—1.经理数据添加——-----—--——--————--|”<〈endl; ﻩcout<〈”\t\t|----——-—-—-———-—----2.技术人员添加-———---—---—-—————-—|”<<endl; ﻩcout〈〈”\t\t|—-———-----——--———-——3。销售人员添加—-—-—-—-—---—-—-----|”<〈endl; cout〈〈"\t\t|—————---—----—-—-—-—4.销售经理添加---—---—----——---—--|"〈<endl; cout<<”\t\t|———-—--———--——--—--—5.返回上一层---—--——--————-—-—-—--|"<<endl; ﻩcout<<"\t\t—-——-—-———--—--—-——---—----———-———-—-————----——----—-——-”〈<endl; ﻩcout〈〈”请输入1—5选择相应添加:"; ﻩint se; ﻩcin〉>se; ﻩswitch(se) ﻩ{ ﻩcase 1:tianjia_manager(); break; ﻩcase 2:tianjia_artisan(); break; ﻩcase 3:tianjia_salesman();break; ﻩcase 4:tianjia_sales_manager();break; ﻩcase 5:return; ﻩ} } void chaxun_number() { ﻩint nu; ﻩcout<〈"请输入编号:"<<endl; ﻩcin〉>nu; ﻩifstream ifs("d:\\file1.txt"); ﻩif(!ifs) ﻩ{ ﻩﻩcout〈〈”文件打开失败!"; ﻩﻩsystem("pause”); ﻩﻩreturn; } ﻩchar gra; ﻩint flag=0; ﻩifs.read((char*)&gra,1); ﻩwhile(!ifs.eof()) ﻩ{ ﻩﻩif(gra==’A’) ﻩﻩ{ ﻩﻩﻩmanager ma; ﻩﻩ ifs.read((char*)&ma,sizeof(manager)); ﻩﻩ if(ma.number==nu) ﻩﻩﻩ{ ﻩﻩ ﻩcout〈〈"编号"〈<’\t'〈<”姓名”<<’\t'〈<"性别"〈〈’\t'<<”部门"〈<'\t'〈<"级别”〈<’\t’〈〈”工资"<<endl; ﻩﻩ ﻩcout〈<ma; ﻩﻩﻩflag=1; ﻩﻩﻩ} ﻩﻩ} ﻩelse if(gra==’B') ﻩﻩ{ ﻩ artisan ar; ﻩﻩﻩifs.read((char*)&ar,sizeof(artisan)); ﻩﻩﻩif(ar。number==nu) ﻩﻩﻩ{ ﻩﻩ ﻩcout<〈”编号”〈〈’\t’〈<”姓名"〈〈’\t'〈<"性别"〈<'\t'<〈”部门”〈<’\t’<〈"级别”<<'\t'〈〈"工资”〈〈endl; ﻩﻩﻩcout〈<ar; ﻩﻩﻩﻩflag=1; ﻩﻩﻩ} ﻩﻩ} ﻩﻩelse if(gra==’C') ﻩﻩ{ ﻩﻩﻩsalesman sa; ﻩﻩﻩifs.read((char*)&sa,sizeof(salesman)); ﻩﻩﻩif(sa.number==nu) ﻩﻩ { ﻩﻩﻩcout〈<”编号"〈<’\t'<<”姓名"<<’\t'〈<”性别”<<'\t'〈〈”部门"〈〈’\t'〈〈”级别”〈〈'\t’〈<”工资”<〈endl; ﻩﻩﻩﻩcout<〈sa; ﻩ ﻩflag=1; ﻩﻩ} ﻩﻩ} ﻩﻩelse if(gra=='D’) ﻩﻩ{ ﻩ ﻩsales_manager sam; ﻩﻩﻩifs.read((char*)&sam,sizeof(sales_manager)); ﻩﻩﻩif(sam。number==nu) ﻩﻩﻩ{ ﻩﻩﻩcout<〈"编号"〈〈’\t'<〈"姓名"〈〈’\t'〈〈"性别"<<'\t’<<”部门"〈〈'\t’〈<”级别"〈〈’\t’<<"工资"〈<endl; ﻩﻩﻩﻩcout<<sam; ﻩﻩ flag=1; ﻩ ﻩ} ﻩ } ﻩﻩifs.read((char*)&gra,1); ﻩ} ﻩif(!flag) ﻩﻩcout〈〈”没有找到要查询的编号"<〈endl; ﻩifs。close(); ﻩsystem(”pause"); } void chaxun_name() { ﻩchar na[10]; ﻩcout〈〈"请输入姓名:"<〈endl; ﻩcin>〉na; ﻩifstream ifs("d:\\file1。txt”); ﻩif(!ifs) ﻩ{ ﻩﻩcout<〈”文件打开失败!”; ﻩﻩsystem("pause"); ﻩﻩreturn; ﻩ} char gra; ﻩint flag=0; ifs.read((char*)&gra,1); ﻩwhile(!ifs。eof()) ﻩ{ ﻩ if(gra=='A’) ﻩ{ ﻩﻩﻩmanager ma; ﻩﻩﻩifs。read((char*)&ma,sizeof(manager)); ﻩﻩﻩif(strcmp(ma。name,na)==0) ﻩ ﻩ{ ﻩﻩﻩcout<〈”编号"〈<’\t’<<”姓名”〈〈'\t’〈<"性别"〈〈'\t’<〈"部门"〈<’\t'〈〈”级别”<<’\t'〈<”工资"〈<endl; ﻩ ﻩﻩcout<<ma; ﻩﻩﻩﻩflag=1; ﻩﻩﻩ} } ﻩelse if(gra=='B’) ﻩﻩ{ ﻩﻩ artisan ar; ﻩﻩﻩifs。read((char*)&ar,sizeof(artisan)); ﻩﻩ if(strcmp(ar.name,na)==0) ﻩﻩﻩ{ ﻩﻩ ﻩcout〈〈”编号"〈<’\t'〈<”姓名"<<'\t'<〈”性别”<〈'\t'〈〈”部门"<<'\t'<<"级别”<<'\t'〈<”工资"〈<endl; ﻩﻩﻩﻩcout〈〈ar; ﻩﻩ ﻩflag=1; ﻩ} ﻩﻩ} else if(gra==’C’) ﻩﻩ{ ﻩ ﻩsalesman sa; ﻩﻩﻩifs.read((char*)&sa,sizeof(salesman)); ﻩﻩﻩif(strcmp(sa.name,na)==0) ﻩﻩﻩ{ ﻩﻩﻩcout〈〈”编号"<〈'\t’〈〈”姓名"〈<’\t'〈<"性别”〈〈’\t'〈〈”部门"〈〈'\t’〈〈”级别"<<’\t’〈<”工资”<<endl; ﻩﻩﻩcout<<sa; ﻩﻩﻩﻩflag=1; ﻩﻩﻩ} ﻩﻩ} ﻩﻩelse if(gra=='D') ﻩ{ ﻩﻩﻩsales_manager sam; ﻩﻩﻩifs。read((char*)&sam,sizeof(sales_manager)); ﻩﻩif(strcmp(sam.name,na)==0) ﻩﻩﻩ{ ﻩﻩﻩﻩcout<〈"编号"<〈’\t'〈〈"姓名”<<'\t'<<”性别”<〈'\t'<<”部门"〈〈’\t’<<"级别"〈<'\t'<〈"工资”〈<endl; ﻩﻩﻩﻩcout<<sam; ﻩﻩﻩflag=1; ﻩﻩ } ﻩ } ﻩ ifs。read((char*)&gra,1); } ﻩif(!flag) ﻩﻩcout<<"没有找到要查询的姓名”<〈endl; ﻩifs。close(); system("pause"); } void chaxun()//查询功能函数定义 { ﻩsystem("cls"); ﻩcout<<”\t\t———-———--————-—-—----—————-——-————--————-—---——---——"<<endl; ﻩcout<〈”\t\t|---------—-—-—-小型公司工资管理系统---—-———-—---——|”〈〈endl; ﻩcout<〈"\t\t|—-——-—-—---———---—-—1.编号查找——-——-—--—-———------|”〈〈endl; ﻩcout<〈"\t\t|———-————-———-—-——---2。姓名查找-—--——----——-——-————|”〈<endl; cout<<”\t\t|-----—-——--———-—-——-3。返回上层-—---—--———-——--——-—|"〈〈endl; ﻩcout<〈”\t\t----——-—--—-—--—----———-————--———----———--------—--—”〈〈endl; ﻩcout〈<"请输入1-3选择相应查询:"; int se; ﻩcin>〉se; switch(se) { case 1: chaxun_number(); break; case 2: chaxun_name();break; case 3:return; } } void xianshi()//显示功能函数定义 { ﻩsystem("cls"); ﻩcout〈<”\t\t-———--—-—--————-——-———-—---———-——-————--—-—--—-———--"〈<endl; ﻩcout〈〈”\t\t|-———-—------———小型公司工资管理系统—-——---—-—----—|”<<endl; cout<<"\t\t|-——-———--—-————-——-—1.添加功能--—--------——--—-——-|"<〈endl; ﻩcout〈<”\t\t|-———---—————----———-2。查询功能——-———--———-——---———|”〈<endl; ﻩcout〈〈”\t\t|--——-—-—--—--—-——-——3。显示功能--—--—-——--——---—-—-|”〈<endl; ﻩcout〈<"\t\t|--——-—-——-----——-——-4.编辑功能----—--——--------—-—|”<〈endl; ﻩcout<〈”\t\t|—--———--—--——-——————5.删除功能--—--——-—--———--——--|"<<endl; ﻩcout<〈"\t\t|——-—----——-—-—---—-—6.统计功能—————-—-—-—---——----|”〈<endl; ﻩcout<〈”\t\t|---—---—----——-—-—--7.读取功能———--—--———-—--—--——|”<<endl; ﻩcout<<"\t\t|—-————--—-——---——-——8。退出功能-—-—--———---—---—-—-|"〈<endl; cout〈〈”\t\t---——-—--——---——----—————-—-—--—-———-———---——-—----—"〈〈endl; cout〈<"请输入1-8选择相应功能:”; ﻩint se; ﻩcin〉〉se; ﻩwhile(se〉8||se<1) ﻩ{ ﻩﻩcout<〈"输入数据无效,请重新输入:"; ﻩﻩcin>〉se; ﻩ} cout〈<endl; ﻩswitch(se) ﻩ{ ﻩcase 1:tianjia();break; ﻩcase 2:chaxun();break; ﻩcase 3:xianshi();break; ﻩcase 4:bianji();break; ﻩcase 5:shanchu();break; ﻩcase 6:tongji();break; ﻩcase 7:duqu();break; ﻩcase 8:exit(0); ﻩ} } void bianji()//编辑功能函数定义 { ﻩchar na[10]; int z=0; cout<<”请输入需编辑者的姓名:"<〈endl; ﻩcin>〉na; ﻩfstream mystream("d:\\file1。txt",ios::in|ios::out); ﻩif(!mystream) ﻩ{ ﻩcout<<"文件打开失败!"; ﻩﻩsystem(”pause"); ﻩreturn; } ﻩchar gra; ﻩint flag=0; ﻩmystream。read((char*)&gra,1); ﻩwhile(!mystream.eof()) ﻩ{ ﻩﻩif(gra==’A’) ﻩ { ﻩﻩﻩmanager ma; ﻩﻩﻩmystream。read((char*)&ma,sizeof(manager)); ﻩ ﻩif(strcmp(ma。name,na)==0) ﻩ ﻩ{ ﻩﻩﻩ cout〈〈ma; ﻩﻩ ﻩcout〈〈”请根据提示依次输入该经理的姓名,性别,部门,并按下回车确认完成输入:”〈<endl; ﻩ ﻩﻩcin〉〉ma; ﻩﻩ mystream。seekp(—sizeof(manager),ios::cur); ﻩﻩﻩﻩmystream。write((char*)&ma,sizeof(manager)); ﻩﻩ ﻩflag=1; ﻩﻩﻩﻩmystream.seekg(sizeof(manager),ios::cur); ﻩﻩﻩ} ﻩﻩ} ﻩﻩelse if(gra=='B’) ﻩﻩ{ ﻩﻩﻩartisan ar; ﻩﻩ mystream。read((char*)&ar,sizeof(artisan)); ﻩﻩﻩif(strcmp(ar.name,na)==0) ﻩﻩﻩ{ ﻩﻩﻩﻩcout〈<ar; ﻩﻩﻩ cout<〈"请根据提示依次输入该技术人员的姓名,性别,部门,并按下回车确认完成输入:”〈<endl; ﻩﻩﻩﻩcin>>ar; ﻩﻩﻩmystream。seekp(-sizeof(artisan),ios::cur); ﻩﻩﻩﻩmystream。write((char*)&ar,sizeof(artisan)); ﻩﻩﻩﻩflag=1; ﻩﻩ ﻩmystream.seekg(sizeof(artisan),ios::cur); ﻩﻩﻩ} ﻩ } ﻩﻩelse if(gra=='C’) ﻩﻩ{ ﻩ ﻩsalesman sa; ﻩﻩﻩmystream。read((char*)&sa,sizeof(salesman)); ﻩ ﻩif(strcmp(sa。name,na)==0) ﻩﻩﻩ{ ﻩﻩﻩﻩcout<〈sa; ﻩﻩﻩ cout〈〈”请根据提示依次输入该销售人员的姓名,性别,部门,并按下回车确认完成输入:"<<endl; ﻩ ﻩcin〉〉sa; ﻩﻩﻩﻩmystream.seekp(-sizeof(salesman),ios::cur); ﻩﻩﻩﻩmystream。write((char*)&sa,sizeof(salesman)); ﻩﻩﻩﻩflag=1; ﻩﻩﻩﻩmystream。seekg(sizeof(salesman),ios::cur); ﻩ ﻩ} ﻩ } ﻩ else if(gra=='D’) ﻩﻩ{ ﻩﻩﻩsales_manager sam; ﻩﻩﻩmystream.read((char*)&sam,sizeof(sales_manager)); ﻩﻩﻩif(s- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 公司 管理 系统 C+ 课程设计 源代码
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文