Inserire caratteri alfanumerici in un array

di The_Jolly01 il
11 risposte
Qualcuno ha idea di come creare un array ad esempio codiceidentificativo[6] in C in cui inserire caratteri alfanumerici tipo da 1 a 5 e da 'A' a 'C'? ad esempio che se io inserisco "C3R421" segnali errore e invece se inserisco "A232C4" me lo dia corretto?
Dovrei fare un controllo cella per cella o esiste qualche altro modo?
Grazie in anticipo

11 Risposte

  • In C devi fare il controllo carattere per carattere ma con un ciclo.
  • oregon ha scritto:


    In C devi fare il controllo carattere per carattere ma con un ciclo.
    Del tipo?
  • Un ciclo for che faccia la scansione di tutti i caratteri e una if che controlli che il singolo elemento sia tra quelli consentiti/non consentiti a seconda del tipo di operazione che vuoi fare di conseguenza.

    Prova a scrivere del codice, è roba elementare, se non scrivi tu codice di questo tipo, come fai ad imparare a programmare in C?
  • #include <stdio.h>
    #include <string.h>
    int main(){
      char codiceidentificativo[] = "A232C4";
      char input[100];
      do {
        printf("Inserisci il codice:\n");
        scanf("%99s", input);
      } while(strcmp(codiceidentificativo, input) != 0);
      printf ("Codice corretto!");
      return 0;
    }
  • Il codice che ti ha mostrato Weirstrass controlla solo che tu abbia inserito quel codice preciso non che il codice inserito rispetti le regole che hai indicato.
  • Weierstrass ha scritto:


    #include <stdio.h>
    #include <string.h>
    int main(){
      char codiceidentificativo[] = "A232C4";
      char input[100];
      do {
        printf("Inserisci il codice:\n");
        scanf("%99s", input);
      } while(strcmp(codiceidentificativo, input) != 0);
      printf ("Codice corretto!");
      return 0;
    }
    Non volevo fare questo. Volevo fare uno scanf che da errore se inserisco un codice formato ad esempio da 6 valori e questi valori devono essere compresi solo tra due determinati valori
  • Ti ho detto cosa fare dopo la scanf, non aspettare la "pappa pronta" .... prova a scrivere tu il codice ...
  • oregon ha scritto:


    Ti ho detto cosa fare dopo la scanf, non aspettare la "pappa pronta" .... prova a scrivere tu il codice ...
    Sisi riesco a farlo, è abbastanza semplice ma lungo. Speravo esistesse qualche tipo di comando che facesse il tutto senza fare 20 righe di codice
  • Magari non servono neanche 20 righe di codice ... se magari ci provi ...
  • Non ho letto bene, scusate. Comunque è una cosa di poche righe
  • Appunto per questo, secondo me, l'esercizio lo deve fare lui ... almeno impostarlo ...
Devi accedere o registrarti per scrivere nel forum
11 risposte