数据结构单链表应用(简易学生信息管理系统).doc_第1页
数据结构单链表应用(简易学生信息管理系统).doc_第2页
数据结构单链表应用(简易学生信息管理系统).doc_第3页
数据结构单链表应用(简易学生信息管理系统).doc_第4页
数据结构单链表应用(简易学生信息管理系统).doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1这是主文件建立文件“student-main.cpp” 粘贴保存#include#include#include#include#includestudent-fun.cpp#define PRINT %6d %12s %5.2fn,p-num,p-name,p-score /定义输出格式#define PRINTF 学号 姓名 成绩n char cmd;int num;lklist L;void jiemian() system(cls); printf(n*); printf(n* 欢迎使用简易班级学生信息系统 *); printf(n* *); printf(n*i-增加学生d-删除学生q-退出系统 *); printf(n* f-查询c-修改 l-列出所有学生信息 *); printf(n*n); void ReadCommand() do printf(n 请根据提示输入命令: );fflush(stdin); /清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件scanf(%c,&cmd); while (cmd!=i&cmd!=d&cmd!=l&cmd!=q&cmd!=f&cmd!=c);void Interpret() switch(cmd) case i: insert_lklist(L); break; case d: del_lklist(L);break; case l: list_lklist(L); break; case f: find_lklist(L);break; case c: cor_lklist(L);break; case q: exit(0); void main() L=initial_lklist(); do jiemian(); ReadCommand(); Interpret(); system(pause); /暂停,按任意键继续。 while(cmd!=Q&cmd!=q);2下边是功能部分新建一个student-fun.cpp文件粘贴#include#include#define PRINT %6d %12s %5.2fn,p-num,p-name,p-score /定义输出格式#define PRINTF 学号 姓名 成绩n struct node char name15; int num; float score; struct node *next; typedef struct node* pointer;typedef pointer lklist;lklist initial_lklist() /初始化单链表。 pointer t; t=(node*)malloc(sizeof(node);t-next=NULL;return t;void find_lklist(lklist head) /按序号查找。 int i;printf(n 请输入学号: );scanf(%d,&i);lklist q; pointer p=head;while( (p =NULL)&(p-num!=i) ) p=p-next; if(p!=NULL)printf(PRINTF);printf(PRINT);else printf(信息不存在!n);int length_lklist(lklist head) pointer p=head; int j=0;while(p-next) j+; p=p-next; return j;void insert_lklist(lklist head) /插入一个值为x的元素在第i个位置, pointer s; if( s =(node*)malloc(sizeof(node) ) printf(n 请输入学号:); scanf(%d,&s-num) ; printf(n 请输入姓名:); scanf(%s,s-name) ; printf(n 请输入分数:); scanf(%f,&s-score) ; s-next=head-next; head-next=s; printf(n 你已插入-成功!n); else printf(n 插入操作失败!n); return; void list_lklist(lklist head) printf(n 表中所有元素如下(共 %d 个元素):,length_lklist(head); printf(n*n); printf(PRINTF);if (head-next=NULL) printf(n 表为空!n);else pointer p=head-next; while(p) printf(PRINT); p=p-next; printf(n*n); void del_lklist(lklist head)int i;printf(n 请输入学号: );scanf(%d,&i);lklist q; pointer p=head; int j=0;while( (p!=NULL)&(p-next-num!=i) ) p=p-next; if(p!=NULL)q=p-next;if(q-next=NULL)free(q);elsep-next=q-next;free(q);printf(删除成功!n);void cor_lklist(lklist head)int i;printf(n 请输入学号: );scanf(%d,&i);lklist q;pointer p=head; while( (p!=NULL)&(p-next-num!=i)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论