C语言----教师工资管理系统设计_第1页
C语言----教师工资管理系统设计_第2页
C语言----教师工资管理系统设计_第3页
C语言----教师工资管理系统设计_第4页
C语言----教师工资管理系统设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业 程序设计基础课程设计报告 教师工资管理系统设计 目录 TOC o 1-5 h z 问题概述1系统目标1设计的过程及步骤2函数设计3系统实现7总结17参考文献18 一.问题概述随着时代的进步,人们越来越认识到教育的重要性,科教兴国是十分可行的政策,而教师则是教育事业最重要的一环,他们的付出是我们国家富强的根本保证。现阶段,各学校的教师数量越来越多,工资、工作安排等方面管理起来就越来越麻烦,这十分不利于教育事业的大步前进,设计出一款用于教师工资管理的程序很有必要,通过系统

2、的C语言学习,我们已经能够通过自己编写程序实现这一目的,进行教师信息的录入,管理,查询等方面的操作,进而推动教育事业的进步。二.系统目标2.1 (对系统技术的目标)根据所学的程序设计基础原理与程序设计的知识,能够针对一个小型的程序 设计基础管理系统,进行系统的需求分析,系统设计,程序设计基础设计,编码, 测试等,完成题目要求的功能,从而达到掌握开发一个小型系统程序设计的目的。 2.2 (对系统技术的要求)1. 教师信息及教师工资信息的录入功能(录入数据以文件形式存储) 2 教师工资查询功能(至少提供两种及两种以上查询方法)(1)按教师编号进行查询(2)按所在部门进行查询注:查询结果用链表的形式

3、保存并输出3 教师工资的统计功能4 教师工资的修改功能(如晋升职称后)设计的过程及步骤需求分析(描述系统需求,既详细分析系统需求和功能) 根据题目要求,应当把教师信息用结构体形式输入,再定义一个全局变量和文件 指针进行整个程序的运行,然后把教师信息送到文件中,所以应该提供一个结构 体和文件的输入输出等操作;在程序中需实现教师信息录入,查询,删除 和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选 择菜单实现功能,在运行时达到所要目的。设计系统功能图(根据需求分析结果和文件结构,应用结构化分析与设计技术设计功能结构 图,如下图所示)教师工资管理系统界面添加教师信息删除教师信息

4、更新教师信息按编号排序按编号查询教师信息按部门查询教师信息退出输出全部教师信息保存信息四、函数设计(详细分析每一个子模块的子功能,定义主要的子函数原型,并对每一个 函数的功能加以说明)4.1此系统主要有7个功能,有主要的9个函数,他们分别是insert () /添加教师信息cut () /删除教师信息updata () /更新教师信息find () /按部门查询教师信息findbyid ()/按编号查询教师信息sort () /按编号排序print () /输出全部教师信息save () /保存信息save1 () /退出4. 2每个函数所用到的主要是结构体和链表struct messagei

5、nt id;char name30;int age;char sex4;char dept20;char phone20;int money;struct message *next; int hassong(struct message *h,int id,char name);struct message *creat(void)struct message *p1,*p2,*head;int i=1,id;char *check; char choice;head=p2=(struct message *)malloc(N);printf(nnn);printf(导入文件失败,请输入信息

6、,输入完成后按回车键确定nnn);head-next=NULL;4.3界面设计1、进入系统的界面,首先进行信息录入2、输入信息后按回车,如果继续输入按Y,确定信息再回车3、回车后进入操作页面,选择不同的数字回车,进行不同的操作4、按4,回车,进行按部门查询教师信息5、按5,回车、按编号查询教师信息五五、系统实现#include stdio.h#include string.h#include stdlib.h#include conio.h#include windows.h#define PT 编号:%d 姓名:%s 年龄:%d 性别:%s 部门:%s 手机号:%s 工资%d n,p-id,

7、p-name,p-age,p-sex,p-dept,p-phone,p-money#define N sizeof(struct message)struct messageint id;char name30;int age;char sex4;char dept20;char phone20;int money;struct message *next;int hassong(struct message *h,int id,char name);struct message *creat(void)struct message *p1,*p2,*head;int i=1,id;char

