C语言教师管理系统(2)

2019-07-27 10:17

时:%3.2f\\n\, 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(\, Name);

pTemp = SearchTeach(Name); if (NULL != pTemp) {

printf(\请输入教工号:\);

scanf(\,pTemp->ArrTeachNum); printf(\请输入性别:\);

scanf(\, pTemp->ArrTeachSex); printf(\请输入职称:\);

scanf(\, pTemp->ArrTitle); printf(\请输入所授课程:\); scanf(\,pTemp->ArrSubject); printf(\请输入授课班级:\); scanf(\,pTemp->ArrClass); printf(\请输入授课班级数目:\); scanf(\, &(pTemp->ClassNum)); printf(\请输入理论课时时长:\);

scanf(\, &(pTemp->TheoryClaHour)); printf(\请输入实践课时时长:\);

scanf(\, &(pTemp->practicerClaHour)); }

break; }

case 4: {

SaveTeachToFile(); break; }

case 5: //OK {

printf(\请输入指定教师的姓名:\); scanf(\, Name);

pTemp = SearchTeach(Name);

//删除这个节点 if (NULL != pTemp) {

DeleTeacher(pTemp); }

break; }

case 6: //OK {

ShowAllTeacher(); break; }

case 0: //OK {

exit(1); }

default:

printf(\输入的指令不对!\\n\); } }

system(\); return 0; }

//指令菜单

void Menu(void) {

printf(\教师信息管理系统*********************\\n\);

printf(\本系统操作指令如下*******************\\n\);

printf(\、 增加一个教师信息(链表尾部添加) ***\\n\);

printf(\、 查找指定教师的信息(姓名/工号) ***\\n\);

printf(\、 修改指定教师的信息 ***\\n\);

printf(\、 保存教师的信息到文件中 ***\\n\);

printf(\、 删除指定教师的信息

***\\n\);

printf(\、 显示所有教师的信息 ***\\n\);

printf(\、 退出系统 ***\\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->practicerClaHour); }

//数组部分赋值

strcpy(pTemp->ArrClass, Teacher.ArrClass); strcpy(pTemp->ArrSubject, Teacher.ArrSubject); strcpy(pTemp->ArrTeachName, Teacher.ArrTeachName); strcpy(pTemp->ArrTeachNum, Teacher.ArrTeachNum); strcpy(pTemp->ArrTitle, Teacher.ArrTitle);

strcpy(pTemp->ArrTeachSex, Teacher.ArrTeachSex);

if (NULL == pHead) {

pHead = pTemp;

} else {

pEnd->pNext = pTemp; //链接 }

pEnd = pTemp;

pEnd->pNext = NULL; }

//查找一个教师信息

PTEACH SearchTeach(char * Name) {

PTEACH pTemp = pHead; //检测参数的合法性 if (NULL == Name) {

printf(\姓名输入错误!\\n\); return NULL; }

//判断链表是否为空

if (NULL == pHead || NULL == pEnd) {

printf(\链表为空!\\n\); return NULL; }

//遍历链表

while (pTemp != NULL) {

if (0 == strcmp(pTemp->ArrTeachName, Name)) {

return pTemp; }

pTemp = pTemp->pNext; }

printf(\无此教师信息!\\n\); return NULL; }

//删除一个教师信息

void DeleTeacher(PTEACH pNode) {

PTEACH pTemp = pHead; //判断

if (pHead == pNode) //删除头结点的情况 {

//pTemp = pHead;

pHead = pHead->pNext; free(pTemp); pTemp = NULL;

return; //结束 }

while (pTemp) {

if (pTemp->pNext == pNode) {

//删除

if (pNode == pEnd) //删除尾节点的情况 {

free(pNode); pNode = NULL; pEnd = pTemp;

pEnd->pNext = NULL; return; } else {

//记住要删除的节点

PTEACH p = pTemp->pNext; //链接

pTemp->pNext = pTemp->pNext->pNext; //释放节点 free(p); p = NULL; return; } }

pTemp = pTemp->pNext; } }

//显示所有教师信息

void ShowAllTeacher(void) {

PTEACH pTemp = pHead; while (pTemp != NULL) {

printf(\姓名:%s\\n工号:%s\\n性别:%s\\n职称:%s\\n所教课程:%s\\n所教班级:%s\\n班级数目:%d\\n理论课时:%d\\n实践课时:%d\\n总课

时:%3.2f\\n\,pTemp->ArrTeachName,pTemp->ArrTeachNum,pTemp->ArrTeachSe


C语言教师管理系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:深井降水施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: