当前位置:网站首页>C 学生管理系统_添加学生
C 学生管理系统_添加学生
2022-08-04 00:38:00 【joker_0030】
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.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 AddStuMSG(char* arrStuNum[10], char srrStuName[10], int iStuScore);
int main()
{
int nOrder=-1;
char arrStuNum[10] = {'\0'};
char arrStuName[10] = {'\0'};
int iStuScore=-1;
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("***8、显示所有学生信息***\n");
printf("***9、退出系统***\n");
printf("*****************************************************\n");
scanf("%d", &nOrder);
switch (nOrder)
{
case 1:
printf("输入学号:");
scanf("%s", arrStuNum);
printf("输入姓名:");
scanf("%s", arrStuName);
printf("输入分数:");
scanf("%d", &iStuScore);//取地址。
void AddStuMSG(char* arrStuNum[10], char arrStuName[10], int iStuScore);
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
default:
printf("输入的指令不对");
break;
}
system("pause");
return 0;
}
//添加一个学生信息。
void AddStuMSG(char *arrStuNum[10], char arrStuName[10], int iStuScore)
{
//逻辑
//创建一个节点。
STUNODE* pTemp = malloc(sizeof(STUNODE));
//第一步,检验参数合法性。
if (NULL==arrStuNum||NULL==arrStuName||iStuScore<0)
{
printf("学生信息输入错误。\n");
return;
}
//节点成员赋初始值。
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
{
g_pEnd->pNext = pTemp;//链接。
g_pEnd = pTemp;//向后移动。
}
}
边栏推荐
- 越来越火的图数据库到底能做什么?
- 如何通过单步调试的方式找到引起 Fiori Launchpad 路由错误的原因试读版
- typescript48 - type compatibility between functions
- 建木DevOps流程的快速运用
- vxe-table 从页面批量删除数据 (不动数据库里的数据)
- 【详细教程】一文参透MongoDB聚合查询
- Justin Sun was invited to attend the 36氪 Yuan Universe Summit and delivered a keynote speech
- 浅谈我国产业园区未来的发展方向
- 电子组装行业对MES管理系统的需求分析
- 身为程序员的我们如何卷死别人?破局重生。
猜你喜欢
随机推荐
XSS - Bypass for loop filtering
高斯推断推导
R3LIVE论文学习(二):VIO子系统
Talking about the future development direction of my country's industrial parks
Node.js的基本使用(三)数据库与身份认证
typescript50-交叉类型和接口之间的类型说明
第1章:初识数据库与MySQL----MySQL安装
利用matlab求解线性优化问题【基于matlab的动力学模型学习笔记_11】
教你如何定位不合理的SQL?并优化之
迭代扩展卡尔曼滤波IEKF
2022年8月份DAMA-CDGA/CDGP数据治理认证招生简章
因为一次bug的教训,我决定手撕Nacos源码(先撕客户端源码)
【超详细】手把手教你搭建MongoDB集群搭建
.NET静态代码织入——肉夹馍(Rougamo) 发布1.1.0
.NET Static Code Weaving - Rougamo Release 1.1.0
Mvc、Mvp和Mvvm
互斥锁、读写锁、自旋锁,以及原子操作指令xaddl、cmpxchg的使用场景剖析
typescript53-泛型约束
2022-08-03: What does the following go code output?A: 2; B: 3; C: 1; D: 0.package main import "fmt" func main() { slice := []i
2023年第六届亚太应用数学与统计学国际会议(AMS 2023)









