《2022年班级信息管理系统 2.pdf》由会员分享,可在线阅读,更多相关《2022年班级信息管理系统 2.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(1)信息:系别 班级 级别 专业 班级 班主任 人数 男生人数女生人数少数民族人数(2)设计要求a.实现信息的录入、保存功能b.实现信息的查找功能C.实现信息的插入、删除、修改功能#include#include#include#include typedef struct Student/学生信息 signed short id;char name11;char sex7;signed short age;char telNum16;Student;typedef struct Node Student data;Node*next;Node;static Node*begin=NULL;
2、/哨兵结点static signed short len=0;/链表长度void printMenu();/打印菜单void printBye();/打印结束语void printList();/打印所有学生信息void printStudent(Student st);/打印学生信息Node*lookupNode(signed short stid);/根据学号查询学生信息。int addNode(Student st);/添加学生信息。成功返回链表长度。内存分配失败-1;信息重复 0 int deleteNode(signed short stid);/根据学号删除学生信息。成功返回链表长
3、度;未找到-1 int updateNode(Student st);/根据学号修改学生信息。成功返回链表长度;未找到 0 void main()/初始化链表。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -begin=(Node*)malloc(sizeof(Node);begin-next=NULL;printf(n);printf(-班级信息管理系统-n);printf(-太原科技大学2011-1-3-n);printf(-n);printf(n);printMenu();while(1)char ch;ch=getchar();fflush(stdin);Stu
4、dent student;memset(&student,0,sizeof(Student);switch(ch)case 1:printf(-添加学生信息。(学号为0 结束)n);while(1)printf(请输入新学号:);scanf(%d,&student.id);if(!student.id)break;printf(请输入学生姓名:);fflush(stdin);gets(student.name);printf(请输入学生姓别:);scanf(%s,student.sex);printf(请输入学生年龄:);scanf(%d,&student.age);printf(请输入学生电
5、话:);scanf(%s,student.telNum);int succ=addNode(student);if(succ)if(-1=succ)printf(内存错误!请重新输入!n);else printf(对不起!该学号已被占用!n);printf(n);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -break;case 2:printf(-删除学生信息。(学号为0 结束)n);while(1)signed short stid=0;printf(请输入要删除学生的学号:);fflush(stdin);scanf(%d,&stid);if(!stid)brea
6、k;Node*delNode=lookupNode(stid);if(!delNode)printf(对不起!你要删除的记录不存在。n);else printStudent(delNode-data);printf(您确定要删除这条记录吗?(任意键删除/n 取消)n);fflush(stdin);char cDelete=getchar();if(n=cDelete)continue;printf(删除成功!剩余记录数:%dn,deleteNode(stid);printf(n);break;case 3:printf(-修改学生信息。(学号为0 结束)n);while(1)signed sh
7、ort stid=0;printf(请输入要修改学生的学号:);fflush(stdin);scanf(%d,&stid);if(!stid)break;Node*updataNode=lookupNode(stid);if(!updataNode)printf(对不起!你要删除的记录不存在。n);else printStudent(updataNode-data);Student student;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -student.id=stid;printf(修改学生姓名:);fflush(stdin);gets(student.name
8、);printf(修改学生姓别:);scanf(%s,student.sex);printf(修改学生年龄:);scanf(%d,&student.age);printf(修改学生电话:);scanf(%s,student.telNum);updateNode(student);printf(修改成功!n);printStudent(updataNode-data);printf(n);break;case 4:printf(-查询学生信息。(学号为0 结束)n);while(1)signed short stid=0;printf(请输入要修改学生的学号:);fflush(stdin);sc
9、anf(%d,&stid);if(!stid)break;Node*findNode=lookupNode(stid);if(!findNode)printf(对不起!你要删除的记录不存在。n);else printStudent(findNode-data);printf(n);break;case 5:printList();printMenu();break;case 6:printBye();return;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 7 页 -default:printMenu();void printMenu()printf(-n);printf(-
10、1、增加学生信息。2、删除学生信息。-n);printf(-3、修改学生信息。4、查询学生信息。-n);printf(-5、打印所有信息。6、退出。-n);printf(-n);void printBye()printf(-n);printf(感谢您使用班级信息管理系统n);printf(再 见 n);printf(-n);void printList()Node*temp=begin-next;if(!temp)printf(暂时无记录可供操作!n);while(temp)printStudent(temp-data);temp=temp-next;void printStudent(Stu
11、dent st)printf(学号:%-6d 姓名:%-10s 性别:%-6s 年龄:%-3d 电话:%-15sn,st.id,st.name,st.sex,st.age,st.telNum);printf(-n);名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 7 页 -Node*lookupNode(signed short stid)Node*temp=begin-next;while(temp)if(temp-data.id=stid)return temp;temp=temp-next;return NULL;int addNode(Student st)if(look
12、upNode(st.id)return 0;Node*temp=(Node*)malloc(sizeof(Node);if(!temp)return-1;temp-data=st;temp-next=begin-next;begin-next=temp;return+len;int deleteNode(signed short stid)Node*temp=begin;Node*pos=NULL;while(temp-next)if(temp-next-data.id=stid)pos=temp-next;temp-next=pos-next;free(pos);return-len;temp=temp-next;return-1;int updateNode(Student st)名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -Node*temp=lookupNode(st.id);if(!temp)return 0;temp-data=st;return len;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -