[英]Nested loops C++
所以我正在制作一個程序,它將根據用戶所需的大小創建一個正方形。 到目前為止,我的代碼讀取值,打印出正方形的頂部,但由於我創建了一個嵌套循環,我正在了解如何設置邊。 這里的問題是我需要循環在每次存在時重置它的值。
到目前為止,這是我的代碼:
#include <iostream>
using namespace std;
int main(int,char**) {
int x;
int z=1;
int l=0;
int n=0;
int q=1;
int m=0;
int o=0;
do{
cout << "Enter length between 0 and 64 (-1 to exit): ";
cin >> x;
if (x>-1&&x<64){
cout << "+";
for (;x-2!=n;++n){
cout << "-";
}
cout << "+" << endl;
}
else{
cout << "Length must be between 0 and 64 inclusive, or enter -1 to exit.";
}
do {
cout << "|";
do {
//cout << " ";
//++m;
//}while (x-2!=m);
cout << "|" << endl;
++o;
}
while (x-2!=o);
++z;
}
while (z!=5);
}
注釋掉的部分是程序被趕上的地方,似乎當我增加 m 直到它退出 do while 循環時,它會保持它增加到的值。 我知道 continue 語句從循環中中斷並開始循環的新迭代,但它似乎不想適合 do-while 循環,即使我創建了一個 if 語句,例如
if (x-2==m){
continue;
}
任何幫助,將不勝感激
只要把m = 0;
在循環之前。
m = 0;
do {
cout << ' ';
++m;
} while (x-2 != m);
或者改用for
循環;
for (int m = 0; m != x-2; m++) {
cout << ' ';
}
這是重復某件事一定次數的更常見的習慣用法,因為您可以在一個地方看到與循環相關的所有條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.