C语言实战项目:学生管理系统(1)
【摘要】 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOC 前言 学生管理系统的添加学生提示:以下是本篇文章正文内容,下面案例可供参考 原理我们的学生管理系统是基于链表来实现的,本节课是针对尾添加来讲解的。链表图: 二、学生管理系统界面while (1) { //3. system("cls");//清空屏幕 //学生管理系统界面 printf("***********...
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
@TOC
前言
学生管理系统的添加学生
提示:以下是本篇文章正文内容,下面案例可供参考
原理
我们的学生管理系统是基于链表来实现的,本节课是针对尾添加来讲解的。
链表图:
二、学生管理系统界面
while (1)
{
//3.
system("cls");//清空屏幕
//学生管理系统界面
printf("*******************学生信息管理系统*********************\n");
printf("*******************本系统操作指令如下*******************\n");
printf("*** 1、 增加一个学生信息 ***\n");
printf("*** 2、 增加一个学生信息(在指定位置添加) ***\n");
printf("*** 3、 查找指定学生的信息(姓名/学号) ***\n");
printf("*** 4、 修改指定学生的信息 ***\n");
printf("*** 5、 删除指定学生的信息 ***\n");
printf("*** 6、 显示所有学生的信息 ***\n");
printf("*** 0、 退出系统 ***\n");
printf("********************************************************\n");
//输入
int a;
scanf_s("%d", &a);
//switch
switch (a)
{
case 1://添加一个学生
addstudent();
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 0://退出系统
return 0;
break;
default://输入错误
printf("输入有解,请重新输入!!!");
}
}
实现功能
定义一个学生结构体
struct Node//学生结构体
{
int stuID;//学号
char name[15];//学生名字
int fraction;//学生分数
struct Node* pNext;//指向下一个节点的指针
};
里面的成员可以自己定义
因为是尾添加的链表,所以要有指向下一个节点的指针。
定义头尾指针
意义:为了后面的遍历
//设置头尾指针
struct Node* pHead = NULL;//指向NULL,因为现在还没有节点
struct Node* pEnd = NULL;//指向NULL,因为现在还没有节点
实现功能0和1
0.
在case 0:后面加return 0;
1.添加一个学生
(1)添加学生就需要输入学生的信息:
int ID_;//学号
char name_[15];//名字
int fraction_;//学生分数
printf("请输入学号:");
scanf_s("%d", &ID_);
printf("请输入名字:");
scanf_s("%s", name_,15);
printf("请输入分数:");
scanf_s("%d", &fraction_);
(2)但是没有学生节点 所以需要创建一个学生节点
//创建学生节点
struct Node* Temp = (struct Node*)malloc(sizeof(struct Node));
使用malloc申请空间
(3)但是你输入后还要添加到学生节点中
//初始化学生节点变量
strcpy(Temp->name, name_);
Temp->fraction = fraction_;
Temp->stuID = ID_;
Temp->pNext = NULL;
切记:字符串的赋值一定要用strcpy()
pNext可以指向NULL,也可以不指向(不指向他也是NULL)
(4.)节点指针初始化
//节点指针初始化
if (pHead == NULL)
{
//头尾指向他
pHead = Temp;
pEnd = Temp;
}
else
{
//向后移动
pEnd->pNext = Temp;
//尾指向他
pEnd = Temp;
}
图1:
图2:
写上提示:
printf("添加成功!!!");
Sleep(1000);
测试:
总结
本节课是添加学生的一个学习
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)