KoKoo 发表于 2021-2-8 20:44:00

要求读取文件中学生名,学科,分数。然后用户输入学科后print所有学生该学科分数

要求读取文件中学生名,学科个数, 学科,分数。然后用户输入学科后print所有学生该学科分数到指定文件。还要求检查学科个数是否相符。分数大于2算pass
主要困难是不同学生的学科个数不同。不知道如何读取。


输入文件的例子(格式是‘人名 学科个数 学科名 分数’)
Smith 3 math 4 programming 4 biology 4
Robin 5 math 5 economics 5 programming 3 biology 2 chemistry 3
Charles 3 gymnastics 5 football 5 physics 2 Thomson 4 biology 5 programming 3 physics 5 chemistry 5
White 3 chemistry 4 biology 4 ecology 4

用户输入例子
输入学科名:biology
输入输出文件的名字:outfile

outfile内容
Selected subject: biology
Smith 4 passed
Robin 2 NOT PASSED
Thomson 5 passed
White 4 passed

Minecraft程序猿 发表于 2021-2-8 20:45:22

请移步至小甲鱼结构体章节视频...

KoKoo 发表于 2021-2-8 20:48:11

Minecraft程序猿 发表于 2021-2-8 20:45
请移步至小甲鱼结构体章节视频...

看过了,但还是不太明白。strcut里的个数不也是确定的吗。我也不太会用用结构体数组

qiuyouzhi 发表于 2021-2-8 20:51:16

KoKoo 发表于 2021-2-8 20:48
看过了,但还是不太明白。strcut里的个数不也是确定的吗。我也不太会用用结构体数组

结构体数组没啥难的
就是把一堆结构体放一数组里面
你可以定义一个学生的结构体,一个分数的结构体

KoKoo 发表于 2021-2-8 21:12:12

qiuyouzhi 发表于 2021-2-8 20:51
结构体数组没啥难的
就是把一堆结构体放一数组里面
你可以定义一个学生的结构体,一个分数的结构体

请问之后该怎么根据用户输入的学科名来打印所有学生分数呢?

Minecraft程序猿 发表于 2021-2-8 22:03:03

KoKoo 发表于 2021-2-8 20:48
看过了,但还是不太明白。strcut里的个数不也是确定的吗。我也不太会用用结构体数组

用单链表,就是结构体里定义一个指针指向该结构体,一层层的指下去,最后一个节点指向NULL表示结束,使用头插法,把第一个节点存储的地址备份到一个变量,然后把它改成新的地址,新的节点指向备份的地址,小甲鱼后面有讲
页: [1]
查看完整版本: 要求读取文件中学生名,学科,分数。然后用户输入学科后print所有学生该学科分数