【发布时间】:2021-03-27 07:47:57
【问题描述】:
我们在学校有一个作业,如果有可能帮助我,我会很高兴。
我们的任务是建立一个程序来处理课程和学生注册。
课程:
- 每门课程都有一个名字
- 身份证
最多有 10 门课程。
学生:
- 每个学生都有一个 ID
- 每个学生都有一个名字
- 他们的课程和成绩。
所以程序的选项是:
-
接受一门新课程。
-
更新课程名称。
-
添加一个新学生
-
为有成绩的学生添加一门新课程。
-
更新学生特定课程的成绩。
-
特定课程的平均成绩
-
参加课程的所有学生。
总的来说,我将创建一个包含 10 个位置的 COURSES 数组
现在我面临的问题:
-
如果我更改一门课程的名称,我需要为每个参加该课程的学生创建一个循环来更改,但这太复杂了。
-
对于一门课程的平均成绩,我需要检查所有对我来说似乎很愚蠢的学生。
我不是在寻找代码解决方案,只是在逻辑上帮助理解, 我应该做哪些清单?学生的?或课程一?或两者?或者也许还有另一个成绩? 只是想了解如何面对这个问题
【问题讨论】:
-
“但它太复杂了”。程序员的工作是简化任务,使其不复杂。应该只有一个位置存储课程名称,并且只需要在那里进行更新。课程中的每个学生都应持有该课程的引用(指针)。
-
感谢您的回复!你能建议我在哪里保存每门课程的每个学生的成绩吗?
-
这真的取决于您要进行的查询类型。对于一个玩具问题,在学生结构中记录成绩可能就足够了。对于一个真正的问题,您可能想要构建一个关系数据库。
-
我会在 3 天后尝试这个问题。似乎是一个有趣的问题。
-
以文本形式发布代码更有用。
标签: c list struct linked-list