8、*check; char choice;head=p2=(struct message *)malloc(N);printf(nnn);printf(导入文件失败,请输入信息,输入完成后按回车键确定nnn);head-next=NULL; choice=y; for(i=1;choice=y|choice=Y;i+)printf(*请输入编号 姓名 年龄 性别 部门 手机号 工资*n);p1=(struct message *)malloc(N);scanf(%d %s %d %s %s %s %d,&p1-id,p1-name,&p1-age,p1-sex,p1-dept,p1-phone,

9、&p1-money);check = p1-name;id=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);return head;struct me

10、ssage *readfile(void)/* 建立信息 */char *p=D:/teacher.txt;FILE *fp;struct message *p1,*p2,*head;head=p2=(struct message *)malloc(N);head-next=NULL;if (fp=fopen(d:/teacher.txt,r)=NULL) printf(导入文件失败 ,请输入一些信息,p);head=creat();elseint i=0;p1=(struct message *)malloc(N);while(fscanf(fp,%d %s %d %s %s %s %d,&

11、p1-id,p1-name,&p1-age,p1-sex,p1-dept,p1-phone,&p1-money)=7)i+;p2-next=p1;p2=p1;p1=(struct message *)malloc(N);fclose(fp);if(i = 0)head=creat();elseprintf(录入完毕!共 %d 个教师信息导入成功n,i);p2-next=NULL;getche();return head; void insert (struct message *head)struct message *p;char *check;int id;p=(struct messag

12、e *) 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();void cut(struct me

13、ssage *p0) int id; struct message *p; char choice; 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-p

14、hone,p-money); printf(n是Y,否N:); choice=getche(); if(choice=Y|choice=y) p0-next=p-next; free(p); printf(n删除成功!); printf(n按任意键结束!); getche();int hassong(struct message *h,int id,char name) struct message *p; int flag=0; if(h-next=NULL) return 0; for(p=h-next;p!=NULL;p=p-next)if(strcmp(p-name,name)=0)f

15、lag=1;if(p-id=id)flag=1; return flag;void findbyid(struct message *h) int n; struct message *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); pr

16、intf(按任意键继续!); getche(); return; printf(没有找到!n); printf(按任意键继续!); getche();void updata(struct message *h) int n; struct message *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-a

17、ge,p-sex,p-dept,p-phone,p-money); printf(*请输入年龄 性别 部门 手机号 工资*n);scanf(%d %s %s %s %d,p-name,&p-age,p-sex,p-dept,p-phone,&p-money);printf(更新成功!); getche(); return; printf(没有找到!n); printf(按任意键继续!); getche();void find(struct message *h) char name30; struct message *p; printf(请输入你要查找的教师部门:); scanf(%s,na

18、me); for(p=h-next;p!=NULL;p=p-next) if(strcmp(p-dept,name)=0) 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); printf(按任意键继续!); getche();void print(struct message *p)p=p-next;while(p!=NULL)printf(PT);p=p-next;pr

19、intf(n按任意键继续!); getche();void sort(struct message *head) struct message *q,*t,*p; p=head; t=NULL; while(t!=head-next) p=head; q=p-next; while(q-next!=t) if(p-next-idq-next-id) p-next=q-next; q-next=q-next-next; p-next-next=q; p=p-next; q=p-next; t=q; printf(排序完毕,按任意键继续!);getche(); void save1(struct

20、message *p)FILE *fp;fp=fopen(d:/teacher.txt,w); p=p-next;while(p!=NULL)fprintf(fp,%d %s %d %s %s %s %dn,p-id,p-name,p-age,p-sex,p-dept,p-phone,p-money);p=p-next;fclose(fp);void save(struct message *p)save1(p);printf(n保存成功 按任意键继续!); getche();int main() int choice=1,i; struct message *head; head=NULL;

21、 head=readfile(); for(i=1;choice!=0;i+) system(cls); printf(*教师管理系统*n); printf(n); printf(n); printf( 1 . 添加教师信息 n); printf( 2 . 删除教师信息 n); printf( 3 . 更新教师信息 n); printf( 4 . 按部门查询教师信息 n); printf( 5 . 按编号查询教师信息 n); printf( 6 . 按编号排序 n); printf( 7 . 输出全部教师信息 n); printf( 8 . 保存信息 n); printf( 0 . 退出 n); printf(*n); printf(请选择一个功能:n); scanf(%d,&ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论