C语言之学生管理系统代码(完整)

24 篇文章 100 订阅 ¥39.90 ¥99.00
1 篇文章 2 订阅

#include <stdio.h>
#include <stdlib.h>

#define FILENAME "student.dat"

typedef enum{MAN, WOMAN} SEX;

typedef struct tagStudent

{

	int num;		//学生的编号

	char name[20];	//学生的姓名

	SEX	sex;		//学生的性别

	int age;		//学生的年龄

	char major[20];	//学生的专业

	struct tagStudent *next;//下一个节点的指针

}STUDENT, *PSTUDENT;




STUDENT g_head;	//头节点




//1.显示菜单

void ShowMenu();

//2.获取用户选择的菜单的编号

int GetMenuChoose();

//3.创建一个节点,它会返回一个新创建的学生信息节点的指针

PSTUDENT CreateStudent();

//4.把学生信息节点加入到链表中

int AddStudent(PSTUDENT pstu);

//5.返回指定编号学生节点的上一个节点的指针

PSTUDENT GetPrevAddr(int num);

//6.显示所有学生信息

void ShowAll();

//7.显示信息数量

int ShowStudentCount();

//8.修改学生信息,参数为要修改的学生的编号

void ModityStudent(int num);

//9.获取用户的选择

int Question(const char *pstr);

//10.获取用户输入的学生的编号

int GetInputNum();

//11.删除编号为num的学生信息

void DelStudent(int num);

//12.删除所有的学生信息

void DelAll();

//13.把学生信息保存到文件当中

void SaveToFile();

//14.从文件中读取学生信息

void LoadFromFile();

  • 49
    点赞
  • 178
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
学生管理系统是一种基于C语言的程序,用于管理学生信息的系统。下面是一个简单的学生管理系统代码示例: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENTS 100 struct Student { int id; char name[50]; int age; }; struct Student students[MAX_STUDENTS]; int numStudents = 0; void addStudent() { if (numStudents == MAX_STUDENTS) { printf("学生人数已达上限,无法添加新学生。\n"); return; } struct Student newStudent; printf("请输入学生ID:"); scanf("%d", &newStudent.id); printf("请输入学生姓名:"); scanf("%s", newStudent.name); printf("请输入学生年龄:"); scanf("%d", &newStudent.age); students[numStudents++] = newStudent; printf("学生添加成功!\n"); } void deleteStudent() { int id; printf("请输入要删除的学生ID:"); scanf("%d", &id); int found = 0; for (int i = 0; i < numStudents; i++) { if (students[i].id == id) { found = 1; for (int j = i; j < numStudents - 1; j++) { students[j] = students[j+1]; } numStudents--; printf("学生删除成功!\n"); break; } } if (!found) { printf("找不到对应ID的学生。\n"); } } void displayStudents() { if (numStudents == 0) { printf("当前没有学生信息。\n"); return; } printf("学生信息:\n"); for (int i = 0; i < numStudents; i++) { printf("ID:%d, 姓名:%s, 年龄:%d\n", students[i].id, students[i].name, students[i].age); } } int main() { int choice; do { printf("\n学生管理系统菜单:\n"); printf("1. 添加学生\n"); printf("2. 删除学生\n"); printf("3. 显示学生信息\n"); printf("0. 退出系统\n"); printf("请选择菜单项:"); scanf("%d", &choice); switch (choice) { case 1: addStudent(); break; case 2: deleteStudent(); break; case 3: displayStudents(); break; case 0: printf("感谢使用学生管理系统,再见!\n"); break; default: printf("无效的选择,请重新输入。\n"); break; } } while (choice != 0); return 0; } ``` 以上代码实现了一个简单的学生管理系统。通过菜单选项可以添加学生、删除学生和显示学生信息。学生信息以结构体的形式存储在数组中,最多可以管理100个学生的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MachineLP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值