Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Grazie!
    Ho fatto il download del pacchetto. Quindi, stasera, a casa, e' sufficente eseguire il setup?

  2. #12

  3. #13
    Bene.
    ho installato il pacchetto e ho scritto un semplice programmino. Compilo. Tutto OK. Eseguo. La finestra di DOS nn si apre! Più precisamente, "flasha", cioè appare per una frazione di secondo e poi si chiude. E in quella frazione di secondo io riesco a vedere che stampa correttamente l'output del programma. Che succede? Devo inserire un comando specifico nel programma che dica di tenere attiva la finestra DOS per visualizzare l'output?

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggi il quarto post di questa discussione ..

  5. #15
    E' vero! Era tutto già scritto... sorry!
    Già che ci sono, per farm perdonare la mia disattenzione, aggiungo un'informazione che ho trovato consultando le risorse on line del compilatore:
    da http://www.bloodshed.net/dev/faq.html#pause

    How do I emulate the MS-DOS pause function?
    There are two ways. You can do it this way:
    #include <stdio.h>

    int main()
    {
    printf ("Press ENTER to continue.\n");
    getchar (); // wait for input
    return 0;
    }

    Or this way:
    #include <stdlib.h>

    int main()
    {
    system ("pause"); // execute M$-DOS' pause command
    return 0;
    }
    Giulia

  6. #16
    Ho provato entrambe le funzioni per la pausa e quella che sfrutta "getchar()" non mi funziona. Non è un problema, perché posso usare l'altra, ma vorrei capire il perché!

    In pratica devo mettere due volte getchar(), altrimenti il programma si chiude, come se getchar() non ci fosse.
    Come mai?

    Sono su Windows... Dipende forse dal fatto che l'invio di Windows occupa i caratteri 10 e 13 (che sono due) e quindi dopo uno scanf usato nel programma rimane un "carattere in sospeso" che viene intercettato dal successivo getchar()?
    Se è così, i programmatori che solitamente usano C come risolvono la questione del getchar() normalmente?
    "Meglio un aiuto che 50 consigli"
    (tratto dalle barrette Elah)

  7. #17
    Fai una cosa : apri il prompt dei comandiVVoVe:, entra nella cartella dove si trova l'eseguibile ed eseguilo.

  8. #18
    L'ho fatto, ma il risultato è lo stesso. Non è che sono io a sbagliare il codice? (non conoscendo molto bene il C)

    Riporto qui un programma di esempio solo per la pausa che mi genera il problema:

    Codice PHP:
    #include <stdio.h>

    int main() {
        
    char invioint n;
        
    printf("Scrivi un numero: ");
        
    scanf("%d", &n);
        
    printf("Hai scritto %d.\n"n);
        
    printf("Sono in pausa... Premi invio!");
        
    invio getchar();
        return 
    0;

    Partendo da DOS posso leggere ciò che il programma ha stampato, ma il programma non attende la pressione di un tasto da parte dell'utente prima di concludersi...
    "Meglio un aiuto che 50 consigli"
    (tratto dalle barrette Elah)

  9. #19
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    codice:
        int n; 
    
        printf("Scrivi un numero: "); 
        scanf("%d", &n); 
        printf("Hai scritto %d.\n", n); 
        printf("Sono in pausa... Premi invio!"); 
        while(!getchar()) ; 
    
        getchar();
        return 0;

  10. #20
    Grazie, Oregon!
    Funziona come volevo io.
    Potresti dirmi perché getchar() restituisce uno 0 la prima volta che viene invocato?
    Grazie, ciao
    "Meglio un aiuto che 50 consigli"
    (tratto dalle barrette Elah)

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.