有20个学生,学生信息包括:学号、姓名、性别、出生年月、第一学期计算机导论和c语言程序设计成绩及平均成绩。用结构体存储信息,其中成绩为一个结构体,它的变量作为学生信息结构体的成员。一个学生信息结构体如
时间: 2023-04-16 07:02:57 浏览: 149
下:
typedef struct{
int id; // 学号
char name[20]; // 姓名
char gender; // 性别
char birthdate[10]; // 出生年月
struct{
float intro; // 计算机导论成绩
float c; // c语言程序设计成绩
float average; // 平均成绩
} score; // 成绩结构体
} student; // 学生信息结构体
其中,score结构体包含了学生的计算机导论成绩、c语言程序设计成绩和平均成绩,而学生信息结构体中的score成员就是一个score结构体类型的变量,用来存储学生的成绩信息。每个学生信息结构体包含了学号、姓名、性别、出生年月和成绩信息,可以通过访问结构体成员来获取或修改学生的信息。
相关问题
帮我写一个C语言代码,要求:20个学生,学生信息包括学号,姓名,性别,出生年月,第一学期计算机导论和C语言程序设计成绩及平均成绩,用结构体存储信息。开发一个学生成绩管理系统,包括(1)系统菜单输出提示信息序号1、2、3....分别实现什么功能,输入序号后调用相应函数。(2)学生信息录入;(3)学业上信息浏览功能:(4)按学生平均成绩对信息进行排序;(5)学生信息添加;(6)信息统计,按平均成绩及格或不及格统计学生人数,计算比例,输出统计报表;(7)选取5个全班同学平均成绩最高的作为候选人,全班同学进行投票选出一位同学到系当学生班干部输出选票结果
以下是一个可以满足你要求的 C 语言代码:
```
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_STUDENT_NUM 20 // 定义最大学生人数
#define PASS_SCORE 60 // 定义及格分数
// 定义学生信息结构体
typedef struct student_info {
int student_id; // 学号
char name[20]; // 姓名
char gender; // 性别
char birth[20]; // 出生年月
float intro_score; // 计算机导论成绩
float programming_score; // C语言程序设计成绩
float avg_score; // 平均成绩
} StudentInfo;
// 定义学生信息数组
StudentInfo students[MAX_STUDENT_NUM];
int student_num = 0; // 定义当前学生人数
// 函数声明
void input_student_info(); // 录入学生信息
void view_student_info(); // 浏览学生信息
void sort_student_info(); // 按平均成绩排序
void add_student_info(); // 添加学生信息
void statistic_student_info(); // 统计学生信息
void vote_student_cadre(); // 投票选出学生干部
int main() {
while (1) {
printf("请选择你要进行的操作:\n");
printf("1. 录入学生信息\n");
printf("2. 浏览学生信息\n");
printf("3. 按平均成绩排序\n");
printf("4. 添加学生信息\n");
printf("5. 统计学生信息\n");
printf("6. 投票选出学生干部\n");
printf("7. 退出系统\n");
int operation;
scanf("%d", &operation);
switch (operation) {
case 1:
input_student_info();
break;
case 2:
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail,C语言、数学和英语成绩等。试设计一个学生信息管理系统,使之能提供以下功能: 系统以菜单方式工作 学生信息录入功能---输入 学生信息浏览功能——输出 查询、排序功能——算法 1、按学号查询 2、按姓名查询 3、按C语言、数学和英语成绩分别排序 学生信息的插入、删除与修改
好的,以下是一个简单的学生信息管理系统的设计,具备上述功能:
1. 功能菜单:
```
== 学生信息管理系统 ==
1. 录入学生信息
2. 浏览学生信息
3. 查询学生信息
4. 排序学生信息
5. 插入学生信息
6. 删除学生信息
7. 修改学生信息
0. 退出系统
```
2. 录入学生信息:
```
== 录入学生信息 ==
请输入学生学号:1001
请输入学生姓名:张三
请输入学生年龄:18
请输入学生性别(M/F):M
请输入学生出生年月(YYYY-MM-DD):2003-01-01
请输入学生地址:北京市海淀区
请输入学生电话:13888888888
请输入学生邮箱:zhangsan@qq.com
请输入学生C语言成绩:90
请输入学生数学成绩:85
请输入学生英语成绩:95
学生信息录入成功!
```
3. 浏览学生信息:
```
== 浏览学生信息 ==
学号 姓名 年龄 性别 出生年月 地址 电话 邮箱 C语言 数学 英语
1001 张三 18 M 2003-01-01 北京市海淀区 13888888888 zhangsan@qq.com 90 85 95
```
4. 查询学生信息:
```
== 查询学生信息 ==
1. 按学号查询
2. 按姓名查询
请选择查询方式(1/2):1
请输入要查询的学号:1001
学号 姓名 年龄 性别 出生年月 地址 电话 邮箱 C语言 数学 英语
1001 张三 18 M 2003-01-01 北京市海淀区 13888888888 zhangsan@qq.com 90 85 95
```
5. 排序学生信息:
```
== 排序学生信息 ==
1. 按C语言成绩排序
2. 按数学成绩排序
3. 按英语成绩排序
请选择排序方式(1/2/3):1
学号 姓名 年龄 性别 出生年月 地址 电话 邮箱 C语言 数学 英语
1001 张三 18 M 2003-01-01 北京市海淀区 13888888888 zhangsan@qq.com 90 85 95
```
6. 插入学生信息:
```
== 插入学生信息 ==
请输入要插入的位置(从1开始):1
请输入学生学号:1002
请输入学生姓名:李四
请输入学生年龄:19
请输入学生性别(M/F):M
请输入学生出生年月(YYYY-MM-DD):2002-02-02
请输入学生地址:北京市朝阳区
请输入学生电话:13999999999
请输入学生邮箱:lisi@qq.com
请输入学生C语言成绩:80
请输入学生数学成绩:75
请输入学生英语成绩:85
学生信息插入成功!
```
7. 删除学生信息:
```
== 删除学生信息 ==
请输入要删除的学生学号:1002
学生信息删除成功!
```
8. 修改学生信息:
```
== 修改学生信息 ==
请输入要修改的学生学号:1001
请输入学生姓名(原值:张三):李四
请输入学生年龄(原值:18):19
请输入学生性别(M/F,原值:M):F
请输入学生出生年月(YYYY-MM-DD,原值:2003-01-01):2002-02-02
请输入学生地址(原值:北京市海淀区):北京市朝阳区
请输入学生电话(原值:13888888888):13999999999
请输入学生邮箱(原值:zhangsan@qq.com):lisi@qq.com
请输入学生C语言成绩(原值:90):80
请输入学生数学成绩(原值:85):75
请输入学生英语成绩(原值:95):85
学生信息修改成功!
```
以上就是一个简单的学生信息管理系统的设计,具备录入、浏览、查询、排序、插入、删除和修改学生信息的功能。在实现时,可以使用结构体数组来存储学生信息,使用函数来实现各个功能模块。
阅读全文