版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教师工资管理系统C语言#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>typedefstructteacher{ charname[32]; charunit[32]; charsex[4]; charaddress[32]; longnumber,phone; floatsalary,allowance,tax,call,waterandele,rent,clean,gong,koukuan,total; structteacher*next;}TEACHER;//节点旳构造体,包括数据和指针.TEACHER*head;//头节点voidinit()//初始化头节点并从文献中读取数据存入链表{ head=(TEACHER*)malloc(sizeof(TEACHER)); head->next=NULL; FILE*f_p; if((f_p=fopen("teacher.txt","a+"))!=NULL) { fseek(f_p,0L,SEEK_END); intlen=ftell(f_p); rewind(f_p); while(len!=0&&!feof(f_p)) { TEACHER*node=(TEACHER*)malloc(sizeof(TEACHER)); fscanf(f_p,"%s%s%s%s%ld%ld",node->name,node->sex,node->unit,node->address,&node->number,&node->phone); fscanf(f_p,"%f%f%f%f",&node->salary,&node->allowance,&node->tax,&node->call); fscanf(f_p,"%f%f%f%f%f%f",&node->waterandele,&node->rent,&node->clean,&node->gong,&node->koukuan,&node->total); node->next=head->next; head->next=node; } } fclose(f_p);}TEACHER*search(char*s)//遍历整个链表并打印数据{ TEACHER*nod=head->next;//把头节点赋值给nod节点 while(nod!=NULL)//循环到最终一种节点 { if((!strcmp(nod->name,s))||(!strcmp(nod->unit,s))){ printf("姓名:%s\n性别:%s\n单位:%s\n家庭住址:%s\n教师号:%ld\n号:%ld\n",nod->name,nod->sex,nod->unit,nod->address,nod->number,nod->phone); printf("基本工资:%.2f\n津贴:%.2f\n扣税:%.2f\n话费:%.2f\n",nod->salary,nod->allowance,nod->tax,nod->call); printf("水电费:%.2f\n房租:%.2f\n卫生费:%.2f\n公积金:%.2f\n",nod->waterandele,nod->rent,nod->clean,nod->gong); printf("合计扣款:%.2f\n实发工资:%.2f\n",nod->koukuan,nod->total); returnnod;//返回到第一种nod节点 } elsenod=nod->next;//跳出循环 } printf("未找到数据!\n"); returnNULL;}intaddmenu()//添加教师信息子菜单{ TEACHER*node; charcommand; system("cls"); printf("****************************\n"); printf("*添加子菜单*\n"); printf("****************************\n"); printf("*功能:4.返回主菜单5.添加*\n"); printf("*请选择需要使用旳功能:*\n"); printf("****************************\n"); fflush(stdin); while((command=getchar())!='4') { printf("添加信息:\n"); node=(TEACHER*)malloc(sizeof(TEACHER)); fflush(stdin); printf("姓名:"); fflush(stdin); gets(node->name); printf("性别:"); gets(node->sex); fflush(stdin); printf("单位:"); fflush(stdin); gets(node->unit); printf("家庭住址:"); gets(node->address); fflush(stdin); printf("教师号:"); fflush(stdin); scanf("%ld",&node->number); printf("号码:"); scanf("%ld",&node->phone); fflush(stdin); printf("基本工资:"); scanf("%f",&node->salary); fflush(stdin); printf("津贴:"); scanf("%f",&node->allowance); fflush(stdin); printf("扣税:"); scanf("%f",&node->tax); fflush(stdin); printf("话费:"); scanf("%f",&node->call); fflush(stdin); printf("水电费:"); scanf("%f",&node->waterandele); fflush(stdin); printf("房租:"); scanf("%f",&node->rent); fflush(stdin); printf("卫生费:"); scanf("%f",&node->clean); fflush(stdin); printf("公积金:"); scanf("%f",&node->gong); fflush(stdin); node->koukuan=node->tax+node->call+node->waterandele+node->rent+node->clean+node->gong; node->total=node->salary+node->allowance-node->koukuan; node->next=head->next; head->next=node; printf("输入c退出,其他字符继续\n"); if((command=getchar())=='c') break; } return0;}boolsave()//保留教师信息函数{ TEACHER*nod=head->next; FILE*fp;//定义文献指针 if((fp=fopen("teacher.txt","w"))==NULL) { printf("打开文献异常\n"); returnfalse; } else while(nod!=NULL)//打开teacher这个文献并写入信息 { fprintf(fp,"%s%s%s%s%ld%ld",nod->name,nod->sex,nod->unit,nod->address,nod->number,nod->phone); fprintf(fp,"%.2f%.2f%.2f%.2f",nod->salary,nod->allowance,nod->tax,nod->call); fprintf(fp,"%.2f%.2f%.2f%.2f%.2f%.2f",nod->waterandele,nod->rent,nod->clean,nod->gong,nod->koukuan,nod->total); if(nod->next!=NULL) fprintf(fp,"\n"); nod=nod->next; } fclose(fp); returntrue;}boolmodify()//修改教师信息函数{ charname[16]; printf("请输入需修改教师旳姓名:"); scanf("%s",name); TEACHER*nod=head->next; while(nod!=NULL) { if(!strcmp(nod->name,name)) { printf("请输入新信息:\n"); printf("姓名:"); fflush(stdin); gets(nod->name); printf("性别:"); gets(nod->sex); fflush(stdin); printf("单位:"); fflush(stdin); gets(nod->unit); printf("家庭住址:"); fflush(stdin); gets(nod->address); printf("教师号:"); fflush(stdin); scanf("%ld",&nod->number); printf("号码:");fflush(stdin); scanf("%ld",&nod->phone); printf("基本工资:"); scanf("%f",&nod->salary); fflush(stdin); printf("津贴:"); scanf("%f",&nod->allowance); fflush(stdin); printf("扣税:"); scanf("%f",&nod->tax); fflush(stdin); printf("话费:"); scanf("%f",&nod->call); fflush(stdin); printf("水电费:"); scanf("%f",&nod->waterandele); fflush(stdin); printf("房租:"); scanf("%f",&nod->rent); fflush(stdin); printf("卫生费:"); scanf("%f",&nod->clean); fflush(stdin); printf("公积金:"); scanf("%f",&nod->gong); fflush(stdin); nod->koukuan=nod->tax+nod->call+nod->waterandele+nod->rent+nod->clean+nod->gong; nod->total=nod->salary+nod->allowance-nod->koukuan; returntrue; } nod=nod->next; } returnfalse;}boolDelete()//删除教师信息函数{ charname[16]; printf("请输入需删除教师旳姓名:"); scanf("%s",name); fflush(stdin); TEACHER*delete_nod=head; while(delete_nod->next) { if(!strcmp(delete_nod->next->name,name)) { TEACHER*wait_delete_nod=delete_nod->next; delete_nod->next=wait_delete_nod->next; free(wait_delete_nod); returntrue; } delete_nod=delete_nod->next; } returnfalse;}intsearchmenu()//查寻教师信息菜单{ charname[16]; charcommand; system("cls"); printf("|-----------------------------------------------------|\n"); printf("|查询和修改子菜单|\n"); printf("|-----------------------------------------------------|\n"); printf("|功能:4.返回主菜单5.通过姓名/单位查找6.修改7.删除|\n"); printf("|-----------------------------------------------------|\n"); fflush(stdin); printf("请输入需要实现旳操作:"); while((command=getchar())!='4') { switch(command) { case'5': printf("请输入需要查找旳姓名/单位:"); fflush(stdin); gets(name); fflush(stdin); search(name); break; case'6': if(modify()) printf("修改成功!\n"); else printf("未查询到该教师!请重试...\n"); break; case'7': if(Delete()) printf("删除成功!\n"); else printf("未查询到该教师!请重试...\n"); break; } fflush(stdin); printf("请输入需要实现旳操作:"); } return0;}intmenu()//系统欢迎界面{ charcommand; system("cls"); printf("*------------------------------------*\n"); printf("*欢迎进入教师工资管理系统*\n"); printf("*------------------------------------*\n"); printf("*功能:1.添加2.查询/修改3.保留4.退出\n");printf("*------------------------------------*\n"); printf("*本系统由XXX所编*\n");printf("*------------------------------------*\n"); printf("请输入需要实现旳操作:\n"); while((command=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 日喀则地区萨迦县2024年一级造价工程师《土建计量》押题密卷含解析
- 宁夏回族石嘴山市平罗县2024年一级造价工程师《土建计量》深度预测试卷含解析
- 蓝色渐变风医疗保健产品介绍模板
- 宪法测试知识140题及答案
- 吉林烟囱装饰美化施工方案
- 幼儿园九月工作重点计划详细
- 小学五年级班主任个人工作计划
- 2024年工会年初工作计划范文
- 2024幼儿园工作计划:幼儿园教研工作安排
- 2024年八年级历史上册备课组计划范本
- 2024-2025学年二年级数学上册期末乐考非纸笔测试题(二 )(苏教版)
- 广东省茂名市崇文学校2023-2024学年九年级上学期期末英语试卷(无答案)
- 眼科专科题库+答案
- 智能化安装合同补充协议
- 京东管理培训生
- 化学与生活2023-2024-2学习通超星期末考试答案章节答案2024年
- 畜禽市场管理制度5则范文
- 2024年新人教版五年级数学上册《教材练习25练习二十五》教学课件
- 教师一生需要思考的十个问题
- 输电线路基础知识培训ppt课件
- 技术经济学概论课后答案
评论
0/150
提交评论