您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 个人信息管理系统C++
1面向对象课程设计报告个人管理系统姓名:彭博班级:091141学号:09114118专业:网络工程指导教师:邹国华12目录1、实验题目…………………………………………………………32、实验时间、地点…………………………………………………33、实验目的…………………………………………………………34、实验要求…………………………………………………………35、实现过程…………………………………………………………76、心得体会…………………………………………………………1623一、实验题目:个人管理系统二、实验时间及地点:时间:第十四周(周一至周四)地点:软件楼505室。三、实验目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。四、实验要求:1、使用面向对象方法进行课程设计。要求使用对象/类,继承,多态性等技术2、独立完成课程设计,并完成课程设计报告报告记录设计的过程,尤其是分析/设计/实现过程中的决策课程设计报告的内容应当包括以下内容:声称要完成的功能设计的具体描述完整的实现设计的源代码执行的结果的典型记录设计的优点和需要进一步改进的地方软件的主要结构包括:用户登录,数据的录入、查询、删除、修改、统计等功能。根据结合自己的实际情况,酌情选择相关的功能,并完成设计。五、实现过程:(1)登陆界面:34(1)主界面:(2)录入功能:45(3)修改:(4)删除:56(5)查询:(6)保存:67(7)退出:代码:#includestring#includeiostream#includefstream#includeiomanipusingnamespacestd;structEmployee{//声明个人的结构作为链表节点。//-----数据域-----stringm_Code;stringm_Name;intm_Year;stringm_Sex;stringm_Post;stringm_Department;intm_Wage;//链表节点的指针域---structEmployee*Next;};typedefstructEmployeeNode;typedefNode*Link;//-------函数声明-------------LinkCreate(LinkHead);voidRelease(LinkHead);78LinkAdd(LinkHead);boolSearch(LinkHead);LinkSearch_Unique(LinkHead);voidDisplay_List(LinkHead);voidDisplay_Node(LinkpNode);LinkModify(LinkHead);LinkDel(LinkHead);voidSave_ByFile(LinkHead,fstream&ofile);LinkSort(LinkHead);//-------函数实现------------LinkCreate(LinkHead){//创建一个带头节点的空链表。Head=(Link)newNode;if(!Head){cout分配内存失败!endl;returnNULL;}Head-m_Code=;Head-m_Name=;Head-m_Year=0;Head-m_Sex=;Head-m_Wage=0;Head-Next=NULL;returnHead;}voidRelease(LinkHead){//释放链表。Linkptr;//声明一个操作用的指针。while(Head!=NULL){ptr=Head;Head=Head-Next;deleteptr;//释放节点资源。}}LinkAdd(LinkHead){//前插法添加数据。LinkpNew;//声明一个新节点。charagain;stringcode,name,sex,post,department;89intyear;intwage;do{pNew=(Link)newNode;//数据域。cout请输入序号:;cincode;coutendl请输入姓名:;cinname;coutendl请输入出生年份:;cinyear;while(cin.fail()){cout请输入正确的年份格式。endl;cin.clear();fflush(stdin);cinyear;}coutendl请输入性别:;cinsex;coutendl请输入工资:;cinwage;while(cin.fail()){cout请输入正确的工资数据。endl;cin.clear();fflush(stdin);cinwage;}coutendl;pNew-m_Code=code;pNew-m_Name=name;pNew-m_Year=year;pNew-m_Sex=sex;pNew-m_Wage=wage;//指针域。pNew-Next=Head-Next;Head-Next=pNew;cout数据添加成功!是否继续添加?(Y/N)endl;cinagain;system(cls);}910while(again=='Y'||again=='y');returnHead;}boolSearch(LinkHead){//查询满足“姓名”的个人信息。Linkptr;stringdepartment;stringname;ptr=Head-Next;coutendl请输入姓名:;cinname;coutendl******************查询结果********************endl;coutsetw(10)left序号setw(10)left姓名setw(10)left出生年份setw(10)left性别setw(10)left工资endl;cout************************************************endl;while(ptr){if((ptr-m_Name==name)&&(ptr-m_Department==department)){Display_Node(ptr);//打印满足条件的节点。returntrue;}ptr=ptr-Next;//查询下一节点。}cout查无此人!endl;returnfalse;}LinkSearch_Unique_Front(LinkHead){//查询满足“个人代码“的个人信息(个人代码必需唯一)。Linkptr;stringcode;ptr=Head;cout请输入要查询的代码:;cincode;coutendl*******************查询结果************************endl;cout***************************************************endl;1011while(ptr-Next){if(ptr-Next-m_Code==code)//Display_Node(ptr);//打印满足条件的节点。returnptr;//注意,是返回的查询到的节点的直接前趋节点。ptr-Next=ptr-Next-Next;//查询下一节点。}returnptr;}voidDisplay_List(LinkHead){Linkptr;ptr=Head-Next;cout**********************所有个人信息**********************endl;coutsetw(10)left序号setw(10)left姓名setw(10)left出生年份setw(10)left性别setw(10)left工资endl;cout********************************************************endl;while(ptr){Display_Node(ptr);ptr=ptr-Next;}cout********************************************************endl;}voidDisplay_Node(LinkpNode){//在标准输出设备上输出。coutsetw(10)leftpNode-m_Codesetw(10)leftpNode-m_Namesetw(10)leftpNode-m_Yearsetw(10)leftpNode-m_Sexsetw(10)leftpNode-m_Wageendl;//setw(10)表示占10个字符位置。}LinkModify(LinkHead)1112{//修改单一个节点。Linkptr;ptr=Search_Unique_Front(Head);stringcode,name,sex;unsignedshortintyear;unsignedintwage;if(ptr-Next){cout*****************请修改!***************************endl;//数据域。cout请输入职工序号:;cincode;coutendl请输入姓名:;cinname;coutendl请输入出生年份:;cinyear;while(cin.fail()){cout请输入正确的年份格式。endl;cin.clear();fflush(stdin);cinyear;}coutendl请输入性别:;cinsex;coutendl请输入工资:;cinwage;while(cin.fail()){cout请输入正确的工资数据。endl;cin.clear();fflush(stdin);cinwage;}coutendl;ptr-Next-m_Code=code;//因ptr是前趋节点,所以要用ptr-Next;ptr-Next-m_Name=name;ptr-Next-m_Year=year;ptr-Next-m_Sex=sex;ptr-Next-m_Wage=wage;cout恭喜你,修改信息成功!endl;system(cls);}1213elsecout没找到此个人记录,无法修改。endl;returnHead;}LinkDel(LinkHead){Linkptr;Linkptr_front;ptr_front=Search_Unique_Front(Head);ptr=ptr_front-Next;if(ptr){ptr_front-Next=ptr-Next;deleteptr;//删除此节点。}cout恭喜你,删除信息成功!。endl;returnHead;}voidSave_ByFile(LinkHead,fstream&ofile){LinkpNode;pNode=Head-Next;ofile.clear();//清除文件结束状态。while(pNode){ofilesetw(10)leftpNode-m_Codesetw(10)leftpNode-m_Namesetw(10)leftpNode-m_Yearsetw(10)leftpNode-m
本文标题:个人信息管理系统C++
链接地址:https://www.777doc.com/doc-3793592 .html