簡體   English   中英

嵌套循環 C++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM