【发布时间】:2021-08-23 09:34:41
【问题描述】:
我有一个函数可以将用户输入解析为正确的重载函数。我的“parseUserInput”函数确定用户输入的是字符、浮点数还是整数数组。然后它调用重载函数最终确定平均成绩。我面临的问题是,当我输入一个整数数组时,我想确保如果用户没有输入 5 个整数,其余的都用零填充。
例如:“55 66 98 32 87”会起作用。
示例:“55 66”不起作用...我希望编译器了解丢失的变量应自动填充为零,例如 ....“55 66 0 0 0”。
有什么想法可以做到这一点吗?
void parseUserInput(char *userInput)
{
int array[ASSGN_MARK];
/* other code ... */
else if (sscanf(userInput, "%i %i %i %i %i", &array[0], &array[1], &array[2], &array[3], &array[4]))
{
printf(">> This input should be directed to the << assessGrade(int[]) >> function ...\n");
assessGrade(array);
}
/* other code...*/
}
//Overloaded Function
void assessGrade(int array[ASSGN_MARK])
{
int total = 0;
int sum = 0;
sum = array[0] + array[1] + array[2] + array[3] + array[4];
total = sum / ASSGN_MARK;
//being type-casted to a double, as I'm calling the next overloaded function
//and that overloaded function will display if the student passed or failed
assessGrade((double)total);
}
【问题讨论】:
-
int array[ASSGN_MARK];中的值未初始化,这就是代码可能不起作用的原因。
标签: c++ arrays overloading