用c语言生成一个学生管理系统
时间: 2023-12-19 09:06:51 浏览: 25
好的,以下是一个简单的学生管理系统的代码示例,使用C语言编写。这个学生管理系统可以添加、删除、修改并显示学生的信息。
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[50];
int age;
int grade;
};
void add_student(struct student students[], int *num_students) {
printf("Enter student name: ");
scanf("%s", students[*num_students].name);
printf("Enter student age: ");
scanf("%d", &students[*num_students].age);
printf("Enter student grade: ");
scanf("%d", &students[*num_students].grade);
(*num_students)++;
}
void delete_student(struct student students[], int *num_students) {
char name[50];
printf("Enter student name to delete: ");
scanf("%s", name);
for (int i = 0; i < *num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
for (int j = i; j < *num_students - 1; j++) {
students[j] = students[j + 1];
}
(*num_students)--;
printf("Student deleted successfully.\n");
return;
}
}
printf("Student not found.\n");
}
void edit_student(struct student students[], int num_students) {
char name[50];
printf("Enter student name to edit: ");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
printf("Enter student age: ");
scanf("%d", &students[i].age);
printf("Enter student grade: ");
scanf("%d", &students[i].grade);
printf("Student edited successfully.\n");
return;
}
}
printf("Student not found.\n");
}
void display_students(struct student students[], int num_students) {
printf("Name\tAge\tGrade\n");
for (int i = 0; i < num_students; i++) {
printf("%s\t%d\t%d\n", students[i].name, students[i].age, students[i].grade);
}
}
int main() {
struct student students[50];
int num_students = 0;
int choice;
while (1) {
printf("\n1. Add student\n");
printf("2. Delete student\n");
printf("3. Edit student\n");
printf("4. Display students\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student(students, &num_students);
break;
case 2:
delete_student(students, &num_students);
break;
case 3:
edit_student(students, num_students);
break;
case 4:
display_students(students, num_students);
break;
case 5:
return 0;
default:
printf("Invalid choice.\n");
}
}
}
```
这个学生管理系统使用一个结构体 `student` 存储每个学生的信息,包括姓名、年龄和成绩。通过一个无限循环,根据用户的选择调用不同的函数进行添加、删除、修改和显示学生信息。