利用链表实现学生管理系统的增删改查

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{char name[50];char sex[10];int num;int score;struct student* next;
};
void manu()
{printf("--------------------------------------------------------------\n");printf("|                       学生管理系统                         |\n");printf("|-------------------------------------------------------------\n");printf("|  1.导入学生信息                                            |\n");printf("|  2.查找学生信息                                            |\n");printf("|  3.修改学生信息                                            |\n");printf("|  4.删除学生信息                                            |\n");printf("|  5.打印学生信息                                            |\n");printf("|  6.增加学生信息                                            |\n");printf("|  7.结束并退出                                              |\n");printf("--------------------------------------------------------------\n");
}
struct student* creat()
{int i=0;struct student* head = NULL;struct student* next = NULL;struct student* end = next = (struct student*)malloc(sizeof(struct student));printf("请输入学生的姓名、性别、学号、成绩:\n");printf("若想结束录入,请输入end\n");scanf("%s", next->name);scanf("%s", next->sex);scanf("%d", &next->num);scanf("%d", &next->score);i++;while (strcmp(next->name, "end") == 1){if (i == 1){next->next = NULL;end = next;head = end;}else{next->next = NULL;end->next = next;end = next;}next = (struct student*)malloc(sizeof(struct student));scanf("%s", next->name);if (strcmp(next->name, "end") == 0){break;}scanf("%s", next->sex);scanf("%d", &next->num);scanf("%d", &next->score);i++;}return head;
}
void print(struct student*head)
{struct student* n = head;while (n->next != NULL){printf("姓名:%s\n性别:%s\n学号:%d\n成绩:%d\n", n->name, n->sex,n->num, n->score);n = n->next;}printf("姓名:%s\n性别:%s\n学号:%d\n成绩:%d\n", n->name, n->sex, n->num, n->score);
}
void find(struct student* head)
{struct student* n = head;int flag=1;char name[15];printf("请输入学生姓名:");scanf("%s", &name);while (n->next != NULL){if (strcmp(name, n->name) == 0){printf("姓名:%s\n性别:%s\n学号:%d\n成绩:%d\n", n->name, n->sex, n->num, n->score);flag = 0;}n = n->next;}if (strcmp(name, n->name) == 0){printf("姓名:%s\n性别:%s\n学号:%d\n成绩:%d\n", n->name, n->sex, n->num, n->score);flag = 0;}if (flag == 1){printf("-1\n");}
}
void change(struct student*head)
{struct student* n = head;printf("请输入学生姓名:\n");char name[20];scanf("%s", &name);int t,flag=0;char fun[20];while (n->next != NULL){if (strcmp(name, n->name) == 0){flag = 1;break;}n = n->next;}char function[20];if (strcmp(name, n->name) == 0){printf("请输入要修改的部分:(name/sex/num/sore)\n");scanf("%s", function);if (strcmp(function, "name") == 0){scanf("%s", n->name);}if (strcmp(function, "sex") == 0){scanf("%s", n->sex);}if (strcmp(function, "num") == 0){scanf("%d", &n->num);}if (strcmp(function, "sore") == 0){scanf("%d", &n->score);}flag = 1;}if (flag == 0){printf("error");}
}
struct student* del(struct student* head)
{char name[15];printf("请输入需要删除的学生姓名:\n");scanf("%s", &name);struct student* n = head;int k=0; struct student* t = NULL;while (n->next != NULL){if (strcmp(name, n->next->name) == 0){t = n->next;n->next = n->next->next;free(t);break;}else if (strcmp(name, head->name) == 0){t = n;head = n->next;free(t);break;}n = n->next;}if (strcmp(name, n->name) == 0){k++;t = n;n = n->next;free(t);}return head;
}
struct student* add(struct student* head)
{struct student* n = head;struct student* New = (struct student*)malloc(sizeof(struct student));printf("请输入要加入的学生信息:");scanf("%s", New->name);scanf("%s", New->sex);scanf("%d", &New->num);scanf("%d", &New->score);while (n->next != NULL){n = n->next;}n->next = New;New->next = NULL;return head;
}
int main()
{manu();int n = 0;struct student* head = NULL;printf("请输入你的指令 :\n");while (scanf("%d", &n) != EOF){if (n == 1){head = creat();}if (n == 2){find(head);}if (n == 3){change(head);}if (n == 4){head=del(head);}if (n == 5){print(head);}if (n == 6){head=add(head);}if (n == 7){break;}printf("请输入你的指令 :\n");}
}

