C语言学生信息管理系统源代码
时间: 2023-07-09 13:23:48 浏览: 79
以下是一个简单的C语言学生信息管理系统的源代码,仅供参考:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 1000
#define MAX_NAME_LEN 20
#define MAX_COURSE_NUM 10
typedef struct {
char name[MAX_NAME_LEN];
int id;
int scores[MAX_COURSE_NUM];
} Student;
int student_num = 0;
Student students[MAX_STUDENT_NUM];
void print_menu() {
printf("1. Add student\n");
printf("2. Search student\n");
printf("3. Delete student\n");
printf("4. Modify student\n");
printf("5. Show all students\n");
printf("6. Exit\n");
}
void add_student() {
if (student_num >= MAX_STUDENT_NUM) {
printf("Error: the number of students exceeds the limit.\n");
return;
}
printf("Please enter student name: ");
scanf("%s", students[student_num].name);
printf("Please enter student id: ");
scanf("%d", &students[student_num].id);
printf("Please enter student scores (separated by spaces): ");
for (int i = 0; i < MAX_COURSE_NUM; ++i) {
scanf("%d", &students[student_num].scores[i]);
}
++student_num;
printf("Student added successfully.\n");
}
void search_student() {
int id;
printf("Please enter student id: ");
scanf("%d", &id);
for (int i = 0; i < student_num; ++i) {
if (students[i].id == id) {
printf("Name: %s\n", students[i].name);
printf("Id: %d\n", students[i].id);
printf("Scores: ");
for (int j = 0; j < MAX_COURSE_NUM; ++j) {
printf("%d ", students[i].scores[j]);
}
printf("\n");
return;
}
}
printf("Error: student not found.\n");
}
void delete_student() {
int id;
printf("Please enter student id: ");
scanf("%d", &id);
for (int i = 0; i < student_num; ++i) {
if (students[i].id == id) {
for (int j = i; j < student_num - 1; ++j) {
students[j] = students[j + 1];
}
--student_num;
printf("Student deleted successfully.\n");
return;
}
}
printf("Error: student not found.\n");
}
void modify_student() {
int id;
printf("Please enter student id: ");
scanf("%d", &id);
for (int i = 0; i < student_num; ++i) {
if (students[i].id == id) {
printf("Please enter new name: ");
scanf("%s", students[i].name);
printf("Please enter new scores (separated by spaces): ");
for (int j = 0; j < MAX_COURSE_NUM; ++j) {
scanf("%d", &students[i].scores[j]);
}
printf("Student modified successfully.\n");
return;
}
}
printf("Error: student not found.\n");
}
void show_all_students() {
for (int i = 0; i < student_num; ++i) {
printf("Name: %s\n", students[i].name);
printf("Id: %d\n", students[i].id);
printf("Scores: ");
for (int j = 0; j < MAX_COURSE_NUM; ++j) {
printf("%d ", students[i].scores[j]);
}
printf("\n");
}
}
int main() {
int choice;
while (1) {
print_menu();
printf("Please enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
search_student();
break;
case 3:
delete_student();
break;
case 4:
modify_student();
break;
case 5:
show_all_students();
break;
case 6:
return 0;
default:
printf("Error: invalid choice.\n");
}
}
return 0;
}
```
这个源代码实现了基本的学生信息管理系统,包括添加学生、查询学生、删除学生、修改学生和显示所有学生等功能。请注意,这只是一个简单的实现,实际的学生信息管理系统可能还需要更多的功能和更严格的数据验证。