c++ - 用零填充缺失的用户输入
问题描述
我有一个函数可以将用户输入解析为正确的重载函数。我的“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);
}
解决方案
由于这是一个 C++ 问题,我建议您使用 C++ 方式,并使用 std::vector。您可以像这样将元素初始化为零:
std::vector < int > array(5, 0);
您还需要传递一个引用,创建一个类来放入这两个函数,或者使其成为全局的,因为您现在拥有它的方式,另一个函数看不到数组。
推荐阅读
- java - Java多线程:停止以前的执行并开始新的
- javascript - 给定一组 x 和 y 坐标,在 javascript 中获取曲线方程
- visual-studio - Nuget依赖不成功
- reactjs - 无法从 react-redux 导入“UseSelector”
- python - 如何在 python 中使用 pandas 对多个 DataFrame 执行外部合并
- python - 如何从 C 模块中实例化自定义对象?
- regex - 正则表达式匹配以单词开头并以或不以数字结尾的字符串
- arrays - 在某些情况下,我必须将 `elems` 与数组一起使用才能使其工作?
- bash - 终端,退出状态向右对齐
- vb.net - 如何在 vb.net 中双重过滤数据网格视图