alext ha scritto:
Ma non capisco una cosa.. Il mio codice ha qualche cosa che non va? Nel senso, tu hai utilizzato un if else, un if nidificato, il tutto dentro un while..
Non è appropriato utilizzare il while all'indietro? Nello scrivere, pensandoci, mi è venuto naturale farlo così.
Il tuo codice va benissimo, scusa se ti ho confuso, solitamente si cerca di usare le variabili che ci sono senza assegnarne di nuove inutilmente, ma quello che sembra più lineare per me, non è detto che sia più lineare per te.
Gli if aggiuntivi che ho messo servono per disegnare un quadrato, come richiesto nella domanda, senza gli if si disegna una superficie quadrata.
Ma anche questa è una mia interpretazione...
il tuo codice funzionante:
#include <stdio.h>
// prototipo di funzione
int square(int x, char c);
// programma principale
int main (void)
{
int side;
char fillChar;
printf("Inserire il carattere da voler utilizzare: ");
scanf("%c", &fillChar);
printf("Inserire il lato del quadrato: ");
scanf("%d", &side);
square(side, fillChar);
}
// definizione di funzione
int square(int x, char c)
{
int y;
int counter;
y = x;
counter = x;
while (y >= 1)
{
for (counter; counter >= 1; counter--)
{
printf("%c", c);
}
printf("\n");
counter = x;
y--;
}
return 0;
}