C语言实现 mdash 学生成绩管理系统(Linux下运行)

学生成绩管理系统是一种常见的学校管理系统,用于记录和管理学生的各科成绩信息。本文将介绍如何使用C语言实现一个基于命令行的学生成绩管理系统,以及部分使用方法和案例说明。

一、系统设计

首先,我们需要定义学生的数据结构,包括学生的姓名、学号和各科成绩。我们可以使用结构体来表示学生信息,如下所示:

```c

typedef struct {

char name[50]; // 学生姓名

int id; // 学生学号

float score[3]; // 学生成绩(假设只有3门科目)

} Student;

```

然后,我们可以定义一些管理学生信息的函数,包括添加学生、删除学生、修改学生成绩、查询学生成绩等功能。

二、系统实现

1. 添加学生信息

```c

void addStudent(Student students[], int *count) {

printf("请输入学生姓名:");

scanf("%s", students[*count].name);

printf("请输入学生学号:");

scanf("%d", &students[*count].id);

printf("请输入学生成绩(用空格分隔):");

scanf("%f %f %f",

&students[*count].score[0],

&students[*count].score[1],

&students[*count].score[2]);

(*count)++;

printf("添加学生成功!\n");

}

```

2. 删除学生信息

```c

void deleteStudent(Student students[], int *count, int id) {

int i, j;

for (i = 0; i < *count; i++) {

if (students[i].id == id) {

for (j = i; j < *count - 1; j++) {

students[j] = students[j + 1];

}

(*count)--;

printf("删除学生成功!\n");

return;

}

}

printf("未找到该学生!\n");

}

```

3. 修改学生成绩

```c

void modifyScore(Student students[], int count, int id) {

int i;

for (i = 0; i < count; i++) {

if (students[i].id == id) {

printf("请输入新的学生成绩(用空格分隔):");

scanf("%f %f %f",

&students[i].score[0],

&students[i].score[1],

&students[i].score[2]);

printf("修改成绩成功!\n");

return;

}

}

printf("未找到该学生!\n");

}

```

4. 查询学生成绩

```c

void queryScore(Student students[], int count) {

int i, id;

printf("请输入要查询的学生学号:");

scanf("%d", &id);

for (i = 0; i < count; i++) {

if (students[i].id == id) {

printf("学生姓名:%s\n", students[i].name);

printf("学生学号:%d\n", students[i].id);

printf("学生成绩:%f %f %f\n",

students[i].score[0],

students[i].score[1],

students[i].score[2]);

return;

}

}

printf("未找到该学生!\n");

}

```

三、系统运行

我们可以在主函数中循环读取用户的输入,并根据用户输入的命令调用对应的函数。

```c

int main() {

Student students[100];

int count = 0;

int command, id;

while (1) {

printf("请选择操作:\n");

printf("1. 添加学生\n");

printf("2. 删除学生\n");

printf("3. 修改成绩\n");

printf("4. 查询成绩\n");

printf("0. 退出\n");

scanf("%d", &command);

switch (command) {

case 0:

return 0;

case 1:

addStudent(students, &count);

break;

case 2:

printf("请输入要删除的学生学号:");

scanf("%d", &id);

deleteStudent(students, &count, id);

break;

case 3:

printf("请输入要修改成绩的学生学号:");

scanf("%d", &id);

modifyScore(students, count, id);

break;

case 4:

queryScore(students, count);

break;

default:

printf("无效的命令!\n");

break;

}

}

}

```

四、使用方法

1. 编译程序

使用gcc命令编译源代码:

```

gcc -o student_system student_system.c

```

2. 运行程序

```

./student_system

```

此时,系统会进入一个循环中,等待用户输入命令。

五、案例说明

下面是一个使用示例,以说明系统的使用方法:

```

请选择操作:

1. 添加学生

2. 删除学生

3. 修改成绩

4. 查询成绩

0. 退出

1

请输入学生姓名:张三

请输入学生学号:1001

请输入学生成绩(用空格分隔):80 85 90

添加学生成功!

请选择操作:

1. 添加学生

2. 删除学生

3. 修改成绩

4. 查询成绩

0. 退出

4

请输入要查询的学生学号:1001

学生姓名:张三

学生学号:1001

学生成绩:80.000000 85.000000 90.000000

请选择操作:

1. 添加学生

2. 删除学生

3. 修改成绩

4. 查询成绩

0. 退出

2

请输入要删除的学生学号:1001

删除学生成功!

请选择操作:

1. 添加学生

2. 删除学生

3. 修改成绩

4. 查询成绩

0. 退出

4

请输入要查询的学生学号:1001

未找到该学生!

请选择操作:

1. 添加学生

2. 删除学生

3. 修改成绩

4. 查询成绩

0. 退出

0

```

以上是关于如何使用C语言实现一个基于命令行的学生成绩管理系统的介绍,通过这个系统,我们可以方便地添加、删除、修改和查询学生成绩信息。希望本文对你的学习有所帮助! 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(120) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部