帮我写一个C语言程序,是一个学习成绩管理系统需要有登录界面,密码,选择身份。身份有学生,老师和导员。学生能查看自己的各科成绩与年级排名,老师能查看自己教的学科所有学生的成绩,,平均分,以及挂科的同学,以及修改成绩。导员能查看所有同学的所有学科成绩,排名以及挂科的同学与对应学科
时间: 2023-03-10 10:27:40 浏览: 63
C语言做的一个学生成绩管理系统
这是一个学习成绩管理系统的 C 语言程序的示例:
```
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
#define MAX_SUBJECTS 20
#define USERNAME_LEN 20
#define PASSWORD_LEN 20
// 定义学生信息结构体
typedef struct {
char name[USERNAME_LEN];
char password[PASSWORD_LEN];
int studentId;
int grades[MAX_SUBJECTS];
} Student;
// 定义教师信息结构体
typedef struct {
char name[USERNAME_LEN];
char password[PASSWORD_LEN];
int teacherId;
} Teacher;
// 定义导员信息结构体
typedef struct {
char name[USERNAME_LEN];
char password[PASSWORD_LEN];
int counselorId;
} Counselor;
// 定义学生数组
Student students[MAX_STUDENTS];
// 定义教师数组
Teacher teachers[MAX_STUDENTS];
// 定义导员数组
Counselor counselors[MAX_STUDENTS];
// 定义登录函数,用于登录界面
int login(char *username, char *password, char *role) {
// 如果角色是学生
if (strcmp(role, "student") == 0) {
// 遍历学生数组
for (int i = 0; i < MAX_STUDENTS; i++) {
// 如果找到匹配的用户名和密码
if (strcmp(students[i].name, username) == 0 && strcmp(students[i].password, password) == 0) {
// 返回学生 id
return students[i].studentId;
}
}
} else if (strcmp(role, "teacher") == 0) {
// 如果角色是教师
// 遍历教师数组
for (int i = 0; i < MAX_STUDENTS; i++) {
// 如果找到匹配的用户名和密码
if (strcmp(teachers[i].name, username) == 0 && strcmp(teachers[i].password, password) == 0) {
// 返
阅读全文