C语言课程设计职工工作量统计系统.docx

上传人:b****2 文档编号:2207756 上传时间:2022-10-27 格式:DOCX 页数:30 大小:359.66KB
下载 相关 举报
C语言课程设计职工工作量统计系统.docx_第1页
第1页 / 共30页
C语言课程设计职工工作量统计系统.docx_第2页
第2页 / 共30页
C语言课程设计职工工作量统计系统.docx_第3页
第3页 / 共30页
C语言课程设计职工工作量统计系统.docx_第4页
第4页 / 共30页
C语言课程设计职工工作量统计系统.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C语言课程设计职工工作量统计系统.docx

《C语言课程设计职工工作量统计系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计职工工作量统计系统.docx(30页珍藏版)》请在冰豆网上搜索。

C语言课程设计职工工作量统计系统.docx

C语言课程设计职工工作量统计系统

湖北师范学院计科院

 

C语言课程设计报告

 

题目:

职工工作量统计系统

完成人:

赵天宇、梁可

学号:

*************

2013115040419

批阅人:

夏端峰

 

2014年6月15日

 

一、课程设计的目的与意义

作为一门课程,通过课程设计的实践环节的教学,可以加深对课堂所学基础知识的掌握与理解,提高所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。

“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。

作为学生,我们可以通过查阅相关资料,编写相关程序来增加自己的编程经验,强化自己的自主学习能力,强化自身的编程实践能力,掌握一定的软件开发流程。

二、总体设计思路

设计框图如下:

三、详细设计

1、模块功能介绍

(1)、菜单设计

菜单界面大致设计为:

职工工作量统计系统

1、职工基本信息录入;

2、工作量累加;

3、按照量化得分排序;

4、删除某职工信息;

5、浏览所有员工信息表;

6、查询莫员工信息;

7、修改某员工信息;

8、结束程序,将数据写入文件。

(2)、输入职工基本信息

设计框图如下:

(3)、工作量输入并累加

设计框图如下:

(4)、职工按照量化得分排序

设计框图如下:

(5)、查询、修改或删除某工号人员信息

具体的设计框图如下:

(6)、信息浏览功能

设计框图如下:

(7)、信息查询功能详细

设计框图如下:

(8)、信息修改功能详细

设计框图如下:

(9)、信息删除功能

设计框图如下:

四、各功能实现后的展示

1、菜单界面:

2、职工信息输入界面

3、职工信息浏览界面

4、按量化得分排序后界面

5、查询职工信息功能界面

6、修改职工信息界面

7、删除职工信息功能界面

可见相比较于刚才,删去了4号职工张亮。

8、工作量累加界面

可以看到2号职工赵天宇的工作量直接累加上了

五、附录一

1、程序清单

2、#include

3、#include

4、#include

5、#defineFILENAME"d:

\\worker.bin"

6、#defineN100

7、structworker

8、{

9、intempnum;/*工号*/

10、charname[20];/*姓名*/

11、charsex[5];/*性别*/

12、charbirthday[30];/*生日*/

13、charDep[20];/*系别*/

14、intage;/*年龄*/

15、doubleTeachworkload;/*教育工作量*/

16、doubleScientficworkload;/*科研工作量*/

17、doubleQscore;/*量化得分*/

18、intgrade;/*该员工的排名名次*/

19、charPosition[30];/*职称*/

20、};

21、/*******************************************************

22、定义

23、*******************************************************/

24、voidxinxi()

25、{

26、printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

27、printf("+职工工作量统计系统+\n");

28、printf("++\n");

29、printf("+1.职工基本信息输入+\n");

30、printf("++\n");

31、printf("+2.工作量累加+\n");

32、printf("++\n");

33、printf("+3.按照量化得分排序+\n");

34、printf("++\n");

35、printf("+4.删除某职工信息+\n");

36、printf("++\n");

37、printf("+5.浏览所有员工信息表+\n");

38、printf("++\n");

39、printf("+6.查询某员工信息+\n");

40、printf("++\n");

41、printf("+7.修改某员工信息+\n");

42、printf("++\n");

43、printf("+8.结束程序,将数据写入文件+\n");

44、printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

45、}

