Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [C]Switch case senza premere invio

    Salve volevo sapere se qualcuno sa una funzione in [C] che mi permetta di utilizzare uno switch case o una cosa simile senza premere invio dopo aver digitato la scelta, per esempio come in questi casi, questi però sono dei comandi [batch]:
    codice:
    set /p userinp=Digita un numero(1-3):
    set userinp=%userinp:~0,1%
    if "%userinp%"=="1" //fai questo
    if "%userinp%"=="2" //fai quello
    if "%userinp%"=="3" //fai quest'altro
    inserendo questo dopo aver digitato il numero della scelta devi premere per forza invio altrimenti non parte.
    invece inserendo:
    codice:
    choice /c:123
     if errorlevel 3  //fai questo
     if errorlevel 2  //fai quello
     if errorlevel 1  //fai quest'altro
    con questo appena digito il numero si avvia immediatamente senza premere invio, esiste una cosa del genere in C?

  2. #2
    mi sa che mi conviene lavorare sulla scanf per questo problema?

  3. #3

  4. #4
    Salve volevo sapere se qualcuno sa una funzione in [C]
    ho capito che per risolvere il problema dello scanf posso fare :
    codice:
    int n;
    	char s[1];
    	printf("Inserisci il valore di n da 1 a 9\n");
    	s[0]=getch();
    	n=atoi(s);
    	switch(n)
    		{
    			case "1":
    				//fai questo
    				break;
    			...
    		}
    ma mi da un errore sul numero case mi dice
    codice:
    l'espressione deve essere un espressione di costante integrale
    come posso fare?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Perché non

    switch(s[0])


    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Qualche correzione (untested):

    Originariamente inviato da fabioowen
    codice:
    char s;
    printf("Inserisci il valore di n da 1 a 9\n");
    s=getch();
    switch(s)
       {
          case '1':
          // fai questo
             break;
    	...
       }

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da ESSE-EFFE
    Qualche correzione (untested):
    Giusto
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    ok ho provato ed ho tolto atoi e in tutte due i modi non funge ho sbagliato io? mi da sempre quell'errore mmm

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sicuramente non hai notato la differenza tra

    case '1':

    e

    case "1":
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    grazie mille :s chiedo scusa ma faccio proprio schifo comunque ora funziona anche nel modo che avevo postato ma lo alleggerisco con i vostri consigli scusatemi ancora grazie mille

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.