C语言职工工作量统计系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言课程设计》报告题目:职工工作量统计系统

班级:

学号:

姓名:

指导老师:

成绩:

目录

1.课程设计的目的和意义 (1)

2.总体设计思路(功能模块图) (2)

3.详细设计 (3)

4.课程设计总体会 (15)

5.教师评语 (15)

一、课程设计目的和意义

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

二、总体设计思路(功能模块图)

三、详细设计

1、模块功能介绍一.输入职工基本信息

二.工作量输入并累加

三.按工作量从大到小排序并标上名次

四.按职工号删除职工信息

2、程序清单

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

#define FILENAME "worker.bin"

#define N 20

struct worker

{

int number; /*工号*/

int counts; /*数量*/

int grade; /*等级*/

};

/*******************************************************

定义

*******************************************************/

void xinxi()

{

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

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

printf("+ +\n");

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

printf("+ +\n");

printf("+ 2. 工作量输入+\n");

printf("+ +\n");

printf("+ 3. 按工作量排序+\n");

printf("+ +\n");

printf("+ 4. 按职工工号进行信息删除+\n");

printf("+ +\n");

printf("+ 5. 结束程序+\n");

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

}

/*******************************************************

显示菜单

*******************************************************/

int readFromFile(struct worker w[])

{

FILE *fp=NULL;

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[],int length)

{

int i=length;

while(i

{

printf("第%d个职工\n",i);

printf("\n");

printf("请你输入工号(以职工号为0结束):\n");/*输入工号*/

scanf("%d",&w[i].number);

if(w[i].number==0)

break;

printf("\n");

printf("\n");

printf("请你输入数量:\n");/*输入数量*/

scanf("%d",&w[i].counts);

printf("\n");

i++;

}

}

/******************************************************* 功能:输入职工基本信息

*******************************************************/ void input(struct worker w[],int length)

{

int i=1;

int number,counts;

printf("请输入工号:");

scanf("%d",&number);

while(number!=0)

{

printf("请输入完成数量:\n");

scanf("%d",&counts);

for(i=0;i

if(w[i].number==number)

{

w[i].counts+=counts;

break;

}

if(i>=length)

printf("工号不存在:\n");

printf("请输入工号:");

scanf("%d",&number);

}

}

/******************************************************* 功能:工作量输入并累加

*******************************************************/ void sortCounts(struct worker w[],int length)

{

int i=0,j=0,k=0;

struct worker s;

for(i=0;i

{

k=i;

for(j=i+1;j

if(w[j].counts>w[k].counts)

k=j;

/* 交换w[i] and w[k] */

s = w[k];

w[k] =w[i];

相关文档
最新文档