Problema con un file eseguibile

di Anonimizzato27058 il
5 risposte
Salve, ho riscontrato un problema nell'esecuzione di un "programmino" in c. Il codice sembra funzionare correttamente, (probabilmente presenta delle imperfezioni) e nel terminale integrato di vscode fa il suo dovere, il problema sorge quando avvio l'exe direttamente dalla directory, come se volessi usarlo al di fuori di vscode, mi chiedi gli input ma quando deve calcolare l'output si chiude.
Leggendo ho provato ad inserire
system("pause");
alla fine del codice e con questo rimane attivo ma mi da qualche problema con le stringhe del printf.
Volevo sapere se c'e' un modo per ovviare a questo problema:

Source:
#include <stdio.h>

int main(void) {

   int totale;
   int divisore;
   int dividendo;
   int divisoreTemp;
   int dividendoTemp;
   int a,b;

    printf("%s", "Inserisci un divisore: ");
    scanf("%d", &divisore);
    printf("%s", "Inserisci un dividendo (diverso da 0): ");
    scanf("%d", &dividendo);

    a = divisore;
    b =  dividendo;

    while ((divisore % dividendo) != 0) {
        totale = divisore % dividendo;
        divisoreTemp = divisore;
        dividendoTemp = dividendo;
        divisore = dividendo;
        dividendo = totale;
    }

    printf("L'MCD tra %d e %d e' %d", a, b, totale);
}
P.S Il codice e' sicuramente migliorabile ma per ora non ho prestato particolare attenzione a questo; Inoltre quando avvio il codice dal terminale di vscode non compare nessun errore o warning.

5 Risposte

  • Che la console si chiuda è normale e coretto se esegui l'exe col doppio click e l'exe termina. È la base del funzionamento delle finestre console da sempre...

    Puoi aprirne una tu con cmd ed eseguire il tuo exe senza che la console di chiuda.

    A parte questo non ho capito che problema hai.
  • oregon ha scritto:


    Che la console si chiuda è normale e coretto se esegui l'exe col doppio click e l'exe termina. È la base del funzionamento delle finestre console da sempre...

    Puoi aprirne una tu con cmd ed eseguire il tuo exe senza che la console di chiuda.

    A parte questo non ho capito che problema hai.
    Il mio problema e' che si chiude ancora prima che veda l'output, se per esempio volessi usare questo "programma" staccandomi da vscode, quindi avviarlo tramite il file .exe c'e' un modo per evitare cio'? Magari mettendo una conferma prima della chiusura?
  • Ti ho appena risposto che la chiusura è normale.

    Se vuoi che si veda l'ouput

    a) apri una console con cmd ed esegui il tuo exe da lì

    oppure

    b)

    prima del return del main inserisci una qualsiasi chiamata che accetti un tasto (o in input) in modo che attenda prima di chiudersi

    oppure

    c) esegui con CTRL F5 (se non ricordo male) che non dovrebbe chiudere la console.
  • Per usare system devi includere stdlib.h, o altrimenti metti una scanf alla fine.
  • Ok, ho risolto, grazie mille a tutti.
Devi accedere o registrarti per scrivere nel forum
5 risposte