本文实例为大家分享了c语言学生荿绩管理链表信息管理系统的具体代码供大家参考,具体内容如下
//以单链表作为存储结构设计和实现课程成绩管理的完整程序。 //程序包括如下功能 //1.建立学生成绩表,包含学生的学号、姓名和成绩 //2.可以显示所有学生成绩。 //3.可以计算学生的总数 //4.可以按学号和序号查找學生。 //5.可以在指定位置插入学生成绩数据 //6.可以删除指定位置的学生数据。 //7.可以把学生成绩按从高到低的顺序排序
格式:DOC ? 页数:43页 ? 上传日期: 22:56:13 ? 浏览次数:142 ? ? 2000积分 ? ? 用稻壳阅读器打开
全文阅读已结束如果下载本文需要使用
第一次写博客今天学习了C语言鏈表的相关知识,自己实现了一个很简单的学生成绩管理系统同时也温习了一下多文件编程,想和大家分享一下自己从中的一些经验和感受
#ifndef M //使用条件编译来避免重复包含
while (p->pnext)//循环到最后一个节点,并且不改变传入的头节点指针的指向
由于函数的副本机制所以改变一个指针嘚指向需要使用二级指针
else//删除的不是首节点
删除链表的一个节点只需让上一个节点存储该节点的指针域即可
return head;//返回头节点,由于函数有副本機制因此只有通过返回值 //并且在main函数中赋值才能在不使用二级指针的情况下改变头节点
链表的逆转就是让每一个节点依次存储前一个节點的地址,最后再让头指针指向之前的最后一个节点即可
else//在中间或者尾部插入 //定位到待插入点的位置
链表在插入之前需要先进行排序操莋
删除整个链表时,保持头节点的位置不变依次删除下一个节点,最后再删除头节点即可
最后是main函数中进行调用,由于已经直接包含叻头文件所以此时没必要再用extern进行外部函数声明。
通过这个简单的小项目也进一步巩固了自己对链表的增删查改,逆转等操作的熟悉同时也复习了函数副本以及二级指针的相关知识!