C语言设计一个简单的学籍管理系统将学号 姓名 性别 宿舍号码 电话号码 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分顺序表存储实现录入功能
时间: 2024-02-15 14:06:12 浏览: 86
下面是一个简单的学籍管理系统的示例代码,实现了学生信息和课程信息的录入功能,使用了顺序表存储:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 学生最大数量
#define MAX_COURSE_NUM 50 // 课程最大数量
#define MAX_NAME_LEN 20 // 姓名最大长度
#define MAX_ID_LEN 15 // 学号最大长度
#define MAX_COURSE_NAME_LEN 30 // 课程名称最大长度
// 学生信息结构体
typedef struct {
char student_id[MAX_ID_LEN]; // 学号
char name[MAX_NAME_LEN]; // 姓名
char gender; // 性别
int dorm_num; // 宿舍号码
long phone_num; // 电话号码
} Student;
// 课程信息结构体
typedef struct {
char course_id[MAX_ID_LEN]; // 课程编号
char course_name[MAX_COURSE_NAME_LEN]; // 课程名称
int credit; // 学分
} Course;
// 成绩信息结构体
typedef struct {
char course_id[MAX_ID_LEN]; // 课程编号
int usual_score; // 平时成绩
int experiment_score; // 实验成绩
int final_score; // 卷面成绩
int comprehensive_score; // 综合成绩
int obtained_credit; // 实得学分
} Score;
// 学籍管理系统结构体
typedef struct {
Student students[MAX_STUDENT_NUM]; // 学生信息数组
Course courses[MAX_COURSE_NUM]; // 课程信息数组
int student_num; // 学生数量
int course_num; // 课程数量
} StudentManagementSystem;
// 初始化学籍管理系统
void init_system(StudentManagementSystem *sys) {
sys->student_num = 0;
sys->course_num = 0;
}
// 录入学生信息
void input_student_info(StudentManagementSystem *sys) {
int n; // 需要录入的学生数量
printf("请输入需要录入的学生数量:");
scanf("%d", &n);
getchar(); // 读取换行符
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(学号、姓名、性别、宿舍号码、电话号码,用空格隔开):\n", i+1);
scanf("%s %s %c %d %ld", sys->students[i].student_id, sys->students[i].name, &sys->students[i].gender, &sys->students[i].dorm_num, &sys->students[i].phone_num);
getchar(); // 读取换行符
sys->student_num++; // 学生数量加1
}
printf("学生信息录入成功!\n");
}
// 录入课程信息
void input_course_info(StudentManagementSystem *sys) {
int n; // 需要录入的课程数量
printf("请输入需要录入的课程数量:");
scanf("%d", &n);
getchar(); // 读取换行符
for (int i = 0; i < n; i++) {
printf("请输入第%d个课程的信息(课程编号、课程名称、学分,用空格隔开):\n", i+1);
scanf("%s %s %d", sys->courses[i].course_id, sys->courses[i].course_name, &sys->courses[i].credit);
getchar(); // 读取换行符
sys->course_num++; // 课程数量加1
}
printf("课程信息录入成功!\n");
}
int main() {
StudentManagementSystem sys;
init_system(&sys); // 初始化学籍管理系统
input_student_info(&sys); // 录入学生信息
input_course_info(&sys); // 录入课程信息
return 0;
}
```
这里定义了一个名为`StudentManagementSystem`的结构体,用于存储学生信息和课程信息,以及学生数量和课程数量等信息。在`main`函数中,首先调用`init_system`函数初始化学籍管理系统,然后分别调用`input_student_info`和`input_course_info`函数录入学生信息和课程信息。在`input_student_info`和`input_course_info`函数中,通过读取用户输入来录入学生信息和课程信息,并将它们存储到`StudentManagementSystem`结构体中。需要注意的是,这里只实现了录入功能,其他功能需要根据实际情况进行添加和修改。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)