C/C++项目分享——学生管理系统
一个简单的C/C++项目——学生管理系统
程序未完全写完
用链表存储信息
有兴趣的同学可以自己进行修改
#include <stdio.h>
//自定义数据类型:结构体
//学生
/*
学号
姓名
性别
年龄
班级
成绩
*/
typedef struct _Student
{
int nStuNum; //学号
char szName[20]; //姓名
char szSex[4]; //性别
char szClass[20]; //班级
float fScore; //成绩
}Student;
//链表
//链表:就像是一列火车,有有许许多多的结点一节一节的组成
//结点:两个部分组成
//数据域: 存储数据的 (学生、美女,老师,程序员,老婆)
//指针域: 存储下一个结点的地址 (火车的车厢中的钩子)
//struct :结构体
typedef struct _Node
{
Student stu; //学生
struct _Node* next; //指针域
}Node;
Node* g_pHead=NULL; //链表的头结点
//模块化编程
//欢迎
void Welcome();
//录入学生信息
void InputStudent();
int main()
{
while (1)
{
//调用欢迎函数
Welcome();
//输入一个数字
int n;
scanf("%d", &n);
switch (n)
{
case 1://录入学生信息
InputStudent();
break;
case 2://打印学生信息
break;
case 3://保存学生信息
break;
}
}
return 0;
}
//欢迎
void Welcome()
{
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("= 8.删除学生信息 =\n");
printf("= 0.退出系统 =\n");
printf("= =\n");
printf("======================================================================\n");
}
//录入学生信息
void InputStudent()
{
/*
学号
姓名
性别
班级
成绩
*/
//动态创建一个结点
Node* pNewNode = (Node*)malloc(sizeof(Node));
pNewNode->next = NULL;
//学生的信息包含哪一些?
printf("请输入学生的学号:\n");
scanf("%d", &pNewNode->stu.nStuNum);
printf("请输入学生的姓名:\n");
scanf("%s", pNewNode->stu.szName);
printf("请输入学生的性别:\n");
scanf("%s", pNewNode->stu.szSex);
printf("请输入学生的班级:\n");
scanf("%s", pNewNode->stu.szClass);
setbuf(stdin, NULL);
printf("请输入学生的成绩:\n");
scanf("%f", &pNewNode->stu.fScore);
//-> :结构体指针访问成员
//. :结构体访问成员
if (g_pHead == NULL)
{
g_pHead = pNewNode;
}
else
{
pNewNode->next = g_pHead;
g_pHead = pNewNode;
}
printf("添加学生信息成功.\n");
}
有兴趣学习C/C++的同学可以加入下方的QQ群一起学习呀
QQ群