46、/*******************************************************

47、显示菜单

48、*******************************************************/

49、voidQscore1(structworkerw[],intlength)

50、{

51、inti=0,sum1=0,sum2=0;

52、for(i=0;i

53、{

54、sum1+=w[i].Teachworkload;

55、sum2+=w[i].Scientficworkload;

56、}

57、//returnw[j].Qscore=(w[j].Scientficworkload/sum2)*(1/2)+(w[j].Teachworkload/sum1)*(1/2);

58、for(i=0;i

59、{

60、w[i].Qscore=w[i].Scientficworkload/sum2*0.5+w[i].Teachworkload/sum1*0.5;

61、}

62、}

63、/******************************************************

64、计算量化得分

65、*******************************************************/

66、intreadFromFile(structworkerw[])

67、{

68、FILE*fp=NULL;

69、inti=0;/*i用来循环判断人数*/

70、

71、fp=fopen(FILENAME,"rb");/*打开文件,文件指针指向内部数据*/

72、

73、if(fp!

=NULL)

74、{

75、

76、while(!

feof(fp))/*从文件中读入工作人员*/

77、{

78、

79、if(i>=N)/*如果溢出,则跳出文件*/

80、break;

81、if(fread(w+i,sizeof(worker),1,fp)==1)

82、i++;

83、}

84、

85、fclose(fp);/*关闭文件*/

86、}

87、returni;

88、}

89、/*******************************************************

90、信息显示到屏幕

91、*******************************************************/

92、intf(structworkerw[],intlength)

93、{

94、inti=length,j=0,flag=1;/*i用来表示已经录入过信息的人数*/

95、while(i

96、{

97、printf("第%d个职工\n",i+1);/*显示下一个需要输入信息的员工是第几个员工*/

98、printf("\n");

99、printf("请你输入工号(以职工号为0结束输入):

\n)");/*输入职工号信息*/

100、scanf("%d",&w[i].empnum);

101、if(w[i].empnum==0)break;

102、printf("\n");

103、printf("\n");

104、for(j=0;j

105、{

106、if(w[j].empnum==w[i].empnum)

107、{

108、flag=0;

109、printf("该职工号人员已经存在,请重新输入");

110、}

111、}

112、if(flag==0)break;/*如果职工已经存在那么跳出程序*/

113、printf("请你输入该员工的姓名:

\n");/*开始输入该员工的各类基本信息*/

114、scanf("%s",&w[i].name);

115、printf("请你输入该员工的性别:

\n");

116、scanf("%s",&w[i].sex);

117、printf("请输入该员工的年龄:

\n");

118、scanf("%d",&w[i].age);

119、printf("请输入该员工的出生年月日(格式1995/03/23):

\n");

120、scanf("%s",&w[i].birthday);

121、printf("请输入该员工的系别:

\n");

122、scanf("%s",&w[i].Dep);

123、printf("请你输入该员工的教育工作量(单位:

小时):

\n");

124、scanf("%lf",&w[i].Teachworkload);

125、printf("\n");

126、printf("请你输入该员工的科研工作量(单位:

小时):

\n");

127、scanf("%lf",&w[i].Scientficworkload);

128、//printf("请你输入该员工的量化的分(单位:

分)",w[i].Qscore);

129、//scanf("%d",&w[i].Qscore);

130、printf("请你输入该员工的职位:

\n");

131、scanf("%s",&w[i].Position);

132、printf("\n");

133、i++;

134、}

135、Qscore1(w,length);

136、returni;

137、}

138、/*******************************************************

139、功能:

输入职工基本信息

140、*******************************************************/

141、voidinput(structworker

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1