01/12/2023 - Weierstrass ha scritto:
#include <stdio.h>
int Size;
char CarattereInterno = '\n';
void Rettangolo(void);//Creo il prototipo
int main()
{
Rettangolo();//Richiamo La funzione
return 0;
}
void Rettangolo(void)
{
printf("Inserisci la dimensione del quadrato: "); fflush(stdout);
scanf(" %d", &Size);
printf("Inserisci il carattere di riempimento: "); fflush(stdout);
while(CarattereInterno == '\n' || CarattereInterno == '\r')
CarattereInterno = getchar();
//Creo il primo ciclo che realizza le righe
for (int i=1;i<=Size;i++)
{
for(int j=1;j<=Size;j++)
{
//Stampo il carattere desiderato riga per riga
if(i==1 ||i==Size ||j==1 || j==Size) printf("%d", i); //i==1Stampo il sopra del quadrato
// I=Size Stampo il sotto
//il=1 Stampo il lato sinistro del quadrato
//j==Size Stampo il lato destro del quadrato
else printf("%c", CarattereInterno);
}
printf("\n");
}
}
Ciao Weierstrass, ho usato il tuo codice e funziona ,vorrei capire, perchè adoperando getchar, affinche il programma di prova che scrivo ,per adoperare tale funzione,deve eseguire la dichiarazione della variabile e la sua assegnazione nel ciclo, invece nel tuo avviene tutto al difuori, come da conseitudine. Anche sul deitel ,viene tutto eseguito all'intero del ciclo.
Il programma ,stampa il contenuto della variabile carattere, fin quando digito il punto, grazie della cortesia.
#include <stdio.h>
int main(void)
{
char Carattere='\n';
printf("Inserire Una stringa");
Carattere=getchar() ;
while( Carattere !='.' &&(Carattere!= '\n' || Carattere != '\r'))
{
putchar(Carattere);
}
}