Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di tonyzz
    Registrato dal
    Sep 2006
    Messaggi
    82

    [C] Creare un menų terminato dalla parola stop

    Ciao a tutti, volevo chieervi aiuto in quanto non riesco a fare un menų in c che termini con una parola anzichč con un numero. Io ho fatto cosė ma non funziona, mi sapete dire che errori ho commesso e come correggerli? grazie


    #include <stdio.h>


    int main() {

    char scelta[5];




    do {
    system("CLS");

    printf("1. inserisci un utente\n");
    printf("2. login utente\n");
    printf("3. logout utente\n");
    printf("stop. esci\n");
    printf("Inserisci la tua scelta: \n");
    _flushall();
    scanf("%s",scelta);

    switch (scelta[5]) {
    //inserisci un utente
    case '1':
    printf("Inserisci lo username: \n");
    system("pause");
    break;
    //login utente
    case '2':
    printf("Inserisci il nome dell'utente che si sta connettendo: \n");
    system("pause");
    break;
    //logout utente
    case '3':
    printf("Inserisci il nome dell'utente che si sta disconnettendo: \n");
    system("pause");
    break;

    }
    } while (scelta!="stop");
    system("pause");
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Intanto non puoi fare uno switch con una stringa.

    Le stringhe devono essere confrontate con apposite funzioni (ad esempio la strcmp) e non con !=

    Ripassa il concetto di puntatore e di vettore di char ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di tonyzz
    Registrato dal
    Sep 2006
    Messaggi
    82
    Sė scusa, in effetti non sapevo che non si potesse usare lo switch con le stringhe..
    Perciō vuoi dire che per fare un menų come serve a me devo utilizzare pių if a cascata?
    Ah e un'altra cosa: come faccio ad usare strcm con una parola? Dici che devo inserire una stringa cosė dichiarata? (char strend="stop"; e poi fare una srtcmp?)

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La strcmp la puoi utilizzare direttamente con la costante "stop" ...

    Per utilizzare la funzione correttamente leggi la documentazione su

    http://www.cplusplus.com/reference/c...ng/strcmp.html
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di tonyzz
    Registrato dal
    Sep 2006
    Messaggi
    82
    Guarda ho provato a cambiarlo cosė, ma non ho capito l'errore, che comunque dev'essere nell'uso dello strcmp, in quanto se comparo la stringa al carattere 1, comunque scelta ha degli indici in pių,no?

    #include <stdio.h>


    int main() {

    char scelta[5];




    do {
    system("CLS");

    printf("1. inserisci un utente\n");
    printf("2. login utente\n");
    printf("3. logout utente\n");
    printf("stop. esci\n");
    printf("Inserisci la tua scelta: \n");
    _flushall();
    scanf("%s",scelta);


    //inserisci un utente
    if (strcmp ("1",scelta)== 0)
    printf("Inserisci lo username: \n");

    //login utente
    else if(strcmp ("2",scelta) == 0)
    printf("Inserisci il nome dell'utente che si sta connettendo: \n");


    //logout utente
    else if (strcmp ("3",scelta) == 0)
    printf("Inserisci il nome dell'utente che si sta disconnettendo: \n");



    } while (strcmp ("stop",scelta) != 0);
    system("pause");
    }

  6. #6
    Utente di HTML.it L'avatar di tonyzz
    Registrato dal
    Sep 2006
    Messaggi
    82
    Ah niente, adesso viene, mi ero dimenticato i vari system("pause") dopo gli if..

    Non esiste un altro modo per fare un menų del gene vero?

    Grazie per l'aiuto ce mi hai dato fin'ora eh?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi utilizzare un vettore di stringhe e un ciclo per fare la ricerca e un altro vettore di puntatori a funzioni per lanciare l'azione corrispondente ... tutto sta quanto vuoi rendere "complesso" il programma ...
    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.