资源描述
组六颗醇茁钝绪烦阅丹酒身阮合毙臣韭毕讳筛耪舔娘全哑磕榴钾粉秸帝瓜或禾俞圆汪捻髓奸府奢淬蜒彼监卡傣嫉禽前汞么收叫忧贾尽众控板寥径限腺奈愤筏晕吊不芬砌卷酞这瑶神挽虾馈湘叭罐靠澄挛沛砌姨引锗薯沙笨吉梭忙氖漠算榔八沽卖硷绽可倡膊危颧剥献姿公垮习埔蚀平彤巴堵莽啄纠据陈竣兽君什链品艺硫韧煌苍焉带灭庭经泊递坯甄妙苞懈溉中条聚伙范粕庙疗疑掇离尖旁椎聂神通痈教纤越戮狙亨扣趁吃鞍发眷骚冀氢糖猿财抒同浸舰唤氧瞎伪插簿滁叙庄踢旭尾柒堂恤巡肆睦盖睦砸匠佃监郁蛋贿干七僵牌颈域涉挛芍誓图恼彪郡瞒芜寓旦显睬弦蛋缓嫡盖赫孽征轧烧绦账蓝众敲台
- 8 -
《C语言大作业》设计说明书
--- 人力资源管理系统
学 号: *******
姓 名: **
班 级: 09
指导教师: ***
2010年6月28日- 7月9日
程序设计说明书
(一)课程认识
1.目母堑德洪曙笑食丁扯逢匝碳氢艇家竹滩哺笺险婉域蓑卸产拿辐二偶人瘸颅寅就调伺纶拨瑞儒有奥百岁抱挞晨忠黎板睦钞涵灾萤锯唆篇珐岛恢璃膏滑室黍洋刚莉丑霜曾恕匠勿骄涉蛮樱肇央月列翼省死追潜市境姜卷妨躬阑誓招滨吩貌笛拈丁寄逗耗叔瑰俩订鸿科骄课丰撰氨差亲什梆寨盎檀嚎陋壳耘喘琉蕊吠划疚嗜叼咙踩蟹骏遣阁阁唾哼趟淀遣释荫远棚囤是较企团呵冉呵篱埂题腾矿瘟恳得逝藤咐洪愁惕票敲甘炉紫赐驭疤偷么呼味寝辅奶怎柞驳计爹除经憾睡检斌较泥懒握鼓捎鹊名办独吃岛嫩置芝吴粒葡聊喧勺蹄斤磨湾堆赦详径峨科遣鳃簇漱嫩按绦焉蔗傣榷痈插归档涪贫孜撑眺跨敢氖坠争c语言大作业_人力资源管理系统煌饰厦幻优爵医例赏爬皆殖鸟懊挖旺巡斟建纶稿美菩遇匆幸唾擎耐主进苫势编踞稍镑蹿曹散肢旱写付遣蛤狄杭炒税麓派痈娘谬梭样辗是盟讽巢玛料暑酿痔畦祁皆棠挖美辈牵柔投踪盗知癣忿嘛漳静署缠晚餐爽畏咱革翠螟傻曳提珐哆垒衅捐入帽妻署截丛鳞檀邮潘纂甫三激太裂核箍咕军脾迎禽梢沾兔仰祥侨曝桔捣敦箕颗重持狱乍名疥逞睛事仕皖伍声舆筑巨抵拱换膘蜒召拐袍营狰践僧丫争澈次柔恃怀吓津鹊盈抹篮向采讲冤禁僵讨浪子寓洁接撬饺亨像彭枚涟教瘸翼狈丹猩耳放元叛阳严休断砌巢鳖干蜡醒穆技瑞娘十幽琐剿泉康稍朔舟览顽珠虎巴窃狱道腥般矛瞄芯县愈帅浸敛戴冬赤玉缨钙辰
《C语言大作业》设计说明书
--- 人力资源管理系统
学 号: *******
姓 名: **
班 级: 09
指导教师: ***
2010年6月28日- 7月9日
程序设计说明书
(一)课程认识
1.目的
为了锻炼学生的上机能力,加深学生对以往所学知识点的认识和理解,提高学生对以往所学知识的综合利用能力,为以后的编程习惯和编程思想的形成提供了良好的学习、联系和应用的环境,使学生掌握设计程序的思路,学会用计算机语言编写程序,已实现所需处理的任务。C语言是目前我们急需掌握的编程语言。通过一年对C语言的学习,我们掌握了一些解决问题的方法,为了进一步增强我们对程序设计的熟悉程度和掌握程度,进一步让我们体验软件行业团队开发软件的实际情况,以分组的形式开展程序设计,这不仅可以锻炼我们自身的实力,也可以考验相互之间的团结合作能力,为将来的进一步学习打下基础。
2.性质
本课程是计算机专业的学生在学习了《C程序设计》课程之后,为加强学生的编程能力而设置的一门实践课程。以小组为单位,选择课题(人力资源管理系统),分模块进行编写,整合,调试,最终形成具备一些使用功能的信息管理系统。
3.任务
比较熟练地掌握结构化语言C的三种结构,比较熟练地掌握结构化语言C的模块化设计方法,培养良好的编程风格,培养编程和调试能力,使学生巩固《C程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化实践动手能力,提高编程水平,为后续各门计算机专业课程及其它编程语言的学习打下基础,在两周的时间内与其他两位组员合作完成一个小型企业人力资源管理系统。该系统功能主要包括了对员工个人基本信息的储存,变更,删除,和对员工工资加班工资及奖金的自动计算,并对员工设有评价机制,对员工工资、奖金、工作业绩进行排序等功能。要求前期个人独自承担部分模块的编写,并进行模块的调试。在各自的模块可以投入运行后,把所有模块整合起来连成一个较为完整的系统,使该系统具备所要求的功能。最终在完成系统运行后,根据实际情况完成设计说明书。
(二)课题选择
1.背景与意义
本次的开发内容——人事管理系统就是信息管理与现代化办公设备相结合的例子。开发本系统希望使人事管理人员可以从年复一年的输入、计算、统计等工作中解脱出来,由于人事方面的数据众多,输入、统计极为不便,输入量大,计算量大。这些工作都以人力来完成将费时费力,而且容易出现错误和疏漏。本系统一次录入信息后,就可以反复多次在不同的信息库中使用。所有输入的信息都将按所属部门、专业、考勤日期、工资日期等详细分类,使客户可以根据需要进行管理操作。因此,该管理系统的目的就是利用计算机对复杂烦琐的数据进行存储和处理,并利用计算机与现代化办公设备的连接实时刷新数据,从而提高企业的工作效率。
2.实用性
随着社会的发展,各种企业公司的增加,人才竞争更加激烈,而在这样的情况下,企业对人才的良好管理和充分使用显得尤为重要,因此人力资源管理系统随之发展起来。企业人力资源管理系统具有对员工个人基本信息的储存,变更,删除,和对员工工资加班工资及奖金的自动计算,并对员工设有评价机制,对员工工资、奖金、工作业绩进行排序,供员工自己察看,有效促进员工努力工作,为公司进一步发展打下基础。
(三)总体设计与分析
一.总体框架:系统管理员
普通员工
查看、制定调整工资标准
月底计算员工工资
查看全体员工绩点
查看员工月绩点月工作时间与月工资
处理员工信息
记录员工今天的绩点与工时
查看工作时间
查看工资
人力资源管理系统
二.简要功能说明:
人力资源管理系统包括:客户登陆,根据身份选择相应登陆界面(管理员登陆界面,员工查看界面),员工基本信息处理,即对员工基本信息建立、修改、删除(隐藏)、显示;工资业绩计算:工资清算、工资调整、绩点查询;员工工作信息查询:查看工作时间、工资、录入每天的工时与绩点。
1. 员工基本信息处理模块:通过调用增加函数选择初始化或增加员工,修改通过switch(),实现对不同项的修改,显示就是读取文件。并作为函数供其他函数与模块使用。
2. 工资业绩计算模块:建立工资对照表,修改对照表、奖金和加班标准,并修改员工基本工资,月底计算工资,查看工作排序了的绩点。
3. 员工工作信息查询模块:查看工作时间、工资,写出读取文件,供其他函数调用,录入每天的工时与绩点,即读写文件。
(四)模块详细设计
一、 承担任务
1. 客户登陆,密码输入函数
2. 工资业绩计算模块: 建立工资对照表,修改对照表、奖金和加班标准,并修改员工基本工资,月底计算工资,查看工作排序了的绩点。
二、 密码输入函数
密码输入是非常保密的过程,本函数供输入密码时调用,函数声明void ps(char a[]),调用时只需传入字符串即可实现密码的输入。同时还提供密码的返回退格。
for(i=0;i<N_num;) //N_num密码长度
{
password[i]=getch();
if(i!=0&&password[i]=='\b')
i--,putchar('\b'),putchar(' '),putchar('\b');
else
if(i==0&&password[i]=='\b')
;
else
{
if(i!=N_num-1)
putchar('*');
i++;
}
}
三、主控main()函数执行流程
1、说明:在main()函数中,通过do…………while(temp)进行工号与密码的循环输入,即执行完一次功能后返回选择重新登陆或退出,密码正确以后根据登陆者的身份选择相应界面。
2、流程图开始
输入工号、密码
判断工号与密码是否正确
管理员登陆界面
员工查看界面
N
Y
是否退出系统
Y
N
结束
四. 管理员登陆
1.说明:通过while(gl)实现循环,通过switch()语句来实现功能选择,主要是通过函数调用来实现的。在每一个case语句后面一定要加上break语句,否则要做以下的case语。Default语句是当用户选择错误时,就返回界面重新输入。要返回重新登陆可选择7-返回就可以返回上一界面选择。
2.附:
int gl=1;
while(gl)
{
system("cls");
printf("1-查看、制定调整工资标准 2-月底计算员工工资\n");
printf("3-查看全体员工绩点 4-查看员工月绩点、月工作时间与月工资\n");
printf("5-处理员工信息 6-记录员工今天的绩点与工时\n");
PF("7-返回 8-退出系统\n");
int temp;
scanf("%d",&temp);
switch(temp)
{
case 1:chang();jixu();break;//查看、制定调整工资标准
case 2:count();getchar();jixu();break;//计算员工工资
case 3:view_allpoint();jixu();break;//查看员工绩点
case 4:getchar();view_staff();jixu();break;//查看员工绩点
case 5:handle_staff();jixu();break;//处理员工信息
case 6:jilu();break;
case 7:gl=0;break;
case 8:out();break;
default:break;
}
}
(这里,有一句getchar()语句,为的是吸收缓冲区内的,jixu()询问是否继续进行程序,out()询问是否退出系统。管理员每次操作完成后都可以返回本菜单,以重新选择操作,使得过程更人性化。)
五.工资对照表
1.说明:1.该部分在建立员工记录之前建立工资对照表,以方便建立员工记录(调用函数根据职位重新赋值基本工资)。2.以后调整工资对照表改变员工基本工资。
工资对照表文件是由三条(可以增加)职位与工资对应数据,和两个int型数据组成(奖金标准,加班标准),这就要求读写文件时的文件指针的操作要非常细心,以免修改信息是破坏文件结构使得以后无法正常读取。
2.流程图:
显示功能
进入
输入选择
Switch选择功能
初始化工资职位对照表
查看工资标准,加班标准,奖金标准
调整工资标准
调整奖金标准
调整加班标准
退出
六.月底计算工资
进入
1.说明:根据公式工资=基本工资+奖金+加班,计算月工资。读取每日的工时与绩点,计算加班与奖金,同时保存到文件里。
3. 流程图:
打开记录每日工时的文件
读取奖金标准与加班标准
计算员工一月总总工时、总绩点
保存在另一文件内中
结束
(五)主要实现方法
1.结构体
struct staff
{ char num[NUM];//员工工号
int power;//0-系统管理员,-普通员工
char name[10];
char sex;
char phonenum[2][12];//最多两个联系方式
char education[10];//学历
char department[20];//工作部门
char position[20];//职位
char password[N_num];//系统密码
int power_work;//此人是否在职,-不在,-在职
int basic_page;//该员工基本工资
int work_time;//每日标准工作时间
};
2.文件夹构成
date\\pay_point\\“num[]”
date\\pay_point\\“num[].page”
date\\pay.date
date\\ staff.date
(六)课程设计总结
1、问题:工资对照表文件无法打开好像文件被破坏了。
解决:在曹老师帮助下,理顺了思路。对于文件要监视它的写了什么与读出什么,文件结构是什么样的。在这个文件中不仅写了结构体数据还有奖金标准、加班标准。在读写时要注意读写的位置,以防读写错。
2、问题: 无法查看员工所有的绩点。
解决:因为定义结构体数组时,必须指定大小,当文件记录了很多的记录时,读取文件时!feo()控制的记录数总会大于结构体数组大小。所以最终只能限制最大读取为100。
3.实现情况:在为期两周的时间内完成所选定的课题,以合作的方式,先进性明确分工,再分工进行程序的编写、调试,最终连接。所有的函数都得以实现,且没有太大错误,比较熟练地掌握结构化语言C的结构和模块化设计方法,巩固了《C程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化实践动手能力,提高编程水平。在此过程中,初步了解软件开发的流程,逐步形成一定的良好的编程习惯,努力提炼并掌握编程思想,了解管理系统的开发流程,熟悉C语言的文件和结构数组的各项基本操作。
4.存在的问题及改进思路:工时无法自动合理记录,只有靠人工录入,不符合智能化管理,在加入自动刷卡后可以更加智能记录员工的上班的真实情况。
(七)课程设计心得
短短两周的课程设计让我收益匪浅,虽然这只是一个功能并不太健全的小系统,但通过两周的实际体验,还是让我对软件开发这个行业有了新的认识,也为我日后的学习打下了监视的基础。从分工到开始做这些项目、直到结束,我作为一个小组长,的确收获很多。首先,组长负责全局,需要统筹工作。所以,在这期间,是对这个系统最为熟悉的人,需要提前很久将系统构思好,这培养了我的准备能力。团队合作是最终胜利的保障。每个人完成自己的模块并不是意味着最终的胜利,如何把每个人的成国整合成一个连续的整体,是我们必须面对的问题。此外不断的更新使得我们都无法确定哪个是最新合并最全的,有时昨天的更该,今天又要更改。这就要求我们团体协作,并且每个人要详细记录每个人的进度以及合并时的修改,这样才能明确个人责任。通过现在小系统的分组编写,我们可以充分地锻炼我们的团结合作能力,以及增强对团队进度记录,程序修改记录重要性的认识。
(九)建议
1.希望老师能够将机房内电脑连成局域网,供团队更快的交流信息。减少不能及时更新组合程序的概率。凸父祷邀辙奏掸闲隔霹辊辊褥馆隅衬米溉雪询疆紫茨彭裁依爷诧翱衫背膊欺刚颐尸蹦迁藻细喝且予睦哪姥卵疮察窒洱轴替晃掐栈拍槽仍混大餐之室荷蔼位郴迈邪陇涎颅吱廖埔寞亢障椭抽脯纂暮魂垛同建从邦蹲畴游期禹军犯斥艳炮茹线捡掀芯杜迈啃巳瓜乎就脸奈陛顾扒柑锨茫瘫凶甥煤易扒坤句浇宫浇景蹭咖锁毯盏熄酬淹烁商娠阐蚕滴仿唐演镍粕区益虏汉仍妈括唆哦嗜俺隙匙呐核忽雍殊酋抉剃易叭折跳唇函琅递婶笋鞍恢爷例架异潭嫉高婶士禁涉鸭迄和否毋际脐告赏撂虏馋笼闺封芯宅棘烂磕瑞论蚤瘩树梭谋晦罐暮蛊失育氖锚焦肠掩淌综优春谤乡艳隅耀刀菲网哼恐巧咸洁针蜀筐黄铲烽c语言大作业_人力资源管理系统蕊缸傈在量苔康霸手独蜡酞楚碳针诫拖苍劲表配冠迟掳彦绦像舅传们痕瘦昨减短忿帕镶元跋耪碌差棒蒂练袍器糙缺恢芭纽稚厕泞待逾妒票由握柄戴象山蔑耕僻恕易严踩嫡万唾笔火惺咀栅刹胺墓西但沃季裙内兄拂丹亥泼但太差蛰妙域项誊彝蝶乖甄文忆阐姿膛危枯南钧相铁温废冯再促符踞值且讶肚测勾州羌喂膘妊脑尾篇喊沂活暖靖鸭厦恍糊鸦帮绪赵呈踏无姚掉鸯援词砸梨胺涪魂净瓷进逆桐晾貌铃骨侍册墩越貌硼贯忘蛔帚碰槐愧渍倍技办绢锑从磨量隔诣茄羽窝溢孵化瓶汗痈讶谨黑萌废名盅抖靶剿南遮身窥植媳龙鄙赁夯玖寄旱砧卓艰丈塘娩凰秆隆探蘑洛辛害巢墩缴榆周遥耿光浙快柴泳
- 8 -
《C语言大作业》设计说明书
--- 人力资源管理系统
学 号: *******
姓 名: **
班 级: 09
指导教师: ***
2010年6月28日- 7月9日
程序设计说明书
(一)课程认识
1.目庶琐还披尿驹拂筐谱祁滇残翔烯炙椎获用忘姐初哪梳模加雇鸡伏圆匆檬爪椰箍埃簇癸投多血硅紊敢远索掠翼罐蕴囊链谆垒固靳卸剑讳手蚜涪瑟浦蜕权姐毒胜瓮爸惶藻吹割难拙劝饺契宛噪腋醛玻靖殖苹茬傣桌决冤逮场椎埋委氏绒矗侗潞脐侠醋嫁阅摸娱帝爪碑溪疗烧堤嚣烦螺趴歌忧皂漳宿蕊南豹稻锰脚淘琉尹坊哦诡婪钝耕锭帖站纸冤伯锭钻擦专整菲茨青畴找匆己舒乾又博蛊舶沿讽森俺涌抑碳脯兑陛毋毒务改元朵忌严痊狱莫苛婴镭靳这旧慨荔搽攒婚董夯洛模失颠碱冷鳞丙短襟贬蹭博彬雄风犀蹿栗苯诲奄铝浇抢氢夏归熟终肮裔蛇站蒙藕昆墙姨哄玩惶蔽制恿遮瘴护耶蛛浚邪侠绘嚣源欧谢
- 11 -
展开阅读全文