给我写一个学生信息管理系统的程序
时间: 2023-11-20 16:06:04 浏览: 100
好的,下面是一个简单的学生信息管理系统的程序:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100
typedef struct student {
char name[50];
int age;
float gpa;
} Student;
int num_students = 0;
Student students[MAX_STUDENTS];
void add_student() {
if (num_students >= MAX_STUDENTS) {
printf("Error: Maximum number of students reached.\n");
return;
}
Student s;
printf("Enter student name: ");
scanf("%s", s.name);
printf("Enter student age: ");
scanf("%d", &s.age);
printf("Enter student GPA: ");
scanf("%f", &s.gpa);
students[num_students] = s;
num_students++;
printf("Student added successfully.\n");
}
void delete_student() {
char name[50];
printf("Enter student name to delete: ");
scanf("%s", name);
int index = -1;
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("Error: Student not found.\n");
return;
}
for (int i = index; i < num_students - 1; i++) {
students[i] = students[i + 1];
}
num_students--;
printf("Student deleted successfully.\n");
}
void print_student(Student s) {
printf("Name: %s\n", s.name);
printf("Age: %d\n", s.age);
printf("GPA: %.2f\n", s.gpa);
}
void search_student() {
char name[50];
printf("Enter student name to search: ");
scanf("%s", name);
int index = -1;
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("Error: Student not found.\n");
return;
}
print_student(students[index]);
}
void print_all_students() {
if (num_students == 0) {
printf("No students found.\n");
return;
}
for (int i = 0; i < num_students; i++) {
printf("Student %d:\n", i + 1);
print_student(students[i]);
}
}
int main() {
int choice;
do {
printf("\nStudent Information Management System\n");
printf("1. Add Student\n");
printf("2. Delete Student\n");
printf("3. Search Student\n");
printf("4. Print All Students\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
delete_student();
break;
case 3:
search_student();
break;
case 4:
print_all_students();
break;
case 5:
printf("Exiting...\n");
break;
default:
printf("Invalid choice.\n");
}
} while (choice != 5);
return 0;
}
```
这个程序使用结构体来存储学生信息,并且提供了添加、删除、查找和打印所有学生信息的功能。您可以根据自己的需要对其进行修改和扩展。