我对编程课程(初级水平)有所帮助,而且我唯一无法做到的事情(至少根据老师的说法)是其中一个函数处理了错误的输入。它看起来像这样:
void Modify(int id[], char str[100][30], int kredit[], int count)
{
system("cls");
int Search_value;
bool flag = false;
printf("Enter ID to be modified (1-100):: ");
scanf("%d", &Search_value);
for (int i = 0; i < count; i++)
{
if (id[i] == Search_value)
{
printf("Old record\n");
printf("ID :: %d \n", id[i]);
printf("Name :: %s \n", str[i]);
printf("Kredit :: %d\n", kredit[i]);
printf("New record\n");
printf("Name :: ");
scanf("%s",str[i]);
printf("Kredit :: ");
scanf("%d", &kredit[i]);
printf("New data saved\n");
flag = true;
}
}
if (flag == false)
{
printf("ID not found\n");
}
system("pause");
描述应如何完成修改的部分任务:
c)修改数据
编译并运行没有任何问题。或者至少我没有注意到。如果需要,我可以添加更多代码。
答案 0 :(得分:2)
处理错误意味着要考虑可能出错的事情。快速浏览一下程序后,
如果我输入的值超出了要求的范围,会发生什么? 如果计数大于应该或负数,会发生什么? 如果kredit小于它应该会发生什么? 如果str中的字符串没有NUL终止符会发生什么?
还可以找到其中一些。通常,您不必在每次函数调用时验证每个参数(尽管它可能有助于在开发期间查找错误),但您绝对应该验证用户输入。