Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82

    Disuguaglianza fra più elementi...

    Ciao,

    Dovrrei far un controllo di inserimento dati, fin ora è così:

    codice:
    if (x > 6 || x < 2 || y > 6 || y < 2 || c != 'A' || c != 'C')
    Tuttavia non mi piace, è troppo lungo, se anzichè mettere

    codice:
    c != 'A' || c !=  'C'
    Volessi evitare di ripetere due volte c e mettere un (sparo la caxxata) un "if c diverso da A e C"?

    Come potrei scriverlo?


    Thx
    [TrGh]

  2. #2

    Re: Disuguaglianza fra più elementi...

    Originariamente inviato da [TrGh]
    Ciao,

    Dovrrei far un controllo di inserimento dati, fin ora è così:

    codice:
    if (x > 6 || x < 2 || y > 6 || y < 2 || c != 'A' || c != 'C')
    Tuttavia non mi piace, è troppo lungo, se anzichè mettere

    codice:
    c != 'A' || c !=  'C'
    Volessi evitare di ripetere due volte c e mettere un (sparo la caxxata) un "if c diverso da A e C"?

    Come potrei scriverlo?


    Thx
    in che linguaggio??

    comunque
    un alternativa e usare uno Switch..

    codice:
    switch(c){
    case 'A':
    case 'C':
    }
    altrimenti quello e' il massimo che puoi fare..

  3. #3
    generalmente, in C, si utilizzano le funzioni messe a disposizione dall'header <ctype.h>: http://alpha.science.unitn.it/~fiore...guidac110.html

    ma nel tuo caso non so se il gioco vale la candela...

    p.s. se sono molti (ma non tutti A...Z) puoi sempre caricare i caratteri in un array[]
    e con un ciclo iterativo passarli al carattere di controllo
    codice:
    while ( arr[i] != '\0')
    {
        if ( ctrl == arr[i])
        {
            // carattere trovato   
            break;
        }
        else
        {
            // carattere non trovato
        }
        i++;
    }
    N.B. come da regolamento: nel titolo bisogna sempre specificare il linguaggio utilizzato...
    ...Terrible warlords, good warlords, and an english song

  4. #4
    Potresti usare una funzione del tipo c [NON] e' contenuto nella stringa "AC". Tutto dipende da che linguaggio usi.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  5. #5
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da Johnny_Depp
    p.s. se sono molti (ma non tutti A...Z) puoi sempre caricare i caratteri in un array[]
    e con un ciclo iterativo passarli al carattere di controllo
    codice:
    while ( arr[i] != '\0')
    {
        if ( ctrl == arr[i])
        {
            // carattere trovato   
            break;
        }
        else
        {
            // carattere non trovato
        }
        i++;
    }
    N.B. come da regolamento: nel titolo bisogna sempre specificare il linguaggio utilizzato...
    si infatti se sono molti caratteri da confrontare puoi fare cosi...
    oppure invece di usare un array ti controlli il codice ascii del carattere o dei caratteri...
    sto parlando del C... non so che linguaggio usi...

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82
    scusae, mi son dimenticato di specificare... è java

    Thx a tutti
    [TrGh]

  7. #7
    Allora la funzione che ti dicevo e' indexOf:

    codice:
     
    
    
    if (x > 6 || x < 2 || y > 6 || y < 2 || "AC".indexOf(c)==-1)
    Dovrebbe andare, altrimenti fammi sapere.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

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.