Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    1

    Aiuto --- Problema in C

    Sono alle prime armi ed ho compilato alcuni programmi ma quando vado nella cartella bin ed avvio l'esecuzione del programma appena finisco di completare tutto si chiude velocemente senza fammi finire di vedere tutto... Mica c'è un modo per far restare il programma fino all'infinito finche non si prema un tasto.... Grazie il programma è questo....
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        float A,B,c,d,e;
        printf("Inserire dati: \n");
        printf("Prezzo: ");
        scanf ("%f",&A);
        printf("Sconto: ");
        scanf("%f", &B);
    
    
        c=A*B;
        d=c/100;
        e=A-d;
    
    
        printf("\nCartellino:  \n");
        printf("Prezzo: %f\n", A);
        printf("Sconto Applicato: %f\n", B);
        printf("Prezzo Finale: %f\n", e);
    
    return 0;
    
    
    }
    Ultima modifica di MItaly; 24-08-2014 a 16:01

  2. #2
    Utente di HTML.it L'avatar di cip999
    Registrato dal
    Aug 2014
    Messaggi
    12
    Sì, è sufficiente che tu scriva
    codice:
    system("PAUSE");
    prima del return.
    Ultima modifica di cip999; 24-08-2014 a 00:46
    Due cose sono infinite: l'universo e la stupidità umana. Ma non sono sicuro della prima...
    Albert Einstein

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da cip999 Visualizza il messaggio
    Sì, è sufficiente che tu scriva
    codice:
    system("PAUSE");
    prima del return.
    Questa soluzione non è portabile e funziona solo su sistemi windows.
    Una soluzione portabile è aggiungere un
    codice:
    while(getchar()!='\n');
    dopo l'ultimo scanf e un
    codice:
    getchar()
    prima del return. Il motivo è spiegato in molte altre discussioni nel forum.

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void) {
    	float A,B,c,d,e;
    	printf("Inserire dati: \n");
    	printf("Prezzo: ");
    	scanf ("%f",&A);
    	printf("Sconto: ");
    	scanf("%f", &B);
    	while(getchar()!='\n');
    
    
    	c=A*B;
    	d=c/100;
    	e=A-d;
    
    
    	printf("\nCartellino: \n");
    	printf("Prezzo: %f\n", A);
    	printf("Sconto Applicato: %f\n", B);
    	printf("Prezzo Finale: %f\n", e);
    
    	printf("\nPremere un tasto per continuare...");
    	getchar();
    	return 0;
    }
    Che, espresso un po' meglio, può essere riscritto:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    #define flush_stdin() while(getchar()!='\n')
    #define wait(message) {printf(message); getchar();}
    
    int main(void) {
    	float A,B,c,d,e;
    	printf("Inserire dati: \n");
    	printf("Prezzo: ");
    	scanf ("%f",&A);
    	printf("Sconto: ");
    	scanf("%f", &B);
    	flush_stdin();
    
    
    	c=A*B;
    	d=c/100;
    	e=A-d;
    
    
    	printf("\nCartellino: \n");
    	printf("Prezzo: %f\n", A);
    	printf("Sconto Applicato: %f\n", B);
    	printf("Prezzo Finale: %f\n", e);
    
    	wait("\nPremere un tasto per continuare...");
    	return 0;
    }
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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.