Verifca se inesrisco un numero

di Antonio-Sim il
24 risposte

24 Risposte - Pagina 2

  • Hai provato questo codice? Ti sembra corretto?

    A parte l'algoritmo, hai anche delle sviste per cui dovresti avere errori

    lungghezza
  • Attento. Prova ad immaginarti cosa fa il programma che hai scritto se legge la stringa ‘’arte5'. Legge un carattere alla volta, giusto? Quindi legge una a, una r, una t, una e, e poi un 5. Il for si ferma solo alla fine della stringa, quindi ka stringa viene letta tutta. 4 caratteri non sono numeri, ma l'ultimo si, quindi la stringa viene percepita come un numero.

    Ora, domanda per de: tu, alla lettura di quale carattere ti sei accorto che arte5 non è un numero? Da li ti serve leggere altro, oppure hai già la risposta? (Per far interrompere un ciclo esiste break;)

  • Buona sera sono riuscito a capire come discriminare carattere per carattere,chiedo cortesmente consigli e pareri

    #include <stdio.h>
    #include <string.h>
    #define Dimensione 50
    int main()
    {
       char MiaStringa[Dimensione]="";
       char *Numero="";
       int i=0,LunghezzaStringa=0;
        printf(" %s","Inserire una Stringa");
         scanf(" %s", MiaStringa);
          LunghezzaStringa=strlen(MiaStringa);
           printf(" %s %d \n", "La lunghezza e';",LunghezzaStringa);
    
    
                while(MiaStringa[i]!='\0')
                {
                switch(MiaStringa[i])
                {
                    case '1':
                    case '2':
                    case '3':
                    case '4':
                    case '5':
                    case '6':
                    case '7':
                    case '8':
                    case '9':
                    printf("%c %s \n",MiaStringa[i],"E' Un Numero");
                    break;
                     case 'a':
                     case 'b':
                     case 'c':
                     case 'd':
                     case 'e':
                     case 'f':
                     case 'g':
                     case 'h':
                     case 'i':
                     case 'l':
                     case 'm':
                     case 'n':
                     case 'o':
                     case 'p':
                     case 'q':
                     case 'r':
                     case 's':
                     case 't':
                     case 'u':
                     case 'v':
                     case 'z':
                     case 'x':
                     case 'y':
                     case 'j':
                     case 'w':
                      printf("%c %s \n",MiaStringa[i],"E' Una Lettera Minuscola");
                       break;
                     case 'A':
                     case 'B':
                     case 'C':
                     case 'D':
                     case 'E':
                     case 'F':
                     case 'G':
                     case 'H':
                     case 'I':
                     case 'L':
                     case 'M':
                     case 'N':    
                     case 'O':
                     case 'P':
                     case 'Q':
                     case 'R':
                     case 'S':
                     case 'T':
                     case 'U':
                     case 'V':
                     case 'Z':
                     case 'X':
                     case 'Y':
                     case 'J':
                     case 'W':
                     printf("%c %s \n",MiaStringa[i],"E' Una Lettera Maiusola");
                    break;
                     default:
                      //printf("%s","E' qualcosa altro");
                       break;
                }//EXIT SWITCH
                i++;
                }  //Exit While
    
    
    
    
        return 0;
    }
    
          
           
    
    
    
    
  • 15/10/2023 - Antonio-Sim ha scritto:


    Buona sera sono riuscito a capire come discriminare carattere per carattere,chiedo cortesmente consigli e pareri

    #include <stdio.h>
    #include <string.h>
    #define Dimensione 50
    int main()
    {
       char MiaStringa[Dimensione]="";
       char *Numero="";
       int i=0,LunghezzaStringa=0;
        printf(" %s","Inserire una Stringa");
         scanf(" %s", MiaStringa);
          LunghezzaStringa=strlen(MiaStringa);
           printf(" %s %d \n", "La lunghezza e';",LunghezzaStringa);
    
    
                while(MiaStringa[i]!='\0')
                {
                switch(MiaStringa[i])
                {
                    case '1':
                    case '2':
                    case '3':
                    case '4':
                    case '5':
                    case '6':
                    case '7':
                    case '8':
                    case '9':
                    printf("%c %s \n",MiaStringa[i],"E' Un Numero");
                    break;
                     case 'a':
                     case 'b':
                     case 'c':
                     case 'd':
                     case 'e':
                     case 'f':
                     case 'g':
                     case 'h':
                     case 'i':
                     case 'l':
                     case 'm':
                     case 'n':
                     case 'o':
                     case 'p':
                     case 'q':
                     case 'r':
                     case 's':
                     case 't':
                     case 'u':
                     case 'v':
                     case 'z':
                     case 'x':
                     case 'y':
                     case 'j':
                     case 'w':
                      printf("%c %s \n",MiaStringa[i],"E' Una Lettera Minuscola");
                       break;
                     case 'A':
                     case 'B':
                     case 'C':
                     case 'D':
                     case 'E':
                     case 'F':
                     case 'G':
                     case 'H':
                     case 'I':
                     case 'L':
                     case 'M':
                     case 'N':    
                     case 'O':
                     case 'P':
                     case 'Q':
                     case 'R':
                     case 'S':
                     case 'T':
                     case 'U':
                     case 'V':
                     case 'Z':
                     case 'X':
                     case 'Y':
                     case 'J':
                     case 'W':
                     printf("%c %s \n",MiaStringa[i],"E' Una Lettera Maiusola");
                    break;
                     default:
                      //printf("%s","E' qualcosa altro");
                       break;
                }//EXIT SWITCH
                i++;
                }  //Exit While
    
    
    
    
        return 0;
    }
    
          
           
    
    
    
    

    Ma cos'è scherzi a parte o candid camera?

  • No Andrea, solo uno che non ha esperienza e conoscenza del C e delle librerie.

    Come lo eravamo anch'io e tu … 

  • Scusa Silente ma quella if scritta in modo errato e quella espressione poco utile nel caso specifico, non fanno altro che far confondere di più l'op.

  • Ok

    Provvedo a cancellare, per tenere pulito il topic. Hai ragione, mi sono lasciato andare

  • Ma se metti il valore di input in una variabile numerica ti da errore? Se si, cosa potrebbe significare?

Devi accedere o registrarti per scrivere nel forum
24 risposte