简单的学生信息管理系统(C语言).doc

上传人:M****1 文档编号:554760365 上传时间:2023-01-21 格式:DOC 页数:6 大小:20.50KB
返回 下载 相关 举报
简单的学生信息管理系统(C语言).doc_第1页
第1页 / 共6页
简单的学生信息管理系统(C语言).doc_第2页
第2页 / 共6页
简单的学生信息管理系统(C语言).doc_第3页
第3页 / 共6页
简单的学生信息管理系统(C语言).doc_第4页
第4页 / 共6页
简单的学生信息管理系统(C语言).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《简单的学生信息管理系统(C语言).doc》由会员分享,可在线阅读,更多相关《简单的学生信息管理系统(C语言).doc(6页珍藏版)》请在金锄头文库上搜索。

1、#include#include /输入函数getch的头文件,不能用getchar,具体请查看两者的区别#include /申请空间的函数malloc的头文件typedef struct /定义结构体类型,包含四项内容,可以自由添加int num;char name10;int age;char sex5;st;typedef struct node /构造结点 (也是结构体变量)st data; /数据域struct node *next; /指针域(指向结构体,也就是自身)list; list *create() /建立一个单链表list *p,*r,*head; /定义结构体指针变量i

2、nt i,n;head = (list *)malloc(sizeof(list); /申请头结点r = head;head-next = NULL; /头结点的指针域先定义为空printf(请输入学生人数:n);scanf(%d,&n);printf(请输入学生个人信息:nn学号,姓名,年龄,性别n);for(i=1;i,&p-,&p-,&p-; /向结点的数据域输入学生信息p-next = NULL;r-next = p; /将头结点指向第一个结点,以此类推。r = r-next;return (head); /返回头结点的地址void output(list *h) / 输出链表中的学生

3、信息list *p;p = h-next; /使p指向第一个结点if(p = NULL) printf(-学生信息为空-nn);while(p!=NULL)printf(学号,姓名,年龄,性别分别是:n);printf(%d,%s,%d,%sn,p-,p-,p-,p-;p = p-next;void research(list *h) /查找链表中某一位学生信息list *p; int k;p = h-next; /使p指向第一个结点printf(请输入要查找学生的学号:n);scanf(%d,&k);while(p & p-!=k)p = p-next; /找到学号为k的结点,如果没有,则p

4、为空if(p)printf(学号,姓名,年龄,性别为:n);printf(%d,%s,%d,%sn,p-,p-,p-,p-;elseprintf(找不到此学生:n);void insert(list *h) / 插入一个学生信息到链表中 (插到链表末尾)list *p,*q,*r;p = h-next;r = h;q = (list *)malloc(sizeof(list); /申请一个新结点printf(请输入插入学生的学号,姓名,年龄,性别:n);scanf(%d%s%d%s,&q-,&q-,&q-,&q-;q-next = NULL;while(p!=NULL)r = p;p = p-

5、next;r-next = q;void dele(list *h) / 在链表中删除某一位学生信息int k;list *p,*r;r = h;p = h-next;printf(请输入要删除学生的学号:n);scanf(%d,&k);while(p & p-!=k)r = p; /找到学号为k的结点,如果没有,则p为空p = p-next;if(p)r-next = p-next;p-next = NULL;free(p);printf(学生信息已删除!nn);elseprintf(找不到此学生nn);int main()int i,j=1;list *p;char c = 13; /13

6、是回车键的ASCII值printf(-n);printf( 学生信息管理系统 n);printf(-n);while(c=13)printf( 1,登记学生信息n);printf( 2,浏览学生信息n);printf( 3,查找学生信息n);printf( 4,插入学生信息n);printf( 5,删除学生信息n);printf(-n);printf(请输入你的选择:n);scanf(%d,&i);switch(i)case 1: p = create();break; /调用各函数,实现功能case 2: output(p);break;case 3: research(p);break;case 4: insert(p);break;case 5: dele(p); break;printf(-继续请敲回车!-n);c = getch();return 0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号