当前位置:网站首页>C学生管理系统 头添加学生节点
C学生管理系统 头添加学生节点
2022-08-05 02:05:00 【joker_0030】
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
//学生节点。
typedef struct _STU
{
char arrStuNum[10];
char arrStuName[10];
int iStuScore;
struct _STU* pNext;//指向下一个节点。
}STUNODE;
//申明链表的头和尾。
STUNODE* g_pHead = NULL;
STUNODE* g_pEnd = NULL;
//链表头部添加信息。
void AddStuMSGToLinkHead(char* arrStuNum[10], char arrStuName[10], int iStuScore);
int main()
{
int nOrder = -1;
char arrStuNum[10] = { '\0' };
char arrStuName[10] = { '\0' };
int iStuScore = -1;
int nFlag = 1;
//显示指令。
ShowOrder();
while (nFlag)
{
printf("请输入操作指令(0为查看指令)\n");
scanf("%d", &nOrder);
switch (nOrder)
{
case 1://添加一个学生信息。
printf("输入学号:");
scanf("%s", arrStuNum);
printf("输入姓名:");
scanf("%s", arrStuName);
printf("输入分数:");
scanf("%d", &iStuScore);//取地址。
AddStuMSG(arrStuNum, arrStuName, iStuScore);
break;
case 10://头添加。
printf("输入学号:");
scanf("%s", arrStuNum);
printf("输入姓名:");
scanf("%s", arrStuName);
printf("输入分数:");
scanf("%d", &iStuScore);//取地址。
AddStuMSGToLinkHead(arrStuNum, arrStuName, iStuScore);
break;
case 2:
printf("请输入学生学号/姓名");
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8://打印数据(链表)。
ShowStuData();
break;
case 9:
nFlag = 0;
break;
case 0:
//查看指令。
ShowOrder();
break;
default:
printf("输入的指令不对");
break;
}
}
//释放链表。
FreeLinkData();
system("pause");
return 0;
}
//链表头部添加信息。
void AddStuMSGToLinkHead(char* arrStuNum[10], char arrStuName[10], int iStuScore)
{
//检测参数的合法性。
if (NULL == arrStuNum || NULL == arrStuName || iStuScore < 0)
{
printf("学生信息输入错误。\n");
return;
}
//创建一个节点。
STUNODE* pTemp = malloc(sizeof(STUNODE));
//成员赋值。
strcpy(pTemp->arrStuNum, arrStuNum);//因为数组做参数传入时则完全是一个指针。
strcpy(pTemp->arrStuName, arrStuName);//因为数组做参数传入时则完全是一个指针。
pTemp->iStuScore = iStuScore;
pTemp->pNext = NULL;
if (NULL == g_pHead || NULL == g_pEnd)
{
//链表为空。
g_pHead = pTemp;
g_pEnd = pTemp;
}
else
{
//新节点的下一个指向头。
pTemp->pNext = g_pHead;
//向前移动一个。
g_pHead = pTemp;
}
}
边栏推荐
- 【Word】Word公式导出PDF后出现井号括号#()错误
- EBS uses virtual columns and hint hints to optimize sql case
- Method Overriding and Object Class
- 优化Feed流遭遇拦路虎,是谁帮百度打破了“内存墙”?
- hypervisor相关的知识点
- 如何看待自己的羞愧感
- leetcode-另一棵树的子树
- 第09章 性能分析工具的使用【2.索引及调优篇】【MySQL高级】
- [Word] #() error occurs after Word formula is exported to PDF
- The use of pytorch: temperature prediction using neural networks
猜你喜欢
直播回放含 PPT 下载|基于 Flink & DeepRec 构建 Online Deep Learning
没有对象的程序员如何过七夕
Method Overriding and Object Class
Xunrui cms website cannot be displayed normally after relocation and server change
iNFTnews | What can NFTs bring to the sports industry and fans?
如何逐步执行数据风险评估
[Unity Entry Plan] Handling of Occlusion Problems in 2D Games & Pseudo Perspective
[Endnote] Word inserts a custom form of Endnote document format
释放技术创新引擎,英特尔携手生态合作伙伴推动智慧零售蓬勃发展
1349. 参加考试的最大学生数 状态压缩
随机推荐
Opencv - video frame skipping processing
[How to smash wool according to the music the couple listens to during the Qixi Festival] Does the background music affect the couple's choice of wine?
如何模拟后台API调用场景,很细!
【日常训练】1403. 非递增顺序的最小子序列
CMS建站流程
Exploding the circle of friends, Alibaba produced billion-level concurrent design quick notes are too fragrant
多线程(2)
Jincang database KingbaseES V8 GIS data migration solution (3. Data migration based on ArcGIS platform to KES)
【Unity入门计划】2D游戏中遮挡问题的处理方法&伪透视
进程在用户态和内核态的区别[独家解析]
Short domain name bypass and xss related knowledge
关于#sql shell#的问题,如何解决?
为什么他们选择和AI恋爱?
Day Fourteen & Postman
How to deal with your own shame
英特尔 XDC 2022 精彩回顾:共建开放生态,释放“基建”潜能
IJCAI2022 | DictBert:采用对比学习的字典描述知识增强的预训练语言模型
Xunrui cms website cannot be displayed normally after relocation and server change
Residential water problems
高数_复习_第1章:函数、极限、连续