职工工资管理系统设计带源码

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

课程设计报告

课程名称:职工工资管理系统课程设计

设计题目:带头结点单循环链表(职工工资管理系统)系别:计算机系

专业:信息管理

组别:

学生姓名: 学号:

起止日期:09年11月 7 日~ 09年 12月20日指导教师:

目录

第一章需求分析

1.1 课程设计题目

1.2 课程设计任务及要求

1.3 课程设计思想

1.4 软硬件运行环境及开发工具

第二章概要设计

2.1 设计流程图

2.2 主要的数据结构

2.3 方法及原理的简要说明

第三章详细设计

3.1 计算机程序框图

3.2 自编程序

第四章调试与操作说明

4.1 系统调试

4.2 操作使用说明

第五章课程设计与总结体会

5.1 对开发的过程归纳与总结

5.2 在过程中遇到的技术难点与解决方法 5.3 程序尚存问题

5.4 进一步开发的见解与建议

5.5 收获与体会

第六章致谢

第七章参考文献

第八章附录

源码链接

第一章需求分析

1.课程设计题目

带头结点的单循环链表(职工工资管理系统)

2.课程设计任务及要求

编写一个职工工资管理系统,可以实现对数据的基本处理,要求用带头结点的单循环链表实现

3.课程设计思想

首先完成对程序的密码的确认,其次完成数据录入模块,然后实现对已录入的数据的存储和读入,最后就可以在其基础建立链表完成其余各项操作

4.软硬件运行环境及开发工具

Turboc2.0,Windows XP,VC++6.0

第二章概要设计

2.1 设计流程图

图1主函数流程图

2.1.1录入读取建链流程图

建链流程图如图2所示

2.1.2

操作流程图如图3所示

图3操作函数流程图

2.2 主要的数据结构

2.2.1链表结构如图4所示

图4链表结构图

2.2.2链表的结点结构如表1所示

表1链表的结点结构

第三章详细设计3.1 计算机程序框图

3.1.1密码确认部分程序图如表5所示

图5 密码确认部分程序图

3.1.2确认编号是否存在部分程序图如图6所示

图6确认编号是否存在部分程序图

3.2 自编程序

3.2.1录入模块

void setlink(Link head)

{ /*建立单链表*/

Link p,q,r;

int i=0;int c;

int a=1;

int b;

printf("\n");

p=head;

r=head->next;

while(a==1)

{

q=(LNode *)malloc(sizeof(struct node));

b=1;

while(b==1)/*编码确认部分*/

{

printf("输入编号:\n");

scanf("%d",&q->num);

r=head->next;

while(r!=NULL&&r!=head&&r->num!=q->num)

{

r=r->next;

}

if(r==NULL||r==head)

b=0;

else

{

printf("你输入的员工已录入,请重新输入。\n");

b=1;

}

}

printf("输入姓名:\n");scanf("%s",&q->nam);

printf("输入性别:");scanf("%s",&q->sex);

printf("输入基本工资:\n");scanf("%d",&q->bam);

printf("输入补贴工资:\n"); scanf("%d",&q->inm);

printf("输入扣除工资:\n");scanf("%d",&q->dem);

q->mon=q->bam+q->inm-q->dem;

p->next=q;p=q;

i++;

printf("是否输入另一个数据?\n输入1继续录入,其他键退出"); scanf("%d",&c);

getchar();

if(c==1)

{ q->next=head;

continue;

}

else

{ q->next=head;

break;

}

}

printlink(head);

getchar();

meau(head);

}

3.2.2排序模块的部分代码(起泡法)

void paixu1(Link head)

{

Link q,p,t;

int m;

q=head->next;

p=q->next;

t=(Link)malloc(sizeof(struct node));

while(q->next!=head)

{

while(p!=head)

{

if(q->num>p->num)

{

t->num=p->num;

strcpy(t->nam,p->nam);

strcpy(t->sex,p->sex);

t->bam=p->bam;

t->inm=p->inm;t->dem=p->dem;t->mon=p->mon;

p->num=q->num;

strcpy(p->nam,q->nam);

strcpy(q->sex,q->sex);

p->bam=q->bam;

p->inm=q->inm;p->dem=q->dem;p->mon=q->mon;

q->num=t->num;

strcpy(q->nam,t->nam);

strcpy(q->sex,t->sex);

q->bam=t->bam;

q->inm=t->inm;q->dem=t->dem;q->mon=t->mon;

相关文档
最新文档