Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: [C] 2 problemi....

  1. #1

    [C] 2 problemi....

    ho due problemi con lo sviluppo del mio programmino in C

    1)

    la parte principale del programma si svolge dentro un ciclo
    do....while ... e questo ciclo chiede ogni volta se iniziare una nuova sessione del programma.

    ORa, il mio programmino era prima strutturato in if, else if... nidificati, ho sostituito parte di quelli con dei CASE

    il problema è nel case(8), che dovrebbe far uscire dal programma, con l else if bastava mettere

    codice:
    else if(m == 8)
    {
        break;
        system("exit");
    }
    che fermava il ciclo do... while e poi chiudeva il software.

    COn il ca eil problema è che non posso mettere 2 break (perche mi chiude il CASE) e quindi non posso chiudere il cilo do...while e mi chiede la conferma


    spero di essere stato chiaro ... come posso risolvere?




    2)

    Il secondo problema è questo: non so perche ma questa parte del codice:

    codice:
    int ecode;
    
    ...
    
    for(x=0; x<1; x=x)
    {
        printf("\n\n\n Inserisci il numero di messaggi (0 = infiniti): ");
        ecode = scanf("%d",&messnum);
        if(ecode == 0)
        {
             printf("Errore: Imput errato");
        }    
        else
        {
              break;
        }    
    }
    al posto di richiedermi, dopo che ho sbagliato una prima volta, di inserire il numero di msg mi continua a dare l errore imput errato in loop, come se la variabile restasse settata e saltasse via il printf/scanf




    GRAZIE MILLE

    SwisströM

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    posta il codice

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Originariamente inviato da anx721
    posta il codice
    il codice intero? quello con gli "if" o quello con i "case" ?


    vabbe io allego tutti e due i files

    la 1.5a usa gli IF, mentre la 1.5b usa i case

    link: http://sgttuned.altervista.org/progr...one/source.rar

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    sostituisci

    system("exit");

    con

    exit(0);

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  5. #5
    Originariamente inviato da anx721
    sostituisci

    system("exit");

    con

    exit(0);
    grazie mille funziona

    per il secondo problema (non c è nel source che ho postato) sai come mai mi da l errore in loop e non mi richiede più di inserire il dato?

  6. #6
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Originariamente inviato da SwisströM
    per il secondo problema (non c è nel source che ho postato) sai come mai mi da l errore in loop e non mi richiede più di inserire il dato?
    il codice postato e corretto, l'errore dipende dove viene usato; ma il tuo scopo è mettere in ecode il numero di caratteri letti?

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  7. #7
    Originariamente inviato da anx721
    il codice postato e corretto, l'errore dipende dove viene usato; ma il tuo scopo è mettere in ecode il numero di caratteri letti?
    mhhhh... no, il mio scopo è dar un errore se il dato inserito non è un numero... e in questo modo funziona, solo che, al posot di tornare all inizio e richiedermi quel che doveva chiedermi manda in loop infinito l errore

  8. #8
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Per ottenere quello che vuoi devi:

    - leggere l'input come stringa, memorizzandolo quindi in un char[256];

    - poi usi la funzione atoi per convertire la stringa in intero; atoi pero ritorna zero se la stringa non rappresenta un numero.

    purtroppo il C non ha un buon supporto per questo tipo di operazione.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  9. #9
    Originariamente inviato da anx721
    Per ottenere quello che vuoi devi:

    - leggere l'input come stringa, memorizzandolo quindi in un char[256];

    - poi usi la funzione atoi per convertire la stringa in intero; atoi pero ritorna zero se la stringa non rappresenta un numero.

    purtroppo il C non ha un buon supporto per questo tipo di operazione.
    atoi è nella stdlib.h ?

  10. #10
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Si, per domande come queste:

    http://www.cplusplus.com/ref/

    trovi la documentazione della libreria standard del C.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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.