C语言教师管理系统代码(共6页).docx
精选优质文档-倾情为你奉上#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>/*函数声明*/void input(); / 此函数功能是输入教师信息int menu();/此函数是一个菜单/学号:8struct data int year; int month; int day;struct teacher char num15; char name30; struct data bir; char sex; float jbgz; float jt; ;int menu()int n;printf("1. 实现教师信息的录入n");printf("2. 求每个教师的总工资,并输出n");printf("3. 按总工资从高到低排序,输出教师信息n");printf("4. 查找指定姓名的教师信息,若不存在,给出提示信息n");printf("5. 查找基本工资最高的教师信息n");printf("6. 修改指定职工号的职工信息n");printf("7. 程序结束n");printf("*n"); printf("请输入你要执行的操作:n");scanf("%d",&n);while( n<1 | n>7)printf("请重新输入n");scanf("%d",&n); return n;/实现教师信息录入void input(struct teacher a,int n)int i;printf("石家庄经济学院n");for(i=0;i<n;i+)printf("请输入教师工作号:"); scanf("%s",ai.num);printf("请输入教师姓名:"); scanf("%s",ai.name); printf("请输入教师出生日期:"); scanf("%d%d%d",&ai.bir.year,&ai.bir.month,&ai.bir.day); printf("请输入教师性别:");getchar();scanf("%c",&ai.sex); printf("请输入教师基本工资:");scanf("%f",&ai.jbgz); printf("请输入教师津贴:"); scanf("%f",&ai.jt); /实现教师信息输出void output(struct teacher a,int n)int i;printf("工作号,姓名,出生日期,性别,基本工资,津贴,总工资:n");for(i=0;i<n;i+)printf("%s %s %d %d %d %c %f %f %fn",ai.num,ai.name,ai.bir.year,ai.bir.month,ai.bir.day,ai.sex,ai.jbgz,ai.jt,ai.jbgz+ai.jt);/按工资从高到低排序,输出教师信息void sortbyzgz (struct teacher a,int n)int i,j,k;struct teacher temp;for(i=0;i<n-1;i+)k=i;for(j=i+1;j<n;j+)if(aj.jbgz+aj.jt)>(ai.jbgz+ai.jt)k=j; if(k!=i) temp=ai; ai=ak; ak=temp;output(a,n);/查找指定姓名的教师信息,若不存在,给出提示信息void searchbyname(struct teacher a,int n) char name20; int flag=0; int i; printf("请输入要查找的教师姓名:n"); getchar(); gets(name); for(i=0;i<n;i+) if(strcmp(name,ai.name)=0) printf("工作号,姓名,出生日期,性别,基本工资,津贴,总工资:n"); printf("%s %s %d %d %d %c %f %f %fn",ai.num,ai.name,ai.bir.year,ai.bir.month,ai.bir.day,ai.sex,ai.jbgz,ai.jt,ai.jbgz+ai.jt); flag=1; if(flag=0) printf("查无此人!n");/查找基本工资最高的教师信息void searchbyjbgz(struct teacher a,int n) struct teacher temp; int i; temp=a0; for(i=1;i<n;i+) if(ai.jbgz>temp.jbgz) temp=ai; printf("工作号,姓名,出生日期,性别,基本工资,津贴,总工资:n"); printf("%s %s %d %d %d %c %f %f %fn",temp.num,temp.name,temp.bir.year,temp.bir.month,temp.bir.day,temp.sex,temp.jbgz,temp.jt,temp.jbgz+temp.jt);/修改指定职工号得教师信息void repeat(struct teacher a,int n) char temp20; int flag=0; int i; printf("请输入要修改的职工号:n"); getchar(); gets(temp); for(i=0;i<n;i+) if(strcmp(temp,ai.num)=0) printf("%s %s %d %d %d %c %f %f %fn",ai.num,ai.name,ai.bir.year,ai.bir.month,ai.bir.day,ai.sex,ai.jbgz,ai.jt,ai.jbgz+ai.jt); printf("请重新输入职工号.姓名.出生日期.性别.基本工资.津贴:n"); scanf("%s %s %d %d %d %c %f %f",ai.num,ai.name,&ai.bir.year,&ai.bir.month,&ai.bir.day,&ai.sex,&ai.jbgz,&ai.jt); flag=1; if(flag=0) printf("查无此人!n"); printf("修改后的教师信息:n"); printf("职工号.姓名.出生日期.性别.基本工资.津贴.总工资:n");for(i=0;i<n;i+)printf("%s %s %d %d %d %c %f %f %fn",ai.num,ai.name,ai.bir.year,ai.bir.month,ai.bir.day,ai.sex,ai.jbgz,ai.jt,ai.jbgz+ai.jt); void main()int num;struct teacher tea3;while(num=menu() switch(num)case 1: input(tea,3); break;case 2: output(tea,3);break; case 3: sortbyzgz(tea,3);break;case 4: searchbyname(tea,3);break;case 5: searchbyjbgz(tea,3);break; case 6: repeat(tea,3);break;case 7: exit(0);getch(); /按任意键继续 system("cls"); /清屏专心-专注-专业