logo资料库

c++教师工资管理系统.doc

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
课 程 设 计 报 告 课程名称: 教师工资管理系统 班 级: 92330101 学 号: 2009023301053 姓 名: 姬美娟 完成日期: 2010.03.19 沈阳航空工业学院 北方软件学院 1
课程设计任务书 专业名称:计算机科学与技术(软件工程) 课程名称:面向对象程序设计与 C++ 设计题目:教师工资管理系统 起止时间:2010 年 3 月 8 日至 2010 年 3 月 19 日 问题描述 开发一个教师工资管理系统,对所有教师的信息进行存储和管理,用文件 的形式存储所有教师的工资信息,定义一个教师类存储教师的工资信息,包括: 职工号、姓名、性别、基本工资,奖金,职称。定义一个工资管理类,实现操 作包括:删除教师信息,添加教师信息,修改教师信息,查询教师信息。 基本要求 1、 通过读取文件初始化所有教师的工资信息; 2、 在教师类的定义中,能够通过定义成员函数实现修改教师的某项基本信息。 3、 在工资管理类的定义中,能够通过定义成员函数实现删除教师信息,添加 教师信息,修改教师信息,查询教师信息。 实现提示 能熟练掌握对文件的读取操作,熟练使用类实现数据的封装。 学生姓名:姬美娟 指导教师: 学号:2009023301053 年 月 日 4
教师工资管理系统 一、概要设计: 模块一:录入教师信息 录入的信息包括姓名、编号、性别、职称、工资、奖金。 模块二:删除教师信息 首先选择删除教师信息项,如果有某位教师信息,则输入此教师的姓名,回车 显示已删除。如果输入姓名不对则显示无此人资料。如果没有任何教师信息则 显示无任何信息。 模块三:修改教师信息 首先选择修改教师信息项,如果有某位教师信息,则输入要修改的教师的姓名 则会出现修改的项目,修改后会显示已修改。如果输入姓名错误则会显示无此 人资料。 模块四:清除教师信息 首先选择清除教师信息项,则会出现是否彻底删除所有数据字样,如是则选择 1(继续),如不是则选择 2(取消)。 模块五:查看教师信息 如果想查看教师的信息,则选择此项,屏幕会显示所有教师的信息。 模块六:退出 屏幕会显示“press any key to coutinue”字样,按任意键则退出。 二、详细设计: 1、定义一个 gongzi 类: 其中定义了名字数组、编号数组、性别数组、职称数组及工资与奖金的 int 函 数。 class Gongzi { char name[20];//定义一个字符型数组,用来录入姓名,姓名最多存储 20 个 char number[20];//定义一个字符型数组,用来录入编号,编号最多存储 20 个 char sex;//定义一个字符型数组,用来录入性别。 char chengwei[20];//录入职称。 int gongzi;//定义工资 int salary;//定义奖金 Gongzi *next; 2、定义一个 phone 类: 5
此类是对 gongzi 类的管理。 class Phone { Gongzi *head;//头指针指向空 3、模块代码: (一)、录入教师信息:需要录入教师的姓名、编号、性别、职称、工资、奖金, 录入的编号、性别、工资、奖金都必须为数字,如果录入错误会提示重新输入。 void sex,char *chengwei,int gongzi,int salary)//录入教师的信息 { Phone::AddGongzi(char *name,char *number,char Gongzi *pnew=new Gongzi(name,number,sex,chengwei,gongzi,salary); Gongzi *p1=NULL; if(head==NULL) {head=pnew;} else {p1=head; while(p1->getnext()!=NULL) {p1=p1->getnext();} p1->setnext(pnew); } } (二)、删除教师信息:在程序有教师信息的情况下,输入想要删除教师的姓名, 如果输入正确,则显示“已删除”,如果输入的姓名不是程序中的名字则显示“无 此人资料” void Phone::earseGongzi() { system("cls"); if(head==NULL) {cout<<"无任资料!"<>name; if(find(name)!=NULL)//如果姓名错误则显示无此人资料 { 6
earse(find(name));//如果信息正确则表示已删除 cout<<"已删除!"<>name; if(find(name)!=NULL)//如果姓名不正确则无此人资料 {modify(find(name));//如果姓名正确则修改成功 cout<<"已修改!"<>ch; if(ch=='1') {while(head!=NULL) head=head->getnext(); 7
cout<<"已删除!"<ShowGongzi(); p1=p1->getnext();} (六)、退出 4、主要功能模块流程图: (删除流程图): 开始 输入删除的姓名 是否删除 是 删除 退出 否 8
(修改流程图): 否 开始 输入修改姓名 是 否 匹 配 修改条件 是 修改 退出 三、调试报告: 1、刚开始设计程序时,程序开始没有加头文件#include,导致程序出 现了头文件的错误,例如: ifstream infile; infile.open("ok",ios::binary); if(!infile) 出现提示。 2、在程序类别设计的时候,选择男女是没有标注,导致进入界面后无法正确输 入教师的信息,例如 while(!panduanjibie(sex)) { cout<<"性别选择错误,请重新输入:"<>sex; 修改后可以通过数字进行男女性别的选择,可以很快进行信息的录入。 9
四、测试结果: 1、教师工资管理系统主界面: 2、录入教师信息(例如:姓名、编号、性别、职称、工资、奖金) 10
分享到:
收藏