【发布时间】:2019-04-19 00:12:22
【问题描述】:
我正在制作一个程序,将学生的成绩放入数组中,使用结构体作为期末练习。我需要创建一个函数来检查数组中是否有任何位置,如果没有,则数组需要加倍大小,然后需要将等级添加到下一个可用位置。如果数组有空缺职位,则应将等级值添加到下一个可用职位。每当数组发生更改时,都必须使用正确的值更新grades_array_pos 和grades_array_size。我对 C 很陌生,我很难弄清楚如何做到这一点。所有这些都必须仅使用基本变量、for 和 while 循环,并以非常基本的方式完成。
struct student_grades
{
int student_id;
int *grades_array[10];
int grades_array_pos;
int grades_array_size;
};
void add_grade(struct student_grades * student, int assignment_grade){
}
【问题讨论】:
-
他们给你初始化代码了吗?例如必须创建一个 student_grades 结构并对其进行初始化。
-
教授们在 vocarium 浏览器中有执行此操作的代码。它还包含测试用例。我们实际上只是编写函数,并在我们点击发送按钮时对其进行测试。我们可以无限次发送。
-
它向我们展示了上面的结构,并为我们提供了您所看到的函数的开头。我们填写函数内部。有一个word文档告诉我们我上面所说的函数应该做什么。
-
好吧,我的意思是你需要自己做一些测试。这意味着制作一个 student_grades 结构(在您的 add_grade() 函数之外)。嗯...稍后我会在另一个答案中添加一些内容以帮助您入门。
-
嗯...我被困在“grades_array”上,它似乎是一个十项整数指针数组。抱歉,我想我可以帮忙 - 如果它只是“int *grades_array;”,我可以处理它说,vocarium 的东西会显示 printf 的结果吗?或者只是“通过了 25 个测试中的 8 个。”
标签: c