河北工业大学计算机软件技术根底〔VC〕课程设计报告一、题目:利用单项链表实现简单的学生信息管理〔07〕二、设计思路1、总体设计1)分析程序的功能创立单项链表保存学生的各项信息,学号、姓名、成绩。并能够完成学生信息的插入、删除及信息的显示功能。2)系统总体结构:根据程序要求的功能采纳结构化的设计思想,划分为五个功能模块,即创立链表、插入函数删除函数、显示函数和主函数。2、各功能模块的设计:说明各功能模块的实现方法① 头文件:对自己定义的函数进行函数声明。② 主函数:进行函数的调用,实现各函数的功能,到达预期的目的。③ 函数定义局部:定义各个功能函数,创立链表函数、插入新信息函数、删除信息函数、显示信息函数。3、设计中的主要困难及解决方案1〕在插入新信息时,有插入点在表头、中间、表尾三种情况,为此采纳讨论的方法,把三种情况进行讨论使其分开进行。2〕在删除信息时,有删除的为头结点和中间结点的情况,采纳讨论的方法,把两种情况分开来进行。4、你所设计的程序最终完成的功能1〕创立链表、插入新信息、删除信息、显示信息。2〕测试数据① 输入的数据学号姓名成绩98023LiLi8598044WangTao6999764ZhangXiaobao7299812LiuLifang91② 插入的数据学号姓名成绩96085WangLiPing7798120ZhangLi7599912LiuHai80③ 删除的数据学号姓名成绩99812liulifang91运行结果三、程序清单#include#include"头文件.h"int n;student *creatlist() {student *head; student *p1;student *p2;n=0;head=NULL;p1=new(student); //创立一个新结点p2=p1;cin>>p1->num>>p1->name>>p1->score;while(p1->num!=0) //链表建立过程结束的推断条件{n++;if(n==1) //将链表中第一个新建结点作为表头head=p1;else p2->next=p1; //原链表结点指向新建结点p2=p1;p1=new(student);cin>>p1->num>>p1->name>>p1->score;}delete(p1); p2->next=NULL;return head; //返回表头}#include#include"头文件.h"student *insert(student *head,student *t){student *p0; //待插入点student *p1;student *p2; //p0 插入 p1 之前,p2 之后p1=head;p0=t;if(p1==NULL) //原链表是空表{head=p0;p0->next=NULL;}else{while((p0->num>p1->num)&&(p1->next!=NULL)) //查找待插入点{p2=p1;p1=p1->next;}if(p0->num<=p1->num){ if(p1==head) //要插入的位置在表头 { head=p0; p0->next=p1; } else...