帮我用C语言写一个学生信息管理系统,要求能在visual studio2022上运行
时间: 2024-02-22 12:01:23 浏览: 67
学生管理系统C语言版本,保存就可使用,建议使用版本Visual Studio 2022 (2010版本可能出现报错)
好的,我可以为您提供一份简单的学生信息管理系统的C语言代码。以下是代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100 // 学生数量的最大值
// 学生信息结构体
typedef struct {
char name[20]; // 学生姓名
int age; // 学生年龄
char id[10]; // 学生学号
float score; // 学生成绩
} Student;
int main() {
Student students[MAX_STUDENTS]; // 存储学生信息的数组
int num_students = 0; // 学生数量
int choice; // 用户选择的操作
while (1) {
// 打印菜单
printf("1. 添加学生信息\n");
printf("2. 删除学生信息\n");
printf("3. 修改学生信息\n");
printf("4. 查询学生信息\n");
printf("5. 显示所有学生信息\n");
printf("6. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: // 添加学生信息
if (num_students >= MAX_STUDENTS) {
printf("学生数量已达到最大值,无法添加学生信息!\n");
break;
}
printf("请输入学生姓名:");
scanf("%s", students[num_students].name);
printf("请输入学生年龄:");
scanf("%d", &students[num_students].age);
printf("请输入学生学号:");
scanf("%s", students[num_students].id);
printf("请输入学生成绩:");
scanf("%f", &students[num_students].score);
num_students++;
printf("学生信息添加成功!\n");
break;
case 2: // 删除学生信息
if (num_students == 0) {
printf("没有学生信息可供删除!\n");
break;
}
char id_to_delete[10];
printf("请输入要删除的学生学号:");
scanf("%s", id_to_delete);
int i;
for (i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id_to_delete) == 0) {
// 找到要删除的学生信息,将后面的学生信息向前移动
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j + 1];
}
num_students--;
printf("学生信息删除成功!\n");
break;
}
}
if (i == num_students) {
printf("未找到要删除的学生信息!\n");
}
break;
case 3: // 修改学生信息
if (num_students == 0) {
printf("没有学生信息可供修改!\n");
break;
}
char id_to_modify[10];
printf("请输入要修改的学生学号:");
scanf("%s", id_to_modify);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id_to_modify) == 0) {
printf("请输入学生姓名:");
scanf("%s", students[i].name);
printf("请输入学生年龄:");
scanf("%d", &students[i].age);
printf("请输入学生学号:");
scanf("%s", students[i].id);
printf("请输入学生成绩:");
scanf("%f", &students[i].score);
printf("学生信息修改成功!\n");
break;
}
}
break;
case 4: // 查询学生信息
if (num_students == 0) {
printf("没有学生信息可供查询!\n");
break;
}
char id_to_search[10];
printf("请输入要查询的学生学号:");
scanf("%s", id_to_search);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].id, id_to_search) == 0) {
printf("姓名:%s\n", students[i].name);
printf("年龄:%d\n", students[i].age);
printf("学号:%s\n", students[i].id);
printf("成绩:%.2f\n", students[i].score);
break;
}
}
break;
case 5: // 显示所有学生信息
if (num_students == 0) {
printf("没有学生信息可供显示!\n");
break;
}
printf("所有学生信息如下:\n");
for (int i = 0; i < num_students; i++) {
printf("姓名:%s\n", students[i].name);
printf("年龄:%d\n", students[i].age);
printf("学号:%s\n", students[i].id);
printf("成绩:%.2f\n", students[i].score);
}
break;
case 6: // 退出程序
printf("感谢使用!\n");
exit(0);
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
您可以将此代码复制到Visual Studio 2022中创建一个新的C语言项目,并在其中运行。
阅读全文