职工信息管理系统设计

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

课程设计(论文)

题目名称职工信息管理系统设计

课程名称C语言程序课程设计

学生姓名曾文静

学号**********

系、专业信息工程系、电子

指导教师邓波

2012年6月2 日

邵阳学院课程设计(论文)任务书

注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;

2.此表1式3份,学生、指导教师、教研室各1份。

指导教师(签字):学生(签字):

目录

1课程设计的目的与要求 (6)

1.1目的 (6)

1.2要求 (6)

2课程论文题目 (7)

3程序设计思路 (7)

4功能模块图 (8)

5算法设计 (8)

5.1功能模块选择 (8)

5.2浏览模块 (9)

5.3排序模块 (9)

5.4 查询模块 (10)

5.5修改模块 (11)

6源程序 (12)

7程序运行结果 (20)

7.1 主菜单 (20)

7.2 输入模块 (21)

7.3浏览模块 (21)

7.4查找模块 (22)

7.5修改模块 (22)

8编程中遇到的困难及解决方法 (23)

9总结心得及良好建议 (24)

10参考资料 (26)

11致谢 (26)

1、课程设计的目的与要求

1.1目的

1.掌握C语言编程的基础知识较熟练的编写C语言应用程序。

2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。

3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

1.2 要求

1.要求利用C语言面向过程的编程思想来完成系统的设计;

2.突出C语言的函数特征,以多个函数实现每一个子功能;

3.画出功能模块图;

4. 进行简单界面设计,能够实现友好的交互;

5. 具有清晰的程序流程图和数据结构的详细定义;

6. 熟练掌握C语言对文件的各种操作。

2. 课程论文题目

职工信息管理系统程序设计

题目要求

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:

(1)系统以菜单的方式工作。

(2)职工信息录入功能(职工信息用文件保存)。

(3)职工浏览功能。

(4)职工信息查询功能,查询方式可按学历查询或者工号查询。

(5)职工信息的删除、修改功能(可选项)。

3.程序设计思路

1.1设计思路

(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;

(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;

(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。

4.功能模块图

5.算法设计

5.1主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。

5.2浏览模块

【分析】

该模块的功能是浏览职工的全部信息

5 . 3 排序模块

5.4查询模块

【分析】

该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。流程图如下:

5.5修改模块

【分析】

盖模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。流程图如下:

6. 源程序

#include

#define N 50

struct worker

{

char id[50];

char name[20];

char sex[10];

char age[10];

char edu[20];

char salary[10];

char address[20];

char tel[20];

}worker[N];

void save(int n) //保存函数,保存n个记录

{ FILE *fp;

int i;

if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件

{ printf("\nCannot open file\n");

}

for(i=0;i

if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)

printf("file write error\n");

fclose(fp);

}

int load() //加载函数

{ FILE *fp;

int i;

if((fp=fopen("worker.txt","rb"))==NULL)

{printf("\nCannot open file\n");

return NULL;

}

for(i=0;!feof(fp);i++)

fread(&worker[i],sizeof(struct worker),1,fp);

fclose(fp);

return(i-1);

}

void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工

{ int j,k,w1;

相关文档
最新文档