循环和 if 流中的逻辑不正确
Logic is incorrect in the flow of loops and ifs
所以我试图找到pat的最低年份.txt和don.txt的最高年份:
帕特.txt
Androf O kidney 24 2012
Blaren B kidney 35 2010
Cosmer A kidney 35 2000
Eralod O heart 53 2009
Forend B kidney 31 2003
唐.txt
Zerk B kidney 20 2009
Rampe A kidney 31 2005
Darech B kidney 34 2008
Seo A kidney 26 2010
Yuio B kidney 26 2013
代码如下:
struct Person {
string surname;
string BType;
string organ;
int age;
int year, ID, IDp;
} Patient[50], Donor[50];
然后感兴趣的代码:
int Date = 5000;
int Datel = 1000;
for (i = 0; i < 6; i ++){
for (i1 = 0; i1 < 6; i1++){
if ((Patient[i].BType == Donor[i1].BType) && (Patient[i].organ == Donor[i1].organ)){
if (Patient[i].year < Date){
Date = Patient[i].year;
//}
if ((Patient[i].year == Date ) && (Donor[i1].year > Datel)){
Date = Patient[i].year;
Datel = Donor[i1].year;
cout << Date << " " << Datel << "n";
}
}
}
}
}
目前我得到最高的患者和最低的捐赠者(2010-2009(,我需要获得(2003-2013(
我觉得在其中一个正在做平等的 if 语句中的逻辑不正确。目前,它正在寻找最高的患者和最低的捐赠者。我必须翻转它们。花了几个小时试图弄清楚这一点,如果有人能看到我的错误,我将不胜感激。我敢肯定这是一个愚蠢的小错误,但对于我的生活,我就是找不到它
我很
困惑,为什么不是简单的代码?
int oldestPatientDate = 5000;
int newestDonorDate = 1000;
for (i = 0; i < 6; i++)
if (oldestPatientDate > Patient[i].year)
oldestPatientDate = Patient[i].year;
for (i = 0; i < 6; i++)
if (newestDonorDate < Donor[i].year)
newestDonorDate = Donor[i].year;
cout << oldestPatientDate << " " << newestDonorDate << "n";
但也许这项任务比你描述的要多。
完全同意 PherricOxide 关于更好的变量名称。如果选择好的变量名,编程会更容易。
相关文章:
- 使用2个键的cpp-stl::优先级队列排序不正确
- 正弦级数方程计算不正确
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 密码登录程序将永远循环并显示不正确的结果
- 在C++中返回不正确的楼层函数值
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 形状对象的旋转和缩放不正确C++
- C++ 读取文件读取文件不正确
- 关于类的 Python 文档 - 对C++的引用不正确
- 特征 LLT 模块给出不正确的结果?
- glibcxx STL 在实现 std::valarray::sum() 时是否不正确?
- 如果语句逻辑不正确
- 来自逆 vp 矩阵和相机位置的光线方向不正确
- 不正确的操作数类型 MSVC
- 数组填充了不正确的值
- 循环和 if 流中的逻辑不正确
- C++-if语句不正确地检查字符串
- 对于循环数组迭代,if循环测试索引是否为真/假,计算结果不正确
- if-else 语句中的条件计算不正确
- c++ If, else If不读else If.或发现函数不正确