资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
通信与信息工程学院高级语言课程设计班 级:电子信息工程 1503姓 名:周阳 刘锦 谷静霆学 号:1507050314 1507050321 1507050334指导教师:刘晓佩 李远征 王静 倪云峰设计时间:2016-07-04 2016-07-24成 绩:评 语:通信与信息工程学院二一七年一、课程设计要求设计教师工作管理系统,并拥有如下功能。1.计算并显示每个老师在一个学期 中所教课程的总工作量。2.输入教师姓名可以查询教师信息。3.可以浏览并删 改教师信息。4.完成教师信息二、程序的功能设计主函数添加一个教师的信息 Void AddTeaMsg(TE ACHER Teacher);删除一个教师的信息Void DeleTeacher( PTEACH pNode);查找一个教师信息PTEACH SearchTeach( char * Name);显示所有教师信息保存void ShowAllTeach er(void);三、程序的数据结构C 语言使用结构体来扩展自定义的数据类型,数据结构如下: #pragma pack(4) /设置结构体的对其方式 typedef struct TEACH /数据域 char ArrTeachNum10;/教工号 char ArrTeachName10;/姓名char ArrTeachSex4;/性别 char ArrTitle10;/职称 char ArrSubject20;/所教课程 char ArrClass36;/所教班级 unsigned int ClassNum ;/班级数目 unsigned int TheoryClaHour ;/理论课时 unsigned int practicerClaHour ;/实践课时 unsigned int AllClaHour ;/总课时/指针域 struct TEACH *pNext;/指向下一个节点 四、程序的函数设计1. 函数的功能描述 main 函数 功能:调用菜单函数所示的函数; Menu()函数 功能:显示给用户所有的功能 AddTeaMsg()函数 功能:增一个教师信息 SearchTeach()函数 功能:查找一个教师信息 DeleTeacher()函数 功能:删除一个教师信息 ShowAllTeacher()函数 功能:显示所有老师信息 2. 函数的调用关系 main 函数调用所有的子函数来完成相应操作; 查找,删除,修改信息函数都必须调用查找函数。五、源程序代码头文件: #ifndef teach #define teach /所需的头文件 #include #include #include #pragma pack(4) /设置结构体的对其方式 typedef struct TEACH /数据域 char ArrTeachNum10;/教工号 char ArrTeachName10;/姓名 char ArrTeachSex4;/性别 char ArrTitle10;/职称 char ArrSubject20;/所教课程 char ArrClass36;/所教班级 unsigned int ClassNum ;/班级数目 unsigned int TheoryClaHour ;/理论课时 unsigned int practicerClaHour ;/实践课时 double AllClaHour ;/总课时/指针域 struct TEACH *pNext;/指向下一个节点 TEACHER; typedef TEACHER * PTEACH;/函数声明/添加一个教师的信息 void AddTeaMsg(TEACHER Teacher); /删除一个教师信息 void DeleTeacher(PTEACH pNode); /查找一个教师信息 PTEACH SearchTeach(char * Name); /显示所有教师信息 void ShowAllTeacher(void); /保存信息进文件 void SaveTeachToFile(void); /菜单函数 void Menu(void);#endif / !teach 源文件: #include“teacher.h“/声明链表的头和尾 TEACHER* pHead = NULL; /O TEACHER* pEnd = NULL; int main(void) /初始化变量 int flag = 1;PTEACH pTemp = NULL; int nOrder = -1; TEACHER Teacher; char Name10 = 0;Menu(); while (flag) printf(“请输入指令:n“); scanf(“%d“, switch (nOrder) case 1:/OK printf(“请输入教工号:“); scanf(“%s“, Teacher.ArrTeachNum); printf(“请输入教师姓名:“); scanf(“%s“, Teacher.ArrTeachName); printf(“请输入性别:“); scanf(“%s“, Teacher.ArrTeachSex); printf(“请输入职称:“); scanf(“%s“, Teacher.ArrTitle); printf(“请输入所授课程:“); scanf(“%s“, Teacher.ArrSubject); printf(“请输入授课班级:“); scanf(“%s“, Teacher.ArrClass); printf(“请输入授课班级数目:“); scanf(“%u“, printf(“请输入理论课时时长:“); scanf(“%u“, printf(“请输入实践课时时长:“); scanf(“%u“, AddTeaMsg(Teacher); break; case 2:/OK printf(“请输入指定教师的姓名:“); scanf(“%s“, Name);pTemp = SearchTeach(Name); if (NULL = pTemp) printf(“该教师信息不存在n“); else printf(“姓名:%sn工号:%sn性别:%sn职称:%sn所教课 程:%sn所教班级:%sn班级数目:%dn理论课时:%dn实践课时:%dn总课 时:%3.2fn“, pTemp-ArrTeachName, pTemp-ArrTeachNum, pTemp- ArrTeachSex, pTemp-ArrTitle, pTemp-ArrSubject, pTemp-ArrClass, pTemp-ClassNum, pTemp-TheoryClaHour, pTemp-practicerClaHour, pTemp-AllClaHour); break; case 3:/OK printf(“请输入指定教师的姓名:“); scanf(“%s“, Name);pTemp = SearchTeach(Name); if (NULL != pTemp) printf(“请输入教工号:“); scanf(“%s“,pTemp-ArrTeachNum); printf(“请输入性别:“); scanf(“%s“, pTemp-ArrTeachSex); printf(“请输入职称:“); scanf(“%s“, pTemp-ArrTitle); printf(“请输入所授课程:“); scanf(“%s“,pTemp-ArrSubject); printf(“请输入授课班级:“); scanf(“%s“,pTemp-ArrClass); printf(“请输入授课班级数目:“); scanf(“%u“, printf(“请输入理论课时时长:“); scanf(“%u“, printf(“请输入实践课时时长:“); scanf(“%u“, break; case 4: SaveTeachToFile(); break;case 5:/OK printf(“请输入指定教师的姓名:“); scanf(“%s“, Name);pTemp = SearchTeach(Name);/删除这个节点 if (NULL != pTemp) DeleTeacher(pTemp); break; case 6:/OK ShowAllTeacher(); break; case 0:/OK exit(1); default: printf(“输入的指令不对!n“); system(“pause“); return 0; /指令菜单 void Menu(void) printf(“*教师信息管理系统 *n“); printf(“*本系统操作指令如下 *n“); printf(“* 1、 增加一个教师信息(链表尾部添加) *n“); printf(“* 2、 查找指定教师的信息(姓名/工号) *n“); printf(“* 3、 修改指定教师的信息 *n“); printf(“* 4、 保存教师的信息到文件中 *n“); printf(“* 5、 删除指定教师的信息 *n“); printf(“* 6、 显示所有教师的信息 *n“); printf(“* 0、 退出系统 *n“); printf(“* n“); /增加一个教师信息 void AddTeaMsg(TEACHER Teacher) /创建一个节点 TEACHER* pTemp = (PTEACH)malloc(sizeof(TEACHER); /由于参数过多,本次设计在此处不检验参数的合法性 /数值部分赋值 pTemp-ClassNum = Teacher.ClassNum; pTemp-practicerClaHour = Teacher.practicerClaHour; pTemp-TheoryClaHour = Teacher.TheoryClaHour; if (2 = pTemp-ClassNum) pTemp-AllClaHour = 1.3*(pTemp-TheoryClaHour + pTemp- practicerClaHour); if (3 = pTemp-ClassNum) pTemp-AllClaHour = 1.7*(pTemp-TheoryClaHour + pTemp- practicerClaHour); if (pTemp-ClassNum = 4) pTemp-AllClaHour = 2.0*(pTemp-TheoryClaHour + pTemp-
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号