您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > C语言----教师工资管理系统设计
《程序设计基础》课程设计报告教师工资管理系统设计目录问题概述------------------------------------------------1系统目标------------------------------------------------1设计的过程及步骤----------------------------------------2函数设计------------------------------------------------3系统实现------------------------------------------------7总结---------------------------------------------------17参考文献-----------------------------------------------181一.问题概述随着时代的进步,人们越来越认识到教育的重要性,科教兴国是十分可行的政策,而教师则是教育事业最重要的一环,他们的付出是我们国家富强的根本保证。现阶段,各学校的教师数量越来越多,工资、工作安排等方面管理起来就越来越麻烦,这十分不利于教育事业的大步前进,设计出一款用于教师工资管理的程序很有必要,通过系统的C语言学习,我们已经能够通过自己编写程序实现这一目的,进行教师信息的录入,管理,查询等方面的操作,进而推动教育事业的进步。二.系统目标2.1(对系统技术的目标)根据所学的程序设计基础原理与程序设计的知识,能够针对一个小型的程序设计基础管理系统,进行系统的需求分析,系统设计,程序设计基础设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型系统程序设计的目的。2.2(对系统技术的要求)1.教师信息及教师工资信息的录入功能(录入数据以文件形式存储)2.教师工资查询功能(至少提供两种及两种以上查询方法)(1)按教师编号进行查询(2)按所在部门进行查询……注:查询结果用链表的形式保存并输出3.教师工资的统计功能4.教师工资的修改功能(如晋升职称后)2三、设计的过程及步骤1.需求分析(描述系统需求,既详细分析系统需求和功能)根据题目要求,应当把教师信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把教师信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现教师信息录入,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。2.设计系统功能图(根据需求分析结果和文件结构,应用结构化分析与设计技术设计功能结构图,如下图所示)四、函数设计(详细分析每一个子模块的子功能,定义主要的子函数原型,并对每一个函数的功能加以说明)4.1此系统主要有7个功能,有主要的9个函数,他们分别是insert()//添加教师信息cut()//删除教师信息教师工资管理系统界面添加教师信息删除教师信息更新教师信息按编号排序按编号查询教师信息按部门查询教师信息退出输出全部教师信息保存信息3updata()//更新教师信息find()//按部门查询教师信息findbyid()//按编号查询教师信息sort()//按编号排序print()//输出全部教师信息save()//保存信息save1()//退出4.2每个函数所用到的主要是结构体和链表structmessage{intid;charname[30];intage;charsex[4];chardept[20];charphone[20];intmoney;structmessage*next;};inthassong(structmessage*h,intid,charname[]);structmessage*creat(void){structmessage*p1,*p2,*head;inti=1,id;char*check;charchoice;head=p2=(structmessage*)malloc(N);4printf(\n\n\n);printf(导入文件失败,请输入信息,输入完成后按回车键确定\n\n\n);head-next=NULL;4.3界面设计1、进入系统的界面,首先进行信息录入2、输入信息后按回车,如果继续输入按Y,确定信息再回车3、回车后进入操作页面,选择不同的数字回车,进行不同的操作54、按4,回车,进行按部门查询教师信息5、按5,回车、按编号查询教师信息五6五、系统实现#includestdio.h#includestring.h#includestdlib.h#includeconio.h#includewindows.h#definePT编号:%d姓名:%s年龄:%d性别:%s部门:%s手机号:%s工资%d\n,p-id,p-name,p-age,p-sex,p-dept,p-phone,p-money#defineNsizeof(structmessage)structmessage{intid;charname[30];intage;charsex[4];chardept[20];charphone[20];intmoney;structmessage*next;};inthassong(structmessage*h,intid,charname[]);structmessage*creat(void){structmessage*p1,*p2,*head;inti=1,id;char*check;charchoice;head=p2=(structmessage*)malloc(N);printf(\n\n\n);printf(导入文件失败,请输入信息,输入完成后按回车键确定\n\n\n);head-next=NULL;choice='y';for(i=1;choice=='y'||choice=='Y';i++){printf(***请输入编号姓名年龄性别部门手机号工资***\n);p1=(structmessage*)malloc(N);scanf(%d%s%d%s%s%s%d,&p1-id,p1-name,&p1-age,p1-sex,p1-dept,p1-phone,&p1-money);check=p1-name;7id=p1-id;while(hassong(head,id,check)==1){printf(\n已经存在,请重新输入!\n);scanf(%d%s%d%s%s%s%d,&p1-id,p1-name,&p1-age,p1-sex,p1-dept,p1-phone,&p1-money);check=p1-name;id=p1-id;}p2-next=p1;p2=p1;p2-next=NULL;printf(\n继续?(Y/N):);choice=getche();printf(\n);}returnhead;}structmessage*readfile(void)/*建立信息*/{char*p=D:/teacher.txt;FILE*fp;structmessage*p1,*p2,*head;head=p2=(structmessage*)malloc(N);head-next=NULL;if((fp=fopen(d:/teacher.txt,r))==NULL){printf(导入文件失败,请输入一些信息,p);head=creat();}else{inti=0;p1=(structmessage*)malloc(N);while(fscanf(fp,%d%s%d%s%s%s%d,&p1-id,p1-name,&p1-age,p1-sex,p1-dept,p1-phone,&p1-money)==7){i++;p2-next=p1;8p2=p1;p1=(structmessage*)malloc(N);}fclose(fp);if(i==0){head=creat();}else{printf(录入完毕!共%d个教师信息导入成功\n,i);p2-next=NULL;getche();}}returnhead;}voidinsert(structmessage*head){structmessage*p;char*check;intid;p=(structmessage*)malloc(N);printf(***请输入编号姓名年龄性别部门手机号工资***\n);scanf(%d%s%d%s%s%s%d,&p-id,p-name,&p-age,p-sex,p-dept,p-phone,&p-money);check=p-name;id=p-id;if(hassong(head,id,check)==0){if(head-next!=NULL){p-next=head-next;head-next=p;}printf(\n插入成功!按任意键继续!);}else{printf(\n该教师已经存在);}getche();}voidcut(structmessage*p0){9intid;structmessage*p;charchoice;if(p0-next==NULL){printf(信息出错!按任意键退出!);getch();exit(1);}printf(请输入要删除的编号:);scanf(%d,&id);for(p=p0-next;p-id!=id;p0=p,p=p-next);printf(你要删除的信息如下,请确认是否删除:\n);printf(\n编号:%d姓名:%s年龄:%d性别:%s部门:%s手机号:%s工资%d\n,p-id,p-name,p-age,p-sex,p-dept,p-phone,p-money);printf(\n是Y,否N:);choice=getche();if(choice=='Y'||choice=='y'){p0-next=p-next;free(p);printf(\n删除成功!);}printf(\n按任意键结束!);getche();}inthassong(structmessage*h,intid,charname[]){structmessage*p;intflag=0;if(h-next==NULL){return0;}for(p=h-next;p!=NULL;p=p-next){if(strcmp(p-name,name)==0)flag=1;if(p-id==id)flag=1;}10returnflag;}voidfindbyid(structmessage*h){intn;structmessage*p;printf(请输入你要查找的教师编号:);scanf(%d,&n);for(p=h-next;p!=NULL;p=p-next){if(p-id==n){printf(你查找的信息如下:\n);printf(\n编号:%d姓名:%s年龄:%d性别:%s部门:%s手机号:%s工资%d\n,p-id,p-name,p-age,p-sex,p-dept,p-phone,p-money);printf(按任意键继续!);getche();return;}}printf(没有找到!\n);printf(按任意键继续!);getche();}voidupdata(structmessage*h){intn;structmessage*p;printf(请输入你要更新的教师编号:);scanf(%d,&n);for(p=h-next;p!=NULL;p=p-next){if(p-id==n){printf(你查找的信息如下:\n);printf(\n编号:%d姓名:%s年龄:%d性别:%s部门:%s手机号:%s工资%d\
本文标题:C语言----教师工资管理系统设计
链接地址:https://www.777doc.com/doc-5389632 .html