学生管理系统(大数据实验室)相关推荐

  1. 大数据实验室建设方案

                                大数据实验室建设方案 大数据发展背景 国家政策 2017年1月 工业和信息化部正式发布了<大数据产业发展规划(2016-2020年)> ...

  2. 5万字大数据实验室建设方案能源大数据中心建设方案word

    本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 篇幅有限,无法完全展示,喜欢资料可转发+评论,私信了解更多信息. 大数据实验室建设方案 大数据实验室建设方案 目录 1概述 1.1建设背 ...

  3. BDL 百度研究院大数据实验室的吴海山,做一名数据科学家有怎样的体验,问我吧!

    我是百度研究院大数据实验室的吴海山,做一名数据科学家有怎样的体验,问我吧! 思想 2015-06-16 已关闭提问 如果说"大数据"是一扇门,使人们得以更深入地认识这个世界和世界上 ...

  4. 高校应该如何建设大数据实验室?

    高校如何建设大数据实验室,怎样才能符合学生的需求,帮助师生提高教学效率呢?      实验室建设总目标是搭建一站式教学服务平台,一站式教学服务平台概念是在深刻理解高校学科建设及存在的若干问题上提出.围 ...

  5. 深圳市大数据研究院(医疗大数据实验室)招聘博士/硕士/博士后/科研助理

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> AI算法岗求职群 深圳市大数据研究院下属的医疗大数据实验室项目组面向海内外招聘博士后.博 ...

  6. “大数据“实验室建设解决方案

    致力于打造产教融合就业育人综合服务平台,构建岗.证.赛.书"融通的特色职业人才培养模式.       目前很多高校开设"大数据"这门学科,大数据是一个交叉性很强的学科,要 ...

  7. 深圳市大数据研究院(医疗大数据实验室)招聘博士、博士后、硕士以及科研助理...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 深圳市大数据研究院下属的医疗大数据实验室项目组面向海内外招聘博士后.博士.硕士以及科研助理. 研究院介绍:深 ...

  8. 贴息贷款政策下,高校建立大数据实验室新思路

    高校实验室建设总目标是搭建一站式教学服务平台,一站式教学服务平台概念是在深刻理解高校学科建设及存在的若干问题上提出.围绕着学科建设的各个方面,从专业开设.课程设置.师资培养.教学资源.实验环境.学生实 ...

  9. 高校大数据实验室解决方案

    高校实验室建设总目标是搭建一站式教学服务平台,一站式教学服务平台概念是在深刻理解高校学科建设及存在的若干问题上提出.围绕着学科建设的各个方面,从专业开设.课程设置.师资培养.教学资源.实验环境.学生实 ...

  10. 作者:周涛(1979-),男,博士,启明星辰教授级高级工程师、大数据实验室副主任。...

    周涛(1979-),男,博士,启明星辰教授级高级工程师.大数据实验室副主任,主要研究方向为大数据安全分析.事件关联分析.入侵检测等.

最新文章

  1. VSCode------搭建.net core 2.0,并配置到IIS服务器
  2. OpenStack 系列之File Share Service(Manila)详解
  3. 何为 Serverless 架构模式?这 5 大场景来告诉你!
  4. python opencv 旋转图片
  5. codeforces 498 div3(a-e java)
  6. 爬虫之验证码IP攻防心得——小总结
  7. linux的crontab监控,通过crontab自动监测与管理表空间
  8. QT的QDomAttr类的使用
  9. 解决An error occured while deploying the file. This probably means that the app contains ARM...
  10. SQL server 表copy 到别一张表
  11. 剑指offer之二维数组中查找
  12. JavaScript--函数
  13. delegate 委托方法
  14. HDOJ-2602 Bone Collector [DP-01背包问题]
  15. 在Windows 10上重置忘记密码的4种方法
  16. .net core借助sendCloud实现邮件验证码发送
  17. java bean 首字母大写_javaBean命名规范 get / set 后的首字母大写
  18. C#编程-39:字符和字符串笔记
  19. doNet面试宝典-常见整理(重复率高)
  20. Scala中过滤操作filter与filterNot函数

热门文章

  1. ping: unknown host www.baidu.com的解决
  2. DirectShow编程(2)- 开始DirectShow旅程
  3. Linux中source filename .(点)filename ./filename sh filename的区别
  4. chrome书签变透明看不清怎么办
  5. 搭建一个自己的电影网站?如何做呢
  6. uniapp父子组件传值
  7. 利用python开发的flappy bird 游戏
  8. ros中自定义msg消息并用其他功能包调用
  9. Apple M1 上安装tensorflow开发环境
  10. google map 地理编码API的两种方式