学生管理系统是一个用于管理学生信息的程序,包括添加、删除、修改和查询学生信息等功能。以下是一个简单的C语言实现的学生管理系统:
```c
#include
#include
typedef struct Student {
char name[20];
int age;
float score;
} Student;
void addStudent(Student *students, int *count);
void deleteStudent(Student *students, int index);
void modifyStudent(Student *students, int index);
void queryStudent(Student *students, int count, int index);
int main() {
Student students[100];
int count = 0;
while (1) {
printf("1. 添加学生
");
printf("2. 删除学生
");
printf("3. 修改学生
");
printf("4. 查询学生
");
printf("5. 退出
");
printf("请输入操作序号:");
scanf("%d", &count);
switch (count) {
case 1:
addStudent(students, &count);
break;
case 2:
- deleteStudent(students, count
- 1);
break;
case 3:
- modifyStudent(students, count
- 1);
break;
case 4:
- queryStudent(students, count, count
- 1);
break;
case 5:
return 0;
default:
printf("无效的操作序号!
");
}
}
return 0;
}
void addStudent(Student *students, int *count) {
printf("请输入学生姓名:");
scanf("%s", students[*count].name);
printf("请输入学生年龄:");
scanf("%d", &students[*count].age);
printf("请输入学生成绩:");
scanf("%f", &students[*count].score);
(*count)++;
*count %= 100;
}
void deleteStudent(Student *students, int index) {
if (index < 0 || index >= *count) {
printf("无效的索引!
");
return;
}
- memmove(&students[index], &students[index + 1], sizeof(Student) * (*count
- index - 1));
(*count)--;
}
void modifyStudent(Student *students, int index) {
printf("请输入要修改的学生姓名:");
scanf("%s", students[index].name);
printf("请输入新的学生年龄:");
scanf("%d", &students[index].age);
printf("请输入新的学生成绩:");
scanf("%f", &students[index].score);
}
void queryStudent(Student *students, int count, int index) {
printf("学生姓名:%s,年龄:%d,成绩:%.2f
", students[index].name, students[index].age, students[index].score);
}
```
这个程序实现了一个简单的学生管理系统,包括添加、删除、修改和查询学生信息的功能。在主函数中,我们使用一个数组来存储学生信息,并通过循环来处理用户输入的操作序号。根据操作序号,我们调用相应的函数来实现添加、删除、修改和查询学生信息的功能。