Stampa di una quadrato

di il
9 risposte

Stampa di una quadrato

Buon pomeriggio chiedo cortsemente aiuto, perchè non capisco cosa ci sia di sbagliato nel mio codice, inserente la stampa di una quadrato, con un carattere scelto mediante la scanf,grazie per l'aiuto.

 #include<stdio.h>
 //Stampa di un quadrato con il carattere desiderato
int main()
{
    int Lato;
    char carattere ;
     printf("Inserire il lato");//seleziono la misura del lato
      scanf("%d", &Lato);
       printf("Inserisci un carattere");
        scanf("%c",&carattere);//seleziono il tipo di carattere da stampare


 for(int i=1;i<=Lato;i++)//scannsiono l'altezza

 {

     for (int j=1;j<=Lato;j++)//scansiono la riga

     {

      printf("%c",carattere);//stampo la serie di  caratteri desiderati

//se inserisco printf("*");funziona correttamente

     }
     printf("\n");
 }

return 0;

}

9 Risposte

  • Re: Stampa di una quadrato

         printf("Inserire il lato: ");//seleziono la misura del lato
          scanf(" %d", &Lato);
           printf("Inserisci un carattere: ");
            scanf(" %c", &carattere);//seleziono il tipo di carattere da stampare
  • Re: Stampa di una quadrato

    06/06/2023 - Weierstrass ha scritto:


         printf("Inserire il lato: ");//seleziono la misura del lato
          scanf(" %d", &Lato);
           printf("Inserisci un carattere: ");
            scanf(" %c", &carattere);//seleziono il tipo di carattere da stampare

    Potresti spiegarti meglio, per favore, grazie 

  • Re: Stampa di una quadrato

    06/06/2023 - Weierstrass ha scritto

  • Re: Stampa di una quadrato

    Devi mettere lo spazio nella scanf che ti ignora tutti i caratteri cosiddetti whitespace (spazio, tab e newline) altrimenti quando premi invio ti considera, appunto, il newline e non il carattere che vuoi tu

    https://cplusplus.com/reference/cstdio/scanf/

  • Re: Stampa di una quadrato

    06/06/2023 - Weierstrass ha scritto:


    Devi mettere lo spazio nella scanf che ti ignora tutti i caratteri cosiddetti whitespace (spazio, tab e newline) altrimenti quando premi invio ti considera, appunto, il newline e non il carattere che vuoi tu

    https://cplusplus.com/reference/cstdio/scanf/

    Grazie gentilissimo, stasera provo e ti aggiorno, buona giornata. 

  • Re: Stampa di una quadrato

    06/06/2023 - Weierstrass ha scritto:


    Devi mettere lo spazio nella scanf che ti ignora tutti i caratteri cosiddetti whitespace (spazio, tab e newline) altrimenti quando premi invio ti considera, appunto, il newline e non il carattere che vuoi tu

    https://cplusplus.com/reference/cstdio/scanf/

    Ho seguito il tuo consiglio, ma non ha funzionato, ho modificato il codice, ora riesco a stampare il carattere digitato, ma non la sequenza 

    Ho inserito questa libreria 

    include<stdlib.h>

    #include<stdio.h>
    # include<stdlib.h>
     //Stampa di un quadrato con il carattere desiderato
    int main()
    {
        int Lato;
     char carattere[1]="" ;
         printf("Inserire il lato");//seleziono la misura del lato
          scanf("%d", &Lato);
           printf("Inserisci un carattere");
           scanf("%s" , carattere);//seleziono il tipo di carattere da stampare
             getchar();
             for (int z=0;carattere[z] !='\0';z++ ) printf("Hai inserito il carattere %s", carattere);

     for(int i=1;i<=Lato;i++)//scannsiono l'altezza

     {

         for (int j=1;j<=Lato;j++)//scansiono la riga

         {


          printf("%s",carattere);//stampo la serie di  caratteri desiderati

         }
         printf("\n");
     }

    return 0;

    }

  • Re: Stampa di una quadrato

    08/06/2023 - Antonio-Sim ha scritto:


    06/06/2023 - Weierstrass ha scritto:


    Devi mettere lo spazio nella scanf che ti ignora tutti i caratteri cosiddetti whitespace (spazio, tab e newline) altrimenti quando premi invio ti considera, appunto, il newline e non il carattere che vuoi tu

    https://cplusplus.com/reference/cstdio/scanf/

    Ho seguito il tuo consiglio, ma non ha funzionato, ho modificato il codice, ora riesco a stampare il carattere digitato, ma non la sequenza 

    Se non metti gli spazi, come detto, non funziona

    Questo è il tuo codice originale che non funziona

    https://onlinegdb.com/8b5y5biyu

    Questo è il tuo  codice originale con l'aggiunta dello spazio nella scanf e funziona

    https://onlinegdb.com/gk43z15nw

  • Re: Stampa di una quadrato

    08/06/2023 - Weierstrass ha scritto:


    08/06/2023 - Antonio-Sim ha scritto:


    06/06/2023 - Weierstrass ha scritto:


    Devi mettere lo spazio nella scanf che ti ignora tutti i caratteri cosiddetti whitespace (spazio, tab e newline) altrimenti quando premi invio ti considera, appunto, il newline e non il carattere che vuoi tu

    https://cplusplus.com/reference/cstdio/scanf/

    Ho seguito il tuo consiglio, ma non ha funzionato, ho modificato il codice, ora riesco a stampare il carattere digitato, ma non la sequenza 

    Se non metti gli spazi, come detto, non funziona

    Questo è il tuo codice originale che non funziona

    https://onlinegdb.com/8b5y5biyu

    Questo è il tuo  codice originale con l'aggiunta dello spazio nella scanf e funziona

    https://onlinegdb.com/gk43z15nw

    Grazie, verifico e ti faccio sapere 

  • Re: Stampa di una quadrato

    Non avevi già verificato nei post precedenti?

Devi accedere o registrarti per scrivere nel forum
9 risposte