Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22

    [C]||[C++] confrontare:intero se è un carattere

    salve a tutti,
    volevo sapere come posso confrontare in un ciclo do while se n (int) è un carattere, se lo è il ciclo do while si ripete. esempio:
    do{
    printf("\nimmettere le persone che entrano al %d spettacolo:" ,loop);
    scanf("%d",&n);
    }
    while(n=getchar,isalpha(n));
    //qui ripete il ciclo ma n assume il valore di carattere(perche inizializzato a "n = getchar") quindi per poi (una volta usciti dal ciclo)visionare il contenuto della variabile n (interi senza segno) è pressoche impossibile, difatti n mi da valori sballati.
    Quindi come posso confrontare se n è un carattere(in un ciclo do while) in maniera differente?
    grazie a tutti anticipatamente

  2. #2

    Re: [C]||[C++] confrontare:intero se è un carattere

    ti dichiari semplicemente n come char, e quando lo usi come intero ci fai un casting
    codice:
    int x = ( int ) n
    e se lo usi come carattere lo lasci com'è

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22

    niente

    innanzitutto grazie per la risposta,ma non ho capito come procedere
    ho provato a fare come dici tu ma uguale non ho ottenuto risultati,pero forse ho sbagliato a utilizzare il tuo consiglio.
    int x = (int) n;
    per poi poter riutilizzare 'n'dopo il ciclo do while (convertita in char da "getchar=n")
    devo usare 'x', o no.
    se è cosi c ho gia provato senza risultati!!!
    in caso mi puoi fare un esempio
    grazie ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22
    innanzitutto grazie per la risposta,ma non ho capito come procedere
    ho provato a fare come dici tu ma uguale non ho ottenuto risultati,pero forse ho sbagliato a utilizzare il tuo consiglio.
    int x = (int) n;
    per poi poter riutilizzare 'n'dopo il ciclo do while (convertita in char da "getchar=n")
    devo usare 'x', o no.
    se è cosi c ho gia provato senza risultati!!!
    in caso mi puoi fare un esempio
    grazie ancora

  5. #5
    Se ho capito bene ti basta una cosa così:

    codice:
    int main()
    {
            int n;
            do
            {
                    printf("\nimmettere le persone che entrano allo spettacolo:");
                    scanf("%d",&n);
            }
            while(n=getchar(),isalpha(n));
    
            return 0;
    }
    Il ciclo si reitera finchè non immetti un valore di tipo int. E' questo che ti serviva?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22
    praticamente il problema è leggermente diverso il ciclo si ripete finke non immetto un valore di tipo int, ok tutto va liscio,ma il fulcro problematico è che quando esco dal ciclo (cioè metto un valore di tipo int)quando vado a vedere il numero memorizzato in output nella variabile 'n' mi da altri valori, questo perke(penso) sul ciclo do while ho messo ke n=getchar quindi 'n' perde il suo segno intero ma assume forma char(penso),il fatto sta ke se levo il ciclo do while
    'n' mi da i valori di output giusti.Quindi c'e' un modo per ovviare il problema sul ciclo do while.Spero di essere stato piu kiaro confronto a prima grazie anticipate

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,461
    Potresti fare un esempio di esecuzione del programma con dei valori numerici di esempio, per far capire il problema ...?

  8. #8
    Scusa la domanda ma di che parli? Non si capisce dal titolo e dal contesto del messaggio!

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,282

    Moderazione

    Ho unito le due discussioni.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    22
    scusate ma ho aperto una nuova discussione al posto della risposta ke dovevo fare per questo nn si è capito nulla.
    cmq rimanendo in tema di questa discussione ho risolto il problema
    facendo come mi ha detto murder eyes,effettuando un casting.
    Scusate per l'incomprensione e per aver sbagliato ad aprire una nuova discussione al posto di una risposta grazie a tutti alla prossima

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 © 2024 vBulletin Solutions, Inc. All rights reserved.