卡在链表中的无限 Do-while 循环中
Stuck in an infinite Do-while loop in Linked List
大家好,我正在输入教授布置的作业,基本上只是为酒店类型的服务开账单。我已经完成了链表,我所有的计算和输出都是根据需要完成的。但是当用户输入为"是"或"是"以继续时,我得到了一个无限循环。
#include <iostream>
using namespace std;
int main()
{
struct nodeType
{
double adults, children, costA, costC, dessert, room, tt, deposit;
nodeType *next, *link;
};
{
nodeType *first,*newNode,*last;
int num;
cout << "Casewell Catering and Convention Service Final Billn" << endl;
//cout << "Enter the number of this set: ";
//cin >> num;
// bool choice = true;
char ch;
first = NULL;
do
{
newNode = new nodeType;
newNode->link = NULL;
cout << "Number of Adults: ";
cin >> newNode -> adults;
cout<< "Number of Children: ";
cin >> newNode -> children;
cout<< "Cost Per Adult without dessert: $";
cin >> newNode -> costA;
cout<< "Cost Per Child without dessert: $" << (newNode -> children) *(newNode -> costA) * 0.60 << " (60% of the Adult's meal)" << endl;
cout<< "Cost per dessert: $";
cin >> newNode -> dessert;
cout<< "Room fee: $";
cin >> newNode -> room;
cout<< "Tips and tax rate: $";
cin >> newNode -> tt;
cout << "" << "n" << endl;
//*********CALCULATIONS********************
cout << "Total cost for adult meals: $" << (newNode -> adults) * (newNode -> costA) << endl;
cout << "Total cost for child meals: $" << (newNode -> children) *(newNode -> costA) * 0.60 << endl;
cout << "Total cost for dessert: $" << ((newNode -> adults) + (newNode -> children)) * (newNode -> dessert) << endl;
cout << "Total food cost: $" <<(newNode -> adults) * (newNode -> costA) +
(newNode -> children) *(newNode -> costA) * 0.60 +
((newNode -> adults) + (newNode -> children)) * (newNode -> dessert)<< endl;
cout << "Plus tips and tax: $" << newNode -> tt * ((newNode -> adults) * (newNode -> costA) +
(newNode -> children) *(newNode -> costA) * 0.60 +
((newNode -> adults) + (newNode -> children)) * (newNode -> dessert)) << " (Does NOT Include Room Fee)" << endl;
cout << "Plus room fee: $" << (newNode -> room) << endl;
// cout << "Less Deposit: $" <<
if(first == NULL)
{
first = newNode;
last = newNode;
}
else
{
last->link = newNode;
last = newNode;
}
cout << "Would you like to continue?(yes/no)" << endl;
cin >> ch;
} while (ch =='y' || ch == 'Y'); // end of while loop
}
return 0;
}
将while(ch =='y' || ch == 'Y');
替换为while(ch =="y" || ch == "Y" || ch=="yes" || ch=="Yes");
我想这就是你的意思。你不是很清楚,但是如果你想让"是"或"是"工作,你必须检查输入的"是"和"是">
编辑:另外,将"ch"更改为字符串:)
相关文章:
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 如何使用 do while 循环确定最高值和最低值
- do while 循环中的 if 语句以 yes 或 no 结尾
- 带有开关语句的 do-while 循环 -- 无穷循环错误
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 为什么我的 Do-while 循环无法在C++中运行菜单
- 如果语句不会在 do - while 循环中运行
- 如何在c++中读取do-while循环中的空白
- 将嵌套的 for 循环更改为 do-while 循环
- 如何修复不会在退出选择时终止的 do-while 循环
- 为什么这个do-while循环每隔一个循环只写入数组?
- C++ do/while 循环和 if/else: 骰子游戏 -- 第 75 行错误:"Cout"之前的预期"While" -- 如何解决这个问题?
- 卡在链表中的无限 Do-while 循环中
- 使用基本 do-while 循环求解泊松方程
- do-while循环不会退出C
- 如何在C++中使用带有"do while"循环的计数器?
- 无休止的 do while 循环C++代码
- 是否有任何函数可用于在 c++ 编程中传输流程,以替代 while 或 do while 循环
- C++:如何在 do while 循环中解决字符错误