prosty program w c++, funkcja nie działa poprawnie

0

Witam, mam problem, mianowicie nie wiem co zmienić zeby na koncu nie wyświetlało sie zero.

Program ma za zadanie wyświetlić X w zaleznosci od podanej ilosci przez uzytkownika. Czyli jak uzytkownik wproawdzi 6 to ma wyswietlic sie
X
XX
XXX
XXXX
XXXXX
XXXXXX

a wyświetla sie na koncu jeszcze 0.

 #include <iostream>
#include <conio.h>

using namespace std;
int gwiazd(void)
   {
   int n;
    cout<<"ile : "<<endl;
    cin>> n;
    
    for( int i = 1; i <= n; i++ )
    {
        for( int j = 1; j <= i; j++ )
        {
            
            cout << "X";
        }
        cout <<endl;
    }
}
int main()
{
    
 cout<<gwiazd();
    getch();
    return 0;
}
0

cout<<gwiazd(); - wyświetlasz to co zwróci twoja funkcja.

#include <iostream>
using namespace std;

void gwiazd(unsigned n)
  {
   for(unsigned y=0;y<n;++y,cout<<endl) for(unsigned x=0;x<=y;++x) cout<<"X";
  }

int main()
  {
   unsigned n;
   cout<<"ile : ";
   cin>>n; 
   gwiazd(n);
   cin.sync();
   cin.get();
   return 0;
  }
0

czyli co powinienem zmienić ? i na co ?

0

a da się przerobić mój program zeby tak działał jak podany przez Ciebie?

0

Wywołuj funkcję przez gwiazd(); bez cout-a i będzie ok. Twojego zapisu można by użyć gdyby funkcja zwracała jakąś wartość, a ta tego nie robi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1