for循环-C++Diamond控制台输出问题

for loop - C++ Diamond Console Output Issues

本文关键字:输出 出问题 控制台 -C++Diamond 循环 for      更新时间:2023-10-16

我正试图让我的for循环在给定用户特定的最大值和最小值的情况下输出一个菱形,甚至不允许输入。任何想法都将不胜感激。练习并没有我想象的那么顺利。

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int rows, count;
cout<<"What is the width of the diamond (3 to 21, odd values only): ";
cin>>rows;
//Error checking
if(rows < 1 || rows > 25)
    {
        cout<<"Invalid. please enter an odd number from 1 to 25: ";
        cin>>rows;
    }
//Ascending
for (count = 1; count < rows; count += 1)       
    {
        for (int rows = 0; rows < count; rows ++)
        cout<<"*";
        cout<<endl;
    }
//Descending
for (count; count > 0; count -= 1)              
    {
        for (int rows = 0; rows < count; rows ++)
        cout<<"*";
        cout<<endl;
    }

cin.get();
cin.get();
return 0;
}

这执行目标的前半部分-:

for (int stars = 1; stars <= rows; stars+=2)
{
        int padding = rows - stars;
        for (int c = 0; c < padding/2; ++c)
           cout<<" ";
        for (int s = 0; s < stars; ++s)
           cout<<"*";
        cout<<endl;
}