如何为数组中的特定空间正确设置条件
How can I properly set a condition for an specific space in array?
我正在开发一个用于C++练习的小应用程序,我实际上成功地在不使用数组的情况下开发了这个算法,但现在我想使用 Array 来做到这一点。该计划应接受四个等级 2 分(共 15 分的实践)(第一和第三值),两个 20 分(第二和第四个值)和一个 30 分。这是我的代码:
int main(int argc, char** argv){
int grades[5];
int i;
int sum=0;
for(i=0; i<5; i++){
cin >> grades[i];
sum+=grades[i];
if(grades[0]>15||grades[1]>20){
cout<<"ERROR"<<endl;
break;
}else if(grades[2]||grades[3]){
cout<<"ERROR"<<endl;
break;
}if(grades[4]>30){
cout <<"ERROR"<<endl;
break;
}
}
}
这里的问题是,它不应该在控制台上打印错误并中断它继续,只有在满足条件的情况下,此时如果我即使在条件的宽限范围内输入值,它也会打印出"错误"并停止。
我并不是真的在寻找解决这个问题的人,我想知道我做错了什么,而没有让别人为我解决它,换句话说,我正在寻找提示/提示。
这里这一行
}else if(grades[2]||grades[3]){
cout<<"ERROR"<<endl;
break;
}
将导致您的错误随时显示索引 2 或 3 处的元素不为零。您不初始化数组元素,因此在循环开始时,这些值很可能不为零。为了确保它们不是,您可以在开始之前为所有元素分配零。我不确定您的代码试图做什么,但是当用户在 i = 2
处为cin
输入除零以外的任何内容并且i = 3
您的循环将因错误输出而中断(假设您的 if-else
块中的第一个 if
限制不满足,但如果满足该条件,您的循环无论如何也会退出)
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 从父命名空间重载类型
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 如何在不使用命名空间标准的情况下取消设置ios::fixed
- 空向量占用的空间是否与指向当前设置为 nullptr 的类型的指针一样多
- 将骨旋转设置为在本地空间中的可容纳网眼
- QACTION快捷方式无法将空间设置为热键
- 如何为数组中的特定空间正确设置条件
- 手动设置空间参照时,LibLas崩溃
- 如何使用冯诺依曼邻域在 3D 空间中设置索引
- 命名空间设置为“已使用”,因为内部使用了一种类型
- LLVM设置函数传递的问题-命名空间问题
- 设置vim项目空间与4个不同的代码,但相关的代码库
- 如何在Visual Studio匿名命名空间中通过函数名设置断点
- 如何将一个派生类的对象在基类私有空间中设置的值传递给另一个派生类别的对象
- 在相同的命名空间但不同的类中为枚举设置值?C++