#include
#include
#include
// 学生结构体
struct Student {
char id[20];
char name[50];
float score;
};
// 课程结构体
struct Course {
char code[20];
char name[50];
int credit;
};
// 学生成绩管理系统
void StudentManagementSystem() {
int n, i, j;
struct Student *students;
struct Course *courses;
// 输入学生人数
printf("请输入学生人数:");
scanf("%d", &n);
// 分配内存空间
students = (struct Student *)malloc(n * sizeof(struct Student));
courses = (struct Course *)malloc(n * sizeof(struct Course));
// 输入学生信息和成绩
printf("请输入学生信息和成绩:\n");
for (i = 0; i < n; i++) {
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("课程编号:");
scanf("%s", courses[i].code);
printf("课程名称:");
scanf("%s", courses[i].name);
printf("成绩:");
scanf("%f", &students[i].score);
}
// 输出学生信息和成绩
printf("\n 学生信息和成绩如下:\n");
for (i = 0; i < n; i++) {
printf("学号:%s\n", students[i].id);
printf("姓名:%s\n", students[i].name);
printf("课程编号:%s\n", courses[i].code);
printf("课程名称:%s\n", courses[i].name);
printf("成绩:%.2f\n", students[i].score);
}
// 释放内存空间
free(students);
free(courses);
}
int main() {
StudentManagementSystem();
return 0;
}