c语言教师工作量管理系统
c语言课程设计教师工作量计算

重庆科技学院《程序设计基础》课程设计报告学院:_电气与信息工程学院_ 专业班级:计科X 学生姓名: XXX 学号: XX设计地点(单位)________X_______ __设计题目:__________________________________ _____完成日期: 2011 年6月24日指导教师评语: ______________________ _________________ __________________________________________________________________________________ __________________________________________________________________________________ _____________________________________ __________ _成绩(五级记分制):______ __________指导教师(签字):________ ________摘要计算教师工作量系统主要用来计算老师工作量,只需要输入某位老师的理论课程门数、每门课的学时数、每门课的学生人数,实践专周的周数、人数,毕业设计的人数和周数,即可计算该老师的总工作量;其中还可以查询,追加信息。
本系统利用了C语言及C++知识,其中包括while循环,switch case语句,结构体,函数调用,文件处理等。
经过调试后,基本实现开发目标中管理员查找等功能,经过部分完善后,可以应用在实际教师工作量管理中。
关键字:C语言C++ 教师工作量课程设计任务书设计题目:教师工作量计算系统学生姓名课程名称程序设计基础课程设计专业班级计科10地点I305/I306 起止时间6月20日~6月24日设计内容及要求输入某位老师的理论课程门数、每门课的学时数、每门课的学生人数,实践专周的周数、人数,毕业设计的人数和周数,计算该老师的总工作量。
C语言教师管理系统

通信与信息工程学院高级语言课程设计班级:电子信息工程1503姓名:周阳刘锦谷静霆学号:1507050314 1507050321 1507050334指导教师:刘晓佩李远征王静倪云峰设计时间:2016-07-04 ~ 2016-07-24成绩:评语:通信与信息工程学院二〇一七年一、课程设计要求设计教师工作管理系统,并拥有如下功能。
1.计算并显示每个老师在一个学期中所教课程的总工作量。
2.输入教师姓名可以查询教师信息。
3.可以浏览并删改教师信息。
4.完成教师信息二、程序的功能设计三、程序的数据结构C 语言使用结构体来扩展自定义的数据类型,数据结构如下: #pragma pack (4) //设置结构体的对其方式 typedef struct TEACH {//数据域char ArrTeachNum[10]; //教工号 char ArrTeachName[10]; //姓名 char ArrTeachSex[4]; //性别 char ArrTitle[10]; //职称 char ArrSubject[20]; //所教课程 char ArrClass[36]; //所教班级 unsigned int ClassNum ; //班级数目 unsigned int TheoryClaHour ; //理论课时主函数添加一个教师的信息 VoidAddTeaMsg(TE ACHER Teacher);删除一个教师的信息VoidDeleTeacher(PTEACH pNode);查找一个教师信息PTEACHSearchTeach(char * Name);显示所有教师信息保存voidShowAllTeach er(void );unsigned int practicerClaHour ; //实践课时unsigned int AllClaHour ; //总课时//指针域struct TEACH *pNext; //指向下一个节点}四、程序的函数设计1.函数的功能描述main函数功能:调用菜单函数所示的函数;Menu()函数功能:显示给用户所有的功能AddTeaMsg()函数功能:增一个教师信息SearchTeach()函数功能:查找一个教师信息DeleTeacher()函数功能:删除一个教师信息ShowAllTeacher()函数功能:显示所有老师信息2.函数的调用关系main函数调用所有的子函数来完成相应操作;查找,删除,修改信息函数都必须调用查找函数。
教师信息管理c语言程序设计

