Problemi con code blocks e dev c++
ciao a tutti allora da poco ho installato sul mio pc Codeblocks .L'installazione pare sia andata bene...avvio il programma scrivo un semplice programmino c per prova ma quando poi vado su Build and run non succede nulla...il programm non viene compilato....provo a compilare "manualmente"andando su "compile current file" avviene la compilazione ma poi una volta che vado su run non succede nulla.....dov'è il problema?
dev c++ invece fa tutto ok pero poi mi lascia il risultato per una frazione di secondo prima di chiudersi e io non riesco a leggere nulla..
dev c++ invece fa tutto ok pero poi mi lascia il risultato per una frazione di secondo prima di chiudersi e io non riesco a leggere nulla..
Risposte
ciao!!!
potresti dire se codeblocks ti da qualche errore?
per quanto riguarda il dev invece io ti sconsiglio di usarlo in quanto è un progetto ormai abbandonato da diverso tempo... mentre per il problema della shell che si chiude subito, potresti far partire il programma direttamente da riga di comando, oppure usare stratagemmi del tipo system("pause"); alla fine del programma oppure getchar();...
potresti dire se codeblocks ti da qualche errore?
per quanto riguarda il dev invece io ti sconsiglio di usarlo in quanto è un progetto ormai abbandonato da diverso tempo... mentre per il problema della shell che si chiude subito, potresti far partire il programma direttamente da riga di comando, oppure usare stratagemmi del tipo system("pause"); alla fine del programma oppure getchar();...
no apparentemente nessun errore non riesco a capire...fino a qualke gg fa era tutto ok funzionava bene...poi ho formattato e reinstallato codeblockma ora compilo"MANUALMENTE" poi vado su "run" e mi dice:"it seems that this file has not been built yet.Do you want to build it now?....poi clicco sul si ma non succede nulla non appare nessuna shell
per quanto riguarda dev c++ mi hai ricordato che il prof ci diceva di usare getchar();.....ma dove lo devo mettere?
allora ti faccio un esempio
per quanto riguarda codeblocks potresti provare a reinstallare... non so....
int main() { printf("ciao mondo"); getchar(); return 0; }
per quanto riguarda codeblocks potresti provare a reinstallare... non so....
ok era come ricordavo ma se provo questo la shell sparisce subito comunque:(
#include
int main()
{
int x;
int y;
int z;
printf("dammi un numero\n");
scanf("%d",&x);
printf("dammi un altro numero\n");
scanf("%d",&y);
z=x+y;
printf("la somma e': %d",&z);
getchar();
return 0;
}
#include
int main()
{
int x;
int y;
int z;
printf("dammi un numero\n");
scanf("%d",&x);
printf("dammi un altro numero\n");
scanf("%d",&y);
z=x+y;
printf("la somma e': %d",&z);
getchar();
return 0;
}
ci sarebbe da fare tutto un bel discorsetto comunque sintetizzando, il tutto si verifica perché stdin è bufferizzato quindi quando leggi da input utilizzando scanf e simili spesso resta nel buffer qualche carattere di newline o simili che diciamo vengono intercettati dalla getchar();
comunque una possibile soluzione potrebbe essere usare system("pause") al posto di getchar();
oppure inventarti un ciclo del genere:
comunque una possibile soluzione potrebbe essere usare system("pause") al posto di getchar();
#include <stdio.h> #include <stdlib.h> int main() { int x; int y; int z; printf("dammi un numero\n"); scanf("%d",&x); printf("dammi un altro numero\n"); scanf("%d",&y); z=x+y; printf("la somma e': %d\n\n", z); system("pause"); return 0; }
oppure inventarti un ciclo del genere:
#include <stdio.h> #include <stdlib.h> int main() { int x; int y; int z; int ris; do{ printf("dammi un numero\n"); scanf("%d",&x); printf("dammi un altro numero\n"); scanf("%d",&y); z=x+y; printf("la somma e': %d\n\n", z); printf("\n\nSi vuole rieseguire il programma? se si premere 1 altrimenti 0: "); scanf("%d", &ris); }while(ris!=0); return 0; }
ah grazie!!!per approfondire e comprendere bene quello che mi hai detto mi basta un semplice manuale C?
Sparisce subito perché è già presente un carattere nello stream di input quando chiami "getchar();". scanf non elimina infatti gli spazi o i caratteri di "a capo" dopo il numero dallo stream e quindi li lascia nel buffer per essere letti in seguito (nel tuo caso da getchar())-
potresti anche frugare un po' su internet, ciò non toglie che un buon manuale per imparare tutto per bene è essenziale... potresti provare con il deitel & deitel "c corso completo di programmazione"
ok grazie a tutti!
