Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    48

    [C] Attribuire valore numerico a lettere

    Salve a tutti, arrivo subito al dunque!
    Sto lavorando su un progetto per l'esame di programmazione I, il progetto consiste nel creare un programma in C che simuli il gioco della battaglia navale.
    Il mio problema consiste nell'usare le lettere (A-L) per assegnare le coordinate "colonna".
    Al momento il programma l'ho tirato su sfruttando solo variabili int e quindi indicando le coordinate con soli numeri. Speravo di poter risolvere il problema attribuendo ad ogni lettera il valore numerico della rispettiva colonna.
    GRAZIE MILLE per l'attenzione

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La risposta è banale ... usa il codice ASCII per trasformare la lettere in numero ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    48
    Quote Originariamente inviata da oregon Visualizza il messaggio
    La risposta è banale ... usa il codice ASCII per trasformare la lettere in numero ...
    Infatti ho provato gia sfruttando il codice ASCII ma non essendo molto pratico non riesco a risolvere il problema.
    Usando il codice ascii per avere A=1 ho provato a scrivere:

    char a='1';
    printf("COLONNA: ");
    scanf("%c", &n);

    pero come risultato ho sempre 97 che sarebbe il valore ASCII di "a"

    Se potessi indicarmi meglio la scrittura di questa operazione,te ne sarei molto grato

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il valore lo hai nella variabile n. Cosa ci fai con la variabile a ?

    Quindi dopo la scanf

    n = n - 'a' + 1;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    48
    Hai perfettamente ragione...

    Ora ho provato cosi:

    printf("COLONNA: ");
    char a='1';
    scanf("%c", &n);
    n = n - 'a' + 1;
    printf("%d\n", n);

    e il printf mi da 1!

    Adesso cerco di incorporare nel miglior modo possibile questa procedura per tt le colonne

    GRAZIE MILLE!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ok ma questo

    char a='1';

    non ti serve ! Cancellalo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.