教师信息管理c语言程序设计教师信息管理是一件非常重要的事情,一个好的教师信息管理系统可以有效地帮助学校管理教师的信息,包括基本信息、工作情况、任职情况等等。
本篇文章将介绍如何用C 语言设计一个教师信息管理系统。
首先,我们需要定义一些数据结构来存储教师的信息。
这些数据结构可以包括结构体和数组。
例如,我们可以定义一个教师的结构体:typedef struct{char name[20]; //教师姓名char gender; //性别int age; //年龄char department[20]; //教师所在院系char position[20]; //职称int salary; //工资} Teacher;然后我们可以用一个数组来存储多个教师的信息:Teacher teachers[100];这样,我们就可以存储100个教师的信息了。
接下来,我们需要设计一些函数来实现教师信息的增加、删除、修改和查询。
这些函数可以包括:1. void add_teacher():用于添加教师信息。
void add_teacher(){Teacher teacher;printf("请输入教师姓名:");scanf("%s", );printf("请输入教师性别:");scanf(" %c", &teacher.gender);printf("请输入教师年龄:");scanf("%d", &teacher.age);printf("请输入教师所在院系:");scanf("%s", teacher.department);printf("请输入教师职称:");scanf("%s", teacher.position);printf("请输入教师工资:");scanf("%d", &teacher.salary);teachers[count++] = teacher; //将教师信息添加到数组中}至此,我们已经完成了一个基本的教师信息管理系统。
基于C语言的教师工作量核算系统的研究与实现

C m u r n we g n e h o g o p t o l eadTc nl y电 脑知 识 与技术 eK d o
Vo . , . Fe r ay 2 2 18 No4, b u r 01
基于 C语言的教师工作量核算系统 的研 究与实现
刘 凯 志
( 新疆农业大学 , 新疆 乌鲁木齐 8 0 5 ) 3 0 2
摘要 : 师的工作量是教师工作考核 和工资发放的依据 , 教 同时也是教 师辛勤劳动 的体现 , 由于其计算复杂 内容繁琐 , 但 一直 困扰 着 广 大教师 。该 系统 着眼 于帮助广 大教 师能更加便捷 的进行 工作量核算 , 利用 C语言对文件的读写技术 , 完成 了教 师工作量核算 系
随着社会 的发展 , 人们 的工作量与 日俱增 , 借助计算机建立相应 的信息管理系统是解决问题 的有效途径u 。教师工作量的核算 工作是各大高校都要进行的主要工作之一 , 而传统 的人工核算方法 已不 能满 足人们 的需要 然 。因此研究 和开发 出一个适 合 自身 需要 的教 师工作量核算系统 , 对于提高各高校部门的工作效率具有 十分重要 的意义。
统 的 设 计 与 开发 。
关键词 : 工作量核 算; 信息管理 ; 言 C语
中图 分 类 号 : P 1 文 献 标 识码 : 文 章 编 号 :0 9 3 4 (02 0 — 98 0 T 31 A 1 0 — 0 42 1) 4 0 5 — 2
De in a d I p e e t t n o a he s W o k o d Ac o n i g S se Ba e n C n ua e sg n m lm n a i f o Te c r ’ r l a c u tn y t m s d o La g g
c语言教师信息管理系统设计

c语言教师信息管理系统设计C语言教师信息管理系统设计,是一项对于教师信息进行管理的系统设计,目的在于提高教师工作的效率和管理的准确性。
该系统的开发主要涉及软件工程、信息管理以及数据库等多方面知识,下面将从以下几个方面进行详细阐述。
1.需求分析系统的需求分析是系统设计中必不可少的一部分。
系统需求的分析包括对所需的功能和性能进行系统性及完整性的描述和定义,主要是围绕教师信息管理所需的功能模块展开,包括教师个人信息、考勤管理、课表管理、教学资源、工资管理等方面,并根据需求分析结果,进一步确定系统设计方向与需求。
2.系统设计在需求分析的基础上,可进行系统设计。
系统设计包含了以下几个方面,包括架构设计、数据设计、接口设计、编码实现等,具体涉及到0号架构、界面设计、算法设计、数据库设计等,不断优化并改善系统架构,以提高系统的灵活性与可维护性。
3.数据库管理数据库管理是系统设计的重要部分。
设计一个合理的数据库,是提高系统运行效率和智能管理的基础。
在教师信息的管理中,数据的存储和查询是一个必要的环节,并且数据中应包括教师姓名、年龄、身份证号码、工资情况等。
因此,在进行数据库管理时,可采用MySQL 等数据库,并通过SQL语句进行数据的增删改查。
4.系统测试系统测试主要是对已经开发的系统进行测试,以验证系统设计和编码是否达到预期要求,并排除系统开发中可能出现的错误和漏洞,保证系统的功能完整性和稳定性。
系统测试主要包括单元测试、集成测试、系统测试等多个环节,同时也应该依据不同的设备和基础环境进行测试,确保系统能够适应不同的运行环境。
综上,C语言教师信息管理系统设计,是一项系统性的工程,要想做好这项工作,需要多专业知识的综合运用,并不断进行系统优化和改进,以满足教学管理的需要。
同时,还需要注意系统的安全性和保密性问题,确保系统开发过程中,教师个人的信息被保护得当。
C语言的教务管理系统(2000行代码)

C语言教务管理系统一、程序结构图二、程序运行截图1. 个人信息简介2.修改颜色3.注册界面4. 信息保存至文件5.登录界面6.管理员录入信息7. 学生信息录入8.学生成绩录入9.学生课程表录入10.学生信息查询界面11学生信息查询12.学生成绩查询13.学生课表查询三、代码(一个cpp)#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> #include <conio.h>#include"windows.h"#define student_num 1000 /*定义1000个学生*/#define teacher_num 5 /*定义5个老师(管理员)*/int is_my_student(struct student *p,int *size); /*声明返回第i+1个学生的函数*/ int is_my_teacher(struct teacher *p,int *size); /*声明返回第i+1个老师的函数*/ int length_student_name(char *p); /*声明验证用户名函数*/int length_student_password(char *p); /*声明验证密码长度函数*/int length_teacher_name(char *p); /*声明验证用户名函数*/int length_teacher_password(char *p); /*声明验证密码长度函数*/int show_menu_login(); /*声明登录菜单函数*/int show_menu_register(); /*声明注册菜单函数*/int show_teacher_select(); /*声明教师录入菜单函数*/int show_student_select(); /*声明学生查询菜单函数*/int student_register(struct student *ptr_student,int *size); /*声明学生注册函数*/ int teacher_register(struct teacher *ptr_teacher,int *size); /*声明老师注册函数*/ int vaild_student_name(char *p); /*声明验证用户名函数*/int vaild_student_password(char *p); /*声明验证密码函数*/int vaild_teacher_name(char *p); /*声明验证用户名函数*/int vaild_teacher_password(char *p); /*声明验证密码函数*/int vaild_two_password(char *p1,char *p2); /*声明验证两次密码是否相同函数*/ int yes_no_return(); /*声明选择是否返回上一层函数*/void load(); /*声明加载函数*/void register_(int *count1,int *count2); /*声明注册函数*/void display_student(struct student stu); /*声明显示学生信息函数*/void display_teacher(struct teacher tea); /*声明显示老师信息函数*/void student_file1(); /*将保存的学生的账号密码存入文件中*/ void student_file2(); /*将保存的学生的个人信息存入文件中*/ void student_file3(); /*将保存的学生的成绩存入文件中*/void teacher_file(); /*将保存的老师的账号密码存入文件中*/ void input_information(int count); /*声明输入学生信息函数*/void input_score_menu(int count); /*声明输入学生成绩函数*/void color(); /*声明选择窗体颜色函数*/void print_stu_information(int count_stu); /*声明输出账号为num的学生的信息函数*/void print_stu_score(int count_stu); /*声明输出账号为num的学生的成绩函数*/void show_menu(); /*声明初始化界面函数*/void input(); /*声明输入函数*/void menu1(); /*声明教师录入课程表主菜单函数*/void menu2(); /*声明学生查询课程表主菜单函数*/void rank(); /*声明显示时间顺序函数*/void querymenu3(); /*声明查询函数*/void looktime(); /*声明按照时间查询函数*/void looklessonname(); /*声明按照课程名查询函数*/void add(); /*声明保存函数*/void amend(); /*声明修改课程函数*/void amend1(); /*声明修改课程子函数*/void amendnews(int i); /*声明修改整个课程信息函数*/void amendtime(int i); /*声明修改课程时间函数*/void amendlessonname(int i); /*声明修改课程课程名函数*/void amendclassroom(int i); /*声明修改课程教室函数*/void deleted(); /*声明删除函数*/void add_score(int count); /*声明添加学生成绩函数*/void xiugai_score(int count); /*声明修改学生成绩函数*/void shanchu_score(int count); /*声明删除学生成绩函数*/void chaxun_score(int count); /*声明按要求查询学生成绩函数*/void paixu_score(int count); /*声明学生成绩排序函数*/void tongji_score(int count); /*声明学生成绩统计函数*/float chinese(int count); /*声明计算语文成绩最大值函数*/int chr(int count); /*声明计算语文成绩及格人数的函数*/ float english(int count); /*声明计算英语成绩最大值函数*/int ehr(int count); /*声明计算英语成绩及格人数的函数*/ float math(int count); /*声明计算数学成绩最大值函数*/int mhr(int count); /*声明计算数学成绩及格人数的函数*/ float computer(int count); /*声明计算计算机成绩最大值函数*/int thr(int count); /*声明计算计算机成绩及格人数的函数*/float PE(int count); /*声明计算体育成绩最大值函数*/int phr(int count); /*声明计算体育成绩及格人数的函数*/ float sum_score(int count); /*声明计算总分成绩最大值函数*/ void load_student(int a); /*声明启动学生函数*/void load_teacher(int a); /*声明启动老师函数*/struct student /*学生结构体*/{/*个人信息*/int student_id; /*账号*/char student_name[20]; /*姓名*/char password[16]; /*密码*/int age; /*年龄*/char qq[12]; /*QQ号*/char tel[12]; /*电话*/int grade; /*年级*//*各科成绩*/float chinese; /*语文分数*/float english; /*英语分数*/float math; /*数学分数*/float computer; /*计算机分数*/float PE; /*体育分数*/float sum; /*总分*//*课程表*/char time[10]; /*时间*/char lessonname[20]; /*课程名*/char teacher[20]; /*授课老师*/char classroom[10]; /*教室*/char hours[10]; /*第几节课*/int weeks; /*周时*/};struct teacher /*老师结构体*/ {int teacher_id; /*账号*/char teacher_name[20]; /*姓名*/char password[16]; /*密码*/};struct student our_student[student_num]; struct teacher our_teacher[teacher_num];void main() /*主函数*/{system("color f0"); /*初始化背景颜色*/show_menu(); /*制作人信息简介*/load();}void load() /*启动函数*/{int flag=1; /*控制循环结束的变量*/int a=0,b=0; /*记录已注册的学生的人数a为学生个数b为老师个数*/int *count1=&a,*count2=&b; /*指向学生人数和老师人数的指针*/int correct_student,correct_teacher;color();register_(count1,count2); /*注册学生和老师的帐号*/student_file1();teacher_file();while(flag){switch(show_menu_login()) /*显示登录菜单*/{case 1: /*选择1,进入学生登录*/if(correct_student=is_my_student(our_student,count1)){printf("\n ◆学生登录成功!\n");display_student(our_student[correct_student-1]);printf("\n");printf(" ");system("pause");load_student(a);}elseprintf("\n登录失败!\n");printf("\n");printf(" 提示:按Y退出登录界面,按N返回登录界面!!!\n");flag=yes_no_return();system("cls");break;case 2: /*选择2,进入老师登录,即管理员登录*/ if(correct_teacher=is_my_teacher(our_teacher,count2)){printf("\n ◆管理员登录成功!\n");display_teacher(our_teacher[correct_teacher-1]);printf("\n");printf(" ");system("pause");load_teacher(a);}elseprintf("\n登录失败!\n");printf("\n");printf(" 提示:按Y退出登录界面,按N返回登录界面!!!\n");flag=yes_no_return();system("cls");break;case 3: /*选择3,退出登录*/system("cls");flag=0;break;default:printf("请正确输入1-3:");system("cls");}}}void load_student(int a) /*启动学生函数*/{int flag=1;system("cls");while(flag){switch(show_student_select()){case 1: /*选择1,学生信息查询*/system("cls");print_stu_information(a);printf("\n");printf(" 提示:按Y退出学生查询界面,按N返回学生查询界面!!!\n");flag=yes_no_return();system("cls");break;case 2: /*选择2,学生成绩查询*/system("cls");print_stu_score(a);printf("\n");printf(" 提示:按Y退出学生查询界面,按N返回学生查询界面!!!\n");flag=yes_no_return();system("cls");break;case 3: /*选择3,学生课表查询*/menu2();printf(" 提示:按Y退出学生查询界面,按N返回学生查询界面!!!\n");flag=yes_no_return();system("cls");break;case 4: /*选择4,退出查询界面*/system("cls");flag=0;break;default:printf("请正确输入1-4:");system("cls");}}}void load_teacher(int a) /*启动老师函数*/{int flag=1;system("cls");while(flag){switch(show_teacher_select()){case 1: /*选择1,学生信息录入*/input_information(a);system("cls");student_file2();printf("\n 提示:按Y退出教师录入界面,按N返回教师录入界面!!!\n");flag=yes_no_return();system("cls");break;case 2: /*选择2,学生成绩录入*/input_score_menu(a);system("cls");student_file3();printf("\n 提示:按Y退出教师录入界面,按N返回教师录入界面!!!\n");flag=yes_no_return();system("cls");break;case 3: /*选择3,学生课表录入*/menu1();printf(" 提示:按Y退出教师录入界面,按N返回教师录入界面!!!\n");flag=yes_no_return();system("cls");break;case 4: /*选择4,退出管理界面*/system("cls");flag=0;break;default:printf("请正确输入1-4:");system("cls");}}}int length_student_name(char *p) /*验证用户名是否合法*/ {int l;l=strlen(p);if(l>20||l<1)return 0;elsereturn 1;}int vaild_student_name(char *p) /*判断用户名是否有效*/{int i=0;int len=strlen(p);if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) /*判断首字母是不是字母*/ {for(i=0;i<len;i++){if(!(p[i]='_'||(p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z')||(p[i]>='0'&&p[i]<=' 9'))) /*判断后面的字符是否有效*/return 0;}return 1;}elsereturn 0;}int length_student_password(char *p) /*密码长度有效性验证*/{int len;len=strlen(p);if(len<6||len>16)return 0;elsereturn 1;}int vaild_student_password(char *p) /*密码的有效性验证*/{int i=0;for(;*p!='\0';p++){if(!((*p>='a'&&*p<='z')||(*p>'A'&&*p<'Z')||(*p>='0'&&*p<='9'))) return 0;}return 1;}int vaild_two_password(char *p1,char *p2) /*验证两次密码是否相同*/{if(strcmp(p1,p2)==0)return 1;elsereturn 0;}int student_register(struct student *ptr_student,int *size) /*完成注册功能*/{char password[16];char repassword[16];if(*size==student_num){puts(" ◆注册人数已满!");printf("\n");return 0;}system("cls");printf("\n\n");printf(" ★请输入注册学生姓名:");fflush(stdin);gets(ptr_student[*size].student_name);if(!(length_student_name(ptr_student[*size].student_name)&&vaild_student_name(ptr_student[*size].student_name))){printf(" ◆您输入的姓名无效,学生姓名在1-20之间,首字符为字母,后面必须为字母、数字或下划线!!!");return 0;}printf("\n");printf(" ★请输入注册密码:");fflush(stdin);gets(password);printf("\n");printf(" ★请再次输入注册密码:");fflush(stdin);gets(repassword);printf("\n");if(!vaild_two_password(password,repassword)){printf("\n №:两次输入的密码不一致!!!");printf("\n");return 0;}elsestrcpy(ptr_student[*size].password,password);if(!(length_student_password(ptr_student[*size].password)&&vaild_student_pa ssword(ptr_student[*size].password))){printf(" ◆您输入的密码无效,密码应在6-16位之间,密码只能包含字母和数字!!!");printf("\n");return 0;}printf(" ★您的编号为:%d,这将是您的登录账号!!!",ptr_student[*size].student_id=20150000+*size);return 1;}int is_my_student(struct student *p,int *size) /*如果登录成功则返回第i+1个学生的信息,否则返回0*/{int i;int zhanghao;char mima[18];system("cls");printf("\n\n");printf(" ★请输入您的账号:");scanf("%d",&zhanghao);fflush(stdin);printf("\n");printf(" ★请输入您的密码:");gets(mima);for(i=0;i<*size;i++){if((zhanghao==p[i].student_id)&&(strcmp(mima,p[i].password)==0)) return i+1;}return 0;}void display_student(struct student stu) /*显示学生信息*/{printf("\n ★您的账号是:%d\n",stu.student_id);}int length_teacher_name(char *p) /*验证用户名是否合法*/{int l;l=strlen(p);if(l>20||l<1)return 0;elsereturn 1;}int vaild_teacher_name(char *p) /*判断用户名是否有效*/{int i=0;int len=strlen(p);if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) /*判断首字母是不是字母*/ {for(i=0;i<len;i++){if(!(p[i]='_'||(p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z')||(p[i]>='0'&&p[i]<=' 9'))) /*判断后面的字符是否有效*/return 0;}return 1;}elsereturn 0;}int length_teacher_password(char *p) /*密码长度有效性验证*/{int len;len=strlen(p);if(len<6||len>16)return 0;elsereturn 1;}int vaild_teacher_password(char *p) /*密码的有效性验证*/{int i=0;for(;*p!='\0';p++){if(!((*p>='a'&&*p<='z')||(*p>'A'&&*p<'Z')||(*p>='0'&&*p<='9'))) return 0;}return 1;}int teacher_register(struct teacher *ptr_teacher,int *size) /*完成注册功能*/{char password[16];char repassword[16];if(*size==teacher_num){puts(" ◆注册人数已满!");printf("\n");return 0;}system("cls");printf("\n\n");printf(" ★请输入注册教师姓名:");fflush(stdin);gets(ptr_teacher[*size].teacher_name);if(!(length_teacher_name(ptr_teacher[*size].teacher_name)&&vaild_teacher_na me(ptr_teacher[*size].teacher_name))){printf(" ◆您输入的姓名无效,教师姓名在1-20之间,首字符为字母,后面必须为字母、数字或下划线!!!");printf("\n");return 0;}printf("\n");printf(" ★请输入注册密码:");fflush(stdin);gets(password);printf("\n");printf(" ★请再次输入注册密码:");fflush(stdin);gets(repassword);printf("\n");if(!vaild_two_password(password,repassword)){printf("\n №:两次输入的密码不一致!!!");printf("\n");return 0;}elsestrcpy(ptr_teacher[*size].password,password);if(!(length_teacher_password(ptr_teacher[*size].password)&&vaild_teacher_password(ptr_teacher[*size].password))){printf(" ◆您输入的密码无效,密码应在6-16位之间,密码只能包含字母和数字!!!");printf("\n");return 0;}printf(" ★您的编号为:%d,这将是您的登录账号。
教师系统管理c语言课设概要设计

教师系统管理c语言课设概要设计
概要设计主要包括以下几个方面:系统需求分析、系统结构设计、功能模块设计和数据库设计。
系统需求分析:
1. 了解教师系统的基本需求,如教师信息管理、课程信息管理、学生信息管理等。
2. 了解系统所需的技术要求,如使用C语言作为开发语言,使用MySQL数据库等。
系统结构设计:
1. 系统采用客户端-服务器模式。
2. 客户端部分包括用户界面和业务处理模块,服务器部分负责数据存储和管理。
功能模块设计:
1. 教师信息管理模块:包括教师个人信息的增删改查功能。
2. 课程信息管理模块:包括课程的增删改查功能。
3. 学生信息管理模块:包括学生信息的增删改查功能。
4. 成绩管理模块:包括成绩的录入和查询功能。
5. 数据统计模块:包括课程平均成绩、学生平均成绩等数据的统计功能。
数据库设计:
1. 设计数据库表结构,包括教师表、课程表、学生表和成绩表等。
2. 设计表之间的关系,如教师与课程之间为一对多关系,学生与成绩之间为一对多关系。
以上为教师系统的概要设计,具体的实施细节可以根据实际情况进行调整和完善。
C语言教师管理系统代码

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>/*函数声明*/void input(); // 此函数功能是输入教师信息int menu();//此函数是一个菜单//学号:struct data{int year;int month;int day;};struct teacher{char num[15];char name[30];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",a[i].num);printf("请输入教师姓名:");scanf("%s",a[i].name);printf("请输入教师出生日期:");scanf("%d%d%d",&a[i].bir.year,&a[i].bir.month,&a[i].bir.day);printf("请输入教师性别:");getchar();scanf("%c",&a[i].sex);printf("请输入教师根本工资:");scanf("%f",&a[i].jbgz);printf("请输入教师津贴:");scanf("%f",&a[i].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 %f\n",a[i].num,a[i].name,a[i].bir.year,a[i].bir.month,a[i].bir .day,a[i].sex,a[i].jbgz,a[i].jt,a[i].jbgz+a[i].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((a[j].jbgz+a[j].jt)>(a[i].jbgz+a[i].jt))k=j;if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}output(a,n);}//查找指定姓名的教师信息,假设不存在,给出提示信息void searchbyname(struct teacher a[],int n){char name[20];int flag=0;int i;printf("请输入要查找的教师姓名:\n");getchar();gets(name);for(i=0;i<n;i++){if(strcmp(name,a[i].name)==0){printf("工作号,姓名,出生日期,性别,根本工资,津贴,总工资:\n");printf("%s %s %d %d %d %c %f %f %f\n",a[i].num,a[i].name,a[i].bir.year,a[i].bir.month,a[i].bir.day, a[i].sex,a[i].jbgz,a[i].jt,a[i].jbgz+a[i].jt);flag=1;}}if(flag==0)printf("查无此人!\n");}//查找根本工资最高的教师信息void searchbyjbgz(struct teacher a[],int n){struct teacher temp;int i;temp=a[0];for(i=1;i<n;i++){if(a[i].jbgz>temp.jbgz)temp=a[i];}printf("工作号,姓名,出生日期,性别,根本工资,津贴,总工资:\n");printf("%s %s %d %d %d %c %f %f %f\n",temp.num,,temp.bir.year,temp.bir.month,te mp.bir.day,temp.sex,temp.jbgz,temp.jt,temp.jbgz+temp.jt);}//修改指定职工号得教师信息void repeat(struct teacher a[],int n){char temp[20];int flag=0;int i;printf("请输入要修改的职工号:\n");getchar();gets(temp);for(i=0;i<n;i++){if(strcmp(temp,a[i].num)==0){printf("%s %s %d %d %d %c %f %f %f\n",a[i].num,a[i].name,a[i].bir.year,a[i].bir.month,a[i].bir.day, a[i].sex,a[i].jbgz,a[i].jt,a[i].jbgz+a[i].jt);printf("请重新输入职工号.姓名.出生日期.性别.根本工资.津贴:\n");scanf("%s %s %d %d %d %c %f %f",a[i].num,a[i].name,&a[i].bir.year,&a[i].bir.month,&a[i].bir.day, &a[i].sex,&a[i].jbgz,&a[i].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 %f\n",a[i].num,a[i].name,a[i].bir.year,a[i].bir.month,a[i].bir .day,a[i].sex,a[i].jbgz,a[i].jt,a[i].jbgz+a[i].jt);}void main(){int num;struct teacher tea[3];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"); //清屏}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院课程设计报告C程序设计课程设计专业电子信息工程班级姓名学号指导教师2016年12 月·新能源与动力工程学院课程设计任务书课程名称: C语言课程设计指导教师(签名):班级:姓名:学号:指导教师评语及成绩评定表指导教师签字:年月日目录前言 ............................................................................................................................................... - 5 -一、需求分析 ................................................................................................................................. - 5 -1、安全性分析 ..................................................................................................................... - 5 -2、稳定性分析 ..................................................................................................................... - 5 -3、主要功能分析.................................................................................................................... - 6 -二、具体设计流程 ......................................................................................................................... - 7 -1、小组分工 ........................................................................................................................... - 7 -2、程序设计流程图................................................................................................................ - 8 -三、详细实现 ................................................................................................................................. - 9 -(一)main函数............................................................................................................. - 9 -(二)shuru()函数.................................................................................................. - 11 -四、测试 ....................................................................................................................................... - 12 -五、心得体会 ............................................................................................................................... - 14 -六、致谢 ....................................................................................................................................... - 14 -参考文献 ....................................................................................................................................... - 15 -附录1—用户手册 ........................................................................................................................ - 16 -附录2—程序代码 ........................................................................................................................ - 17 -前言随着高等学校的快速发展,高校教师的规模越来越大,教职工的数量也越来越多,每年对高校教师的评教管理无疑是一项琐碎、复杂而又十分细致的工作。
关于工作量的计算,项目繁多,而且一般不允许出错。
在以往,教务部门对教师工作量的统计工作一直都是采取手工的方式,每年需填制大量的表格,这就会耗费工作人员大量的时间和精力。
如若采用专门的计算机管理系统,不仅能够保证工作量核算准确无误、快速输出,而且还可以利用计算机对有关工作量的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高教师工作量管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
使用计算机管理系统来管理高校教师工作量已成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高管理效率和水平。
高校教师工作量管理系统便是以计算机为工具,通过对工作量管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化、智能化,也提高了透明性和互动性。
一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。
该系统主要适用于学校教务处的工作人员统计教师的课程量,系统首先要功能齐全,操作简便,还应该具有安全、稳定的特点。
1、安全性分析系统管理的数据涉及到学院的所有教师,数据量较,,大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。
2、稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理·正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。
3、主要功能分析计算每个老师在一个学期中所教课程的总工作量。
(教师单个教学任务的信息为:教师号、姓名、性别、职称、任教课·程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)A、教师信息处理(1) 输入教师授课教学信息,包括教师号、姓名、性别··、职称、任教课程、班级、班级数目、理论课时、实验课时。
(2) 插入(修改)教师授课教学信息:(3) 删除教师授课教学信息:(4) 浏览教师授课教学信息:B、教师工作量数据处理:(1) 计算单个教学任务总课时。
计算原则如下表:=所有单个教学任务总课时之和。
(3)教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
C、教师综合信息输出提示:输出教师信息到屏幕。
整个程序的设计可分为7部分,即main函数,shuru()函数,xiugai()函数,shanchu()函数,liulan()函数,chaxun()函数,以及最后的退出函数。
A.main函数。
这是整个程序的主函数,调用其他函数来完成功能的实现。
B. shuru()函数。
输入教师的一些基本信息。
C. xiugai()函数。
修改教师的信息。
D. shanchu()函数。
删除教师管理系统的教师信息。
E. liulan()函数。
显示所输入的教师的信息。
F. chaxun()函数。
通过教师号,查询教师的信息。
G. 退出系统。
退出运行界面。
二、具体设计流程1、小组分工图(1)小组分工2、程序设计流程图图(2)主函数流程图图(3)工作量计算流程图图(4)主要菜单流程图三、详细实现(一)main函数void main()//主函数{int t;printf(" 欢迎进入教师工作量管理系统\n");printf("--------------------------------------------------------\n");do{printf(" *** 按1,输入信息*** \n");printf(" *** 按2,修改信息*** \n");printf(" *** 按3,删除信息*** \n");printf(" ***按4,浏览信息*** \n");printf(" *** 按5,查询信息*** \n");printf(" *** 按0,退出系统*** \n");printf("--------------------------------------------------------\n");printf("请输入选项(0-6):");scanf("%d",&t);if(t<=0&&t>=5){do{printf("请重新输入选项(0-6):");scanf("%d",&t);}while(6<=t&&t<=0);}switch(t){case 0:break;case 1:shuru();break;case 2:xiugai();break;case 3:shanchu();break;case 4:liulan();break;case 5:chaxun();break;}}while(t!=0);}(二)shuru()函数void shuru(){int j;int d=1,c;if(n==0)tt=tea;printf("请输入教师号:");scanf("%s",tt->number);printf("请输入姓名:");scanf("%s",tt->xingming);printf("请输入性别:");scanf("%s",tt->sex);printf("请输入职称;");scanf("%s",&tt->zhicheng);printf("请输入任教课程:");scanf("%s",&tt->kecheng);printf("请输入班级:");scanf("%d",&tt->banji);printf("请输入班级数目(>=2):");scanf("%d",&tea[i].shumu);if(tea[i].shumu<2)do{printf("请重新输入(>=2):");scanf("%d",&tea[i].shumu);}while(tea[i].shumu<2);printf("请输入理论课时:");scanf("%lf",&tt->lilunkeshi);printf("请输入实验课时:");scanf("%lf",&tt->shiyankeshi);n++;i++;tt++;printf("信息输入完毕!\n");printf("-------------------------------------------------------------\n"); }四、测试输入教师信息:修改教师信息:删除教师信息:浏览教师信息: 查询教师信息:五、心得体会对于这次我们组设计的教师工作量管理系统,我感觉自己花了很多的时间并投入很多努力,虽然总是一次一次出现错误,并感到特气馁,但我还是坚持了下来,通过同学和老师的帮助,把错误一个一个都解决掉了,最后才得以成功。