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

    [C] un piccolo problema

    Ciao a tutti sono nuovo di questo forum e colgo subito l'occasione per chiedervi un aiuto. Sto preparando l'esame di Programmazione per la facoltà di Ingegneria, con il linguaggio C. Il programma che uso x esercitarmi è Dev C++. Quando compilo e mando in esecuzione un qualunque programma la finestra di esecuzione si vede solo per le prime istruzioni, ad esempio l'inserimento da tastiera di dati di input, per poi tornare sistematicamente alla finestra dell'editor, senza darmi il tempo di vedere il risultato del programma.

    Esiste un istruzione da inserire nel programma (e se si, dove) che mi mantenga aperta la finestra di execute e poi mi faccia tornare all'editor premendo Invio o un qulunque tasto?

    Ad esempio nel Pascal si usa "uses crt" o qlcs di simile...

    Spero che qualcuno mi aiuti altrimenti non saprò mai se i programmi che faccio sono giusti!

  2. #2
    puoi o usare
    system("pause");

    oppure include conio.h e usi la funzione getch() che aspetta la pressione di un tasto

  3. #3
    Originariamente inviato da zero85
    puoi o usare
    system("pause");

    oppure include conio.h e usi la funzione getch() che aspetta la pressione di un tasto
    tali due istruzioni dove vanno inserite? la seconda ovviamente alla fine del programma, prima della parentesi graffa che chiude il main...

    mentre system ("pause")?

    stesso discorso?

  4. #4
    Grazie Zero85, ho controllato, ora funziona!

    Sei stato genitilissimo!

  5. #5
    come non detto, non funziona sempre...

    che stress!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,328
    Scusa ... fai vedere quello che hai scritto?

  7. #7
    Originariamente inviato da oregon
    Scusa ... fai vedere quello che hai scritto?
    Non far caso alla banalità del programma, ho appena iniziato:

    Qui funziona:

    include <stdio.h>

    /* function main begins program execution */
    int main( void )
    {
    printf( "Welcome to C!\n" );

    system("pause");
    } /* end function main */



    Qui no:

    #include <stdio.h>

    /* function main begins program execution */
    main()
    {
    int num1; /* first number to be read from user */
    int num2; /* second number to be read from user */

    printf( "Enter two integers, and I will tell you\n" );
    printf( "the relationships they satisfy: " );

    scanf( "%d%d", &num1, &num2 ); /* read two integers */

    if ( num1 == num2 ) {
    printf( "%d is equal to %d\n", num1, num2 );
    } /* end if */

    if ( num1 != num2 ) {
    printf( "%d is not equal to %d\n", num1, num2 );
    } /* end if */

    if ( num1 < num2 ) {
    printf( "%d is less than %d\n", num1, num2 );
    } /* end if */

    if ( num1 > num2 ) {
    printf( "%d is greater than %d\n", num1, num2 );
    } /* end if */

    if ( num1 <= num2 ) {
    printf( "%d is less than or equal to %d\n", num1, num2 );
    } /* end if */

    if ( num1 >= num2 ) {
    printf( "%d is greater than or equal to %d\n", num1, num2 );
    } /* end if */

    system("pause");

    } /* end function main */



    Tra l'altro ho dovuto togliere l'istruzione "return 0;" che conclude in genere la funzione main...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,328
    Prova inserendo

    fflush(stdin);
    system("pause");

  9. #9
    Utente di HTML.it L'avatar di Eris
    Registrato dal
    Feb 2004
    Messaggi
    511
    io uso lo stesso programma.anche io esame di ingegneria...

    lo dovrebbe mettere di default il system("pause")


    a me comunque va...

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {int num1; /* first number to be read from user */ 
    int num2; /* second number to be read from user */ 
    
    printf( "Enter two integers, and I will tell you\n" ); 
    printf( "the relationships they satisfy: " ); 
    
    scanf( "%d%d", &num1, &num2 ); /* read two integers */ 
    
    if ( num1 == num2 ) { 
    printf( "%d is equal to %d\n", num1, num2 ); 
    } /* end if */ 
    
    if ( num1 != num2 ) { 
    printf( "%d is not equal to %d\n", num1, num2 ); 
    } /* end if */ 
    
    if ( num1 < num2 ) { 
    printf( "%d is less than %d\n", num1, num2 ); 
    } /* end if */ 
    
    if ( num1 > num2 ) { 
    printf( "%d is greater than %d\n", num1, num2 ); 
    } /* end if */ 
    
    if ( num1 <= num2 ) { 
    printf( "%d is less than or equal to %d\n", num1, num2 ); 
    } /* end if */ 
    
    if ( num1 >= num2 ) { 
    printf( "%d is greater than or equal to %d\n", num1, num2 ); 
    } /* end if */ 
    
      
      system("PAUSE");	
      return 0;
    }

  10. #10
    Originariamente inviato da oregon
    Prova inserendo

    fflush(stdin);
    system("pause");
    dunque, così mi funziona anche includendo il return, l'importante è che in fase di compilazione faccio prima salvare il programma modificato...

    ora farò ulteriori tentativi, mettendo soltanto system("pause"); non sempre mi andava bene... oppure sembrava quasi incompatibile col return 0;

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 © 2020 vBulletin Solutions, Inc. All rights reserved.