Non riesco a capire come mai ottengo questo output...
https://prnt.sc/htwkm
Secondo voi?
// ESERCIZIO 5.20: Stampare un quadrato di un qualunque carattere.
// Modificate la funzione realizzata nell'esercizio 5.19 per formare il quadrato con qualsiasi carattere contenuto nel parametro di tipo carettere fillCharacter. Così, se side è 5 e fillCharacter è "#", questa funzione deve stampare:
// # # # # #
// # # # # #
// # # # # #
// # # # # #
// # # # # #
// Codice sorgente:
#include <stdio.h>
void quadrAsterCaratterePieno( int sideVertic, char fillCharacter );
int main( void ) {
puts( "Questo è un programma che stampa un quadrato pieno di lato a scelta dell'utente formato dal carattere scelto dall'utente.\n" );
printf( "%s", "Si prega di inserire il carattere dal quale sarà formato il quadrato e la lunghezza del lato del quadrato pieno: " );
int latoUtente;
char carattere;
scanf( "%c%d", &carattere, &latoUtente );
puts( "" );
quadrAsterCaratterePieno( latoUtente, carattere );
int continuer = 1;
printf( "%s", "\nSi vuole continuare (0 per terminare ed 1 per continuare)?: " );
scanf( "%d", &continuer );
while( continuer != 0 ) {
printf( "%s", "\nSi prega di inserire il carattere dal quale sarà formato il quadrato e la lunghezza del lato del quadrato pieno: " );
scanf( "%c%d", &carattere, &latoUtente );
puts( "" );
quadrAsterCaratterePieno( latoUtente, carattere );
printf( "%s", "\nSi vuole continuare (0 per terminare ed 1 per continuare)?: " );
scanf( "%d", &continuer );
}
}
void quadrAsterCaratterePieno( int sideVertic, char fillCharacter ) {
int rigaCounter = 1;
for( int counterVertic = 1; counterVertic <= sideVertic * sideVertic; ++counterVertic ) {
printf( "%c ", fillCharacter );
if( counterVertic == sideVertic * rigaCounter ) {
puts( "" );
++rigaCounter;
}
}
}
/*
#include <stdio.h>
void square( int side, char fillCharacter );
int main( void ) {
printf( "%s", "Enter a character and the side lenght: " );
int s; // lunghezza del lato
char c; // carattere di riempimento
scanf( "%c%d", &c, &s );
puts( "" );
square( s, c ); // stampa quadrato pieno con carattere specificato
}
// square stampa quadrato pieno di fillCharacter con il lato specificato
void square( int side, char fillCharacter ) {
// ripeti side per il numero di righe
for( unsigned int loop = 1; loop <= side; ++loop ) {
for( unsigned int loop2 = 1; loop2 <= side; ++loop2 ) {
printf( "%c ", fillCharacter );
}
puts( "" );
}
}
*/