第一范文网 - 专业文章范例文档资料分享平台

学校内部工资管理系统软件工程课程设计

来源:用户分享 时间:2025/8/5 1:33:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

五 课程设计总结

六 程序代码

因为我们小组成员编程的水平实在是很一般,无法全面系统的实现该软件的所有功能。所以,我们就选取一部分内容进行编程,我们主要对该软件的用户信息管理模块的六个子模块进行了编码,编码总体上由王雪峰负责。其他小组成员主要负协助工作。插入及添加模块有王雪峰和任深圳共同完成。修改及删除模块由王雪峰完成,查找及输入模块有王雪峰和杨博仁,杨科共同完成。

#include #include #include #include #include

#define TITLE \ 月份 工号 姓名 应发工资 各种折扣 实发工资\\n\#define DATA \ - %4ld %-10s %6.1f %6.1f %6.1f\\n\>name,p1->should_pay,p1->rebate,p1->actual_pay

typedef struct pay {

long num; short month; char name[20];

float gw,jn,zw,zl,jt,yj; float should_pay; float fz,gj,sd,others; float rebate; float actual_pay; struct pay *next; }PAY;

FILE *fp;

PAY *p1=NULL,*p2=NULL,*head=NULL;

void menu(); PAY *input();

17

void output();

void save(PAY *head); PAY *open(); PAY *insert(); void search(); PAY *del(); PAY *revise();

/*菜单*/void main(void) {

short sel; do {

menu();

scanf(\ switch(sel) {

case 1:

head=input(); //用户数据添加模块 break; case 2:

head=insert(); //用户数据插入模块 break; case 3:

head=revise(); //用户数据修改模块 break; case 4:

head=del(); //用户数据删除模块 break; case 5:

search(); //用户数据查找模块 break; case 6:

output(); //用户数据输出模块 break; case 0: break; }

}while(sel!=0); }

18

void menu() {

printf(\

printf(\主菜单选项*\\n\\n\ printf(\创建职工工资信息\\n\ printf(\添加职工工资信息\\n\ printf(\修改职工工资信息\\n\ printf(\删除职工工资信息\\n\ printf(\查找职工工资信息\\n\ printf(\信息列表分类\\n\ printf(\保存 信息\\n\ printf(\退 出\\n\ printf(\}

/*用户数据添加模块*/ PAY *input() {

short n=1;

p1=(PAY*)malloc(sizeof(PAY)); if(p1==NULL) {

printf(\内存不足,无法创建链表!\ getch(); }

printf(\请输入第%d位职工的信息(以工号为0结束):\\n\ printf(\ 工号:\ scanf(\ if(p1->num==0) {

printf(\按任意键返回!\ getch(); free(p1); return 0; }

getchar();

printf(\ 姓名:\ gets(p1->name);

printf(\ 工资月份:\ scanf(\

printf(\ 基本工资,级别工资,职务津贴,工龄津贴,其他津贴,绩效奖励:\\n\ scanf(\ printf(\ 房租扣款,公积金,水电费,其它扣款:\\n\

scanf(\

19

p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj; p1->rebate=p1->fz+p1->gj+p1->sd+p1->others; p1->actual_pay=p1->should_pay-p1->rebate; while(p1!=NULL) {

if(n==1) head=p1; else

p2->next=p1; n++; p2=p1;

p1=(PAY*)malloc(sizeof(PAY)); if(p1==NULL) {

printf(\内存不足,无法创建链表!\ getch(); }

printf(\请输入第%d位职工的信息(以工号为0结束):\\n\ printf(\ 工号:\ scanf(\ getchar();

if(p1->num==0) {

p1=NULL; break; }

printf(\ 姓名:\ gets(p1->name);

printf(\ 工资月份:\ scanf(\

printf(\ 基本工资,级别工资,职务津贴,工龄津贴,其他津贴,绩效奖励:\\n\ scanf(\ printf(\ 房租扣款,公积金,水电费,其它扣款:\\n\

scanf(\ p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj; p1->rebate=p1->fz+p1->gj+p1->sd+p1->others; p1->actual_pay=p1->should_pay-p1->rebate; }

p2->next=NULL;

//edit by Yan-Xingyu Class Network-021

printf(\职工信息已输入,请按任意键返回,并存盘……\ getch(); return head; }

20

学校内部工资管理系统软件工程课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9ftuv4nn5n4n7xz5ebcj_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top