c语言设置一个学生管理系统包括姓名,学号,语文成绩,数学成绩
时间: 2024-10-21 09:13:07 浏览: 20
在C语言中,创建一个简单的学生管理系统,可以定义一个结构体来表示学生的信息,包括姓名、学号以及两门主科的成绩。以下是一个基本的示例:
```c
#include <stdio.h>
#include <string.h> // 包含字符串库,用于处理姓名
// 定义学生信息结构体
typedef struct {
char name[50]; // 学生姓名,最大长度为49字节(包含空字符)
int id; // 学号
float chinese_score; // 语文成绩
float math_score; // 数学成绩
} Student;
// 函数声明,用于添加新学生、显示所有学生等操作
void addStudent(Student students[], int *size);
void displayStudents(Student students[], int size);
int main() {
int num_of_students = 0;
Student students[100]; // 初始化数组容纳最多100名学生
// 添加学生
addStudent(students, &num_of_students);
// 显示所有学生信息
displayStudents(students, num_of_students);
return 0;
}
// 添加学生函数
void addStudent(Student students[], int *size) {
printf("请输入学生的姓名(不超过50个字符):");
fgets(students[*size].name, sizeof(students[*size].name), stdin); // 调整fgets大小以适应字符串
students[*size].id = scanf("%d", &students[*size].id); // 输入学号
students[*size].chinese_score = scanf("%f", &students[*size].chinese_score);
students[*size].math_score = scanf("%f", &students[*size].math_score);
(*size)++;
}
// 显示学生信息函数
void displayStudents(Student students[], int size) {
for (int i = 0; i < size; i++) {
printf("学生 %d:\n", students[i].id);
printf("姓名: %s\n", students[i].name);
printf("语文成绩: %.2f\n", students[i].chinese_score);
printf("数学成绩: %.2f\n", students[i].math_score);
printf("\n");
}
}
```
在这个例子中,我们创建了一个`addStudent`函数来获取学生的输入并存储到结构体中,`displayStudents`函数则遍历数组显示所有学生的数据。
阅读全文