当前位置:网站首页>C student management system Insert the student node at the specified location
C student management system Insert the student node at the specified location
2022-08-05 02:19: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 InSertNod(STUNODE* pTemp, 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;
STUNODE* pTemp = NULL;
//显示指令.
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 11://指定位置添加.
printf("输入需要查找的学号:");
scanf("%s", arrStuNum);
pTemp = FindStuByNum(arrStuNum);
if (NULL != pTemp);
{
//插入.
printf("输入学号:");
scanf("%s", arrStuNum);
printf("输入姓名:");
scanf("%s", arrStuName);
printf("输入分数:");
scanf("%d", &iStuScore);
InSertNod(pTemp, 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 InSertNod(STUNODE* pTemp, char* arrStuNum[10], char arrStuName[10], int iStuScore)
{
//创建节点.
STUNODE* pNewTemp = malloc(sizeof(STUNODE));
//成员赋值.
strcpy(pNewTemp->arrStuNum, arrStuNum);//因为数组做参数传入时则完全是一个指针.
strcpy(pNewTemp->arrStuName, arrStuName);//因为数组做参数传入时则完全是一个指针.
pNewTemp->iStuScore = iStuScore;
pNewTemp->pNext = NULL;
if (pTemp == g_pEnd)//是尾节点.
{
g_pEnd->pNext = pNewTemp;//End node next pointpNewTmep.
g_pEnd = pNewTemp;//End node intopNewTmep.
}
else//中间节点.
{
pNewTemp->pNext = pTemp->pNext;
pTemp->pNext = pNewTemp;
}
}
边栏推荐
- 【解密】OpenSea免费创造的NFT都没上链竟能出现在我的钱包里?
- 转:查尔斯·汉迪:你是谁,比你做什么更重要
- Live preview | 30 minutes started quickly!Look at credible distributed AI chain oar architectural design
- 树形查找(二叉查找树)
- Greenplum Database Fault Analysis - Why Does gpstart -a Return Failure After Version Upgrade?
- DAY22:sqli-labs 靶场通关wp(Less01~~Less20)
- How to deal with your own shame
- RAID磁盘阵列
- SDC简介
- 优化Feed流遭遇拦路虎,是谁帮百度打破了“内存墙”?
猜你喜欢

leetcode 15

释放技术创新引擎,英特尔携手生态合作伙伴推动智慧零售蓬勃发展

LeetCode使用最小花费爬楼梯----dp问题

1349. Maximum number of students taking the exam Status Compression

在这个超连接的世界里,你的数据安全吗

优化Feed流遭遇拦路虎,是谁帮百度打破了“内存墙”?

matlab绘制用颜色表示模值大小的箭头图

Simple implementation of YOLOv7 pre-training model deployment based on OpenVINO toolkit

迁移学习——Distant Domain Transfer Learning

J9数字货币论:web3的创作者经济是什么?
随机推荐
Matlab map with color representation module value size arrow
2022了你还不会『低代码』?数据科学也能玩转Low-Code啦!
How to create an rpm package
iNFTnews | 对体育行业和球迷来说,NFT可以带来什么?
Intel XDC 2022 Wonderful Review: Build an Open Ecosystem and Unleash the Potential of "Infrastructure"
【存储】曙光存储DS800-G35 ISCSI各映射LUN给服务器
select tag custom style
散列表的查找(哈希表)
亚马逊云科技携手中科创达为行业客户构建AIoT平台
【MySQL系列】- LIKE查询 以%开头一定会让索引失效吗
C language diary 9 3 kinds of statements of if
如何基于OpenVINO POT工具简单实现对模型的量化压缩
高数_复习_第1章:函数、极限、连续
Live preview | 30 minutes started quickly!Look at credible distributed AI chain oar architectural design
Optimizing the feed flow encountered obstacles, who helped Baidu break the "memory wall"?
Leetcode brushing questions - 22. Bracket generation
select 标签自定义样式
mysql树状结构查询问题
How to simply implement the quantization and compression of the model based on the OpenVINO POT tool
ARM Mailbox