定义结构体类型: 每个同学的信息:学号、姓名(英文、无重名)、性别(英文)、三门课程成绩(语文、数学、英语)
时间: 2023-09-12 20:06:03 浏览: 101
可以这样定义一个结构体类型:
```c
struct Student {
int id;
char name[20];
char gender[10];
float chineseScore;
float mathScore;
float englishScore;
};
```
其中,`id` 表示学号,使用 `int` 类型;`name` 表示姓名,使用 `char` 类型的数组,长度为 20,足够存储英文姓名;`gender` 表示性别,使用 `char` 类型的数组,长度为 10,足够存储英文性别;`chineseScore`、`mathScore` 和 `englishScore` 分别表示语文、数学和英语的成绩,使用 `float` 类型。
相关问题
定义结构体类型: 每个同学的信息:学号、姓名(英文、无重名)、性别(英文)、三门课程成绩(语文、数学、英语功能要求: 运行后,显示如下信息,提示输入数字,并运行数字所对应的功能,如:按1,执行“显示所有同学的信息”;按6,执行“删除一个同学”。1.删除指定姓名的信息 0.退出
好的,这是一个关于学生信息管理系统的问题,我可以帮你回答。
首先,我们可以定义一个结构体类型来存储每个同学的信息,代码如下:
```c
typedef struct {
int id; // 学号
char name[20]; // 姓名
char gender[10]; // 性别
float chinese; // 语文成绩
float math; // 数学成绩
float english; // 英语成绩
} Student;
```
接下来,我们可以编写一个主函数,让用户输入数字来选择对应的功能。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 学生信息结构体
typedef struct {
int id; // 学号
char name[20]; // 姓名
char gender[10]; // 性别
float chinese; // 语文成绩
float math; // 数学成绩
float english; // 英语成绩
} Student;
// 学生信息数组
Student students[100];
int num_students = 0;
// 显示所有学生信息
void show_all_students() {
printf("所有学生信息如下:\n");
for (int i = 0; i < num_students; i++) {
printf("学号:%d,姓名:%s,性别:%s,语文成绩:%.2f,数学成绩:%.2f,英语成绩:%.2f\n",
students[i].id, students[i].name, students[i].gender,
students[i].chinese, students[i].math, students[i].english);
}
}
// 删除指定姓名的学生信息
void delete_student_by_name() {
char name[20];
printf("请输入要删除的学生姓名:");
scanf("%s", name);
for (int i = 0; i < num_students; i++) {
if (strcmp(students[i].name, name) == 0) {
for (int j = i; j < num_students - 1; j++) {
students[j] = students[j+1];
}
num_students--;
printf("删除成功!\n");
return;
}
}
printf("未找到该学生信息!\n");
}
int main() {
int option;
while (1) {
printf("请选择功能:\n");
printf("1. 显示所有学生信息\n");
printf("2. 添加一个学生\n");
printf("3. 修改一个学生信息\n");
printf("4. 查询一个学生信息\n");
printf("5. 按总分排序\n");
printf("6. 删除一个学生\n");
printf("0. 退出\n");
printf("请输入数字选择功能:");
scanf("%d", &option);
switch (option) {
case 1:
show_all_students();
break;
case 6:
delete_student_by_name();
break;
case 0:
printf("退出程序!\n");
exit(0);
default:
printf("请输入正确的数字!\n");
break;
}
}
return 0;
}
```
上述代码实现了两个功能:显示所有学生信息和删除指定姓名的学生信息。用户可以输入数字选择对应的功能。其他功能的实现可以根据需要进行添加。
题目要求: 一、定义结构体类型: 每个同学的信息:学号、姓名(英文、无重名)、性别(英文)、三门课程成绩(语文、数学、英语) 二、功能要求: 运行后,显示如下信息,提示输入数字,并运行数字所对应的功能,如:按1,执行“显示所有同学的信息”;按6,执行“删除一个同学”。 1.显示所有同学的信息 2.查找指定姓名的信息 (模糊查找:输入姓名中任何一个或多个文字,比如:输入“zhang”,就显示所有姓名中含“zhang”的信息) 3.显示有不及格同学的信息 4.按指定课程排序输出 5.增加一个新同学 6.修改指定姓名的信息 7.删除指定姓名的信息 0.退出
好的,这是一个比较完整的学生成绩管理系统,需要用到结构体、文件读写、排序等方面的知识。以下是简单的程序框架,您可以参考一下:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_STUDENT 100 // 最多100个学生
// 学生信息结构体
typedef struct {
int id; // 学号
char name[20]; // 姓名
char gender[10]; // 性别
int score[3]; // 三门课程成绩
} student;
// 学生信息数组
student stu[MAX_STUDENT];
// 学生数量
int count = 0;
// 读取学生信息
void read_students() {
// TODO
}
// 保存学生信息
void save_students() {
// TODO
}
// 显示所有同学的信息
void show_students() {
// TODO
}
// 查找指定姓名的信息
void search_student() {
// TODO
}
// 显示有不及格同学的信息
void show_fail_students() {
// TODO
}
// 按指定课程排序输出
void sort_students() {
// TODO
}
// 增加一个新同学
void add_student() {
// TODO
}
// 修改指定姓名的信息
void edit_student() {
// TODO
}
// 删除指定姓名的信息
void delete_student() {
// TODO
}
// 主函数
int main() {
read_students(); // 读取学生信息
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");
printf("0. 退出\n");
printf("请输入数字:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 0: // 退出
save_students(); // 保存学生信息
printf("谢谢使用!\n");
return 0;
case 1: // 显示所有同学的信息
show_students();
break;
case 2: // 查找指定姓名的信息
search_student();
break;
case 3: // 显示有不及格同学的信息
show_fail_students();
break;
case 4: // 按指定课程排序输出
sort_students();
break;
case 5: // 增加一个新同学
add_student();
break;
case 6: // 修改指定姓名的信息
edit_student();
break;
case 7: // 删除指定姓名的信息
delete_student();
break;
default:
printf("输入错误,请重新输入!\n");
}
}
return 0;
}
```
以上是一个简单的程序框架,具体的实现需要根据题目要求进行编写。需要注意的是,这个程序需要读取和保存学生信息,可以使用文件进行读写。同时,需要实现各种功能函数,如排序、查找、增加、删除等。
阅读全文