Perchè è scritto sul libro. Inoltre io le stringhe non le ho ancora affrontate.
Il mio libro riporta questa soluzione ma ciò dimostra che ho sbagliato qualcosa che non capisco......?!?...
https://prnt.sc/htup9
SOLUZIONE DEL LIBRO:
#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( "" );
}
}
MIA SOLUZIONE:
// 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 la lunghezza del lato del quadrato di asterischi pieno (-1 per terminare): " );
int latoUtente;
char carattere;
scanf( "%d", &latoUtente );
while( latoUtente != -1 ) {
printf( "%s", "Si prega di inserire il carattere del quale sarà formato il quadrato pieno: " );
scanf( "%c", &carattere );
puts( "" );
quadrAsterCaratterePieno( latoUtente, carattere );
printf( "%s", "\nSi prega di inserire la lunghezza del lato del quadrato di asterischi pieno (-1 per terminare): " );
scanf( "%d", &latoUtente );
}
}
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;
}
}
}