《C语言课程设计》报告
题目:职工工作量统计系统
班
级:
学
号:
姓
名:
指导老师:
成
绩:
目录
TOC \o "1-5" \h \z \o "Current Document" 1 ?课程设计的目的和意义1
2.总体设计思路(功能模块图)2
3.详细设计3
4.课程设计总体会15
5.教师评语15
亠、课程设计目的和意义
通过课程设计的实践环节的教学, 可以加深对课堂所学 基础知识的掌握与理解,提高所学容的综合运用能力;同时 也可以通过查询相关资料,培养学生自学能力、接受新知识 的能力,提高学习兴趣;增强学生程序设计能力,掌握编程 技巧,并可培养学生实际上机调试程序的能力。“理论与实 践”相结合,使学生得到很好的锻炼,为以后学习、工作打 下坚实的基础。
1、总体设计思路(功能模块图)
三、详细设计
1、模块功能介绍
一.输入职工基本信息
开始
输入工号
输入工作量
结束
.工作量输入并累加
.按工作量从大到小排序并标上名次
开始
通过选择或冒泡排序,将职工按工作量从大到小排序,并 判断第I名职工的工作量是否与第1-1名职工工作量相等, 若相等,将第I-1名职工的名次附值给第I名职工,若不 相等,则把地I-1名职工的名次加1附值给I。依次给所 有职工排名
四.按职工号删除职工信息
开始
输入欲删除职工号幅
I 不存在
判断工号是否存在
存在
确认删除
将删掉信息的职工之后的职工 依次向前附值
结束
2、程序清单
#i nclude "stdio.h"
#i nclude "stri ng.h"
#include "stdlib.h"
#defi ne FILENAME "worker.bi n"
#defi ne N 20
struct worker
{
int number; /*工号 */
int counts; /*数量 */
in t grade;/*等级 */ };
/*******************************************************
定义
*******************************************************
void xi nxi()
{ prin tf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf("+职工工作量统计系统
+\n");
prin tf("+
+\n");
printf("+1.职工基本信息输入
+\n");
prin tf("+
+\n");
prin tf("+2. 工作量输入
+\n");
prin tf("+
+\n");
printf("+3. 按工作量排序
+\n");
prin tf("+
+\n");
printf("+4.按职工工号进行信息删除
+\n");
prin tf("+
+\n");
5. 结束程序prin tf("+
5. 结束程序
prin tf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
}
/*******************************************************
显示菜单
*******************************************************/
int readFromFile(struct worker w[])
{
FILE *fp=NULL;
int i=0;
fp=fopen(FILENAME,"rb"); /* 打开文件 */
if(fp!=NULL)
{
while(!feof(fp)) /*从文件中读入学生*/
{
if(i>=N)
break;
if(fread(w+i,sizeof(worker),1,fp)==1)
i++;
}
fclose(fp);
}
return i;
}
/*******************************************************
信息显示到屏幕
*******************************************************/
int f(struct worker w[],i nt le ngth)
{
in t i=le ngth;
while(i
{
printf("第%(个职工 \n",i);
prin tf("\n");
输入工号*/printf(”请你输入工号(以职工号为0结束
输入工号*/
scan f("%d",&w[i