15 posts
· 5 views
· Last UP: 24/03/2014 17:23
Come Compilare un File C
Salve ragazzi, sto studiando un po di C ( sono proprio alla base ) e seguendo il libro comprato ho creato questo " source " : SPOILER ( clicca per visualizzare ) Un Primo Programma C */ #include <stdio.h> /* La funziona main è il punto di inizio dell'esecuzione del programma */ int main(void) { int integer1; /* Primo numero ad inserire da parte dell'utente */ int integer2; /* Secondo numero da inserire da parte dell'utente */ int sum; /* variabile in cui verrà memorizzata la somma */ printf("Enter first integer\n"); /*prompt */ scanf("%d" , &integer1); /* legge un intero */ printf("enter second integer"); /* Prompt */ scanf("d%" , &integer2); /* legge un intero */ sum = integer1 + integer2; /* assegnamento della somma */ printf("Sum is %d\n" , sum); /* visualizza la somma */ return 0; /* indica che il programma è terminato con successo */ } /* fine della funzione main */ Ora, se io volessi compilarlo/avviarlo come dovrei fare?? Ho provato un casino di tool ma non riesco a capire ( ho anche microsoft visual studio )
23/03/14 14:03
0
Devi usare il compilatore, io solitamente uso Dev C++ (c'è anche il C) , ci metti il codice lo fai compilare e ti crea un file exe
23/03/14 14:04
0
Proprio ora lo avevo scaricato... come lo studido salvavo il file come .cs e non come .c .. vediamo se va ora. Faccio compila e appare come se avesse finito ma poi nient'altro non crea nessun .exe e se faccio debug mi dice che non è stato compilato
23/03/14 14:11
0
Prova ad aggiungere #include stdlib.h e al posto di return 0 metti system("PAUSE"); . Non ho il compiltore a portata di mano e non posso darti indicazioni precise ma il problema dovrebbe essere questo
23/03/14 14:16
0
nada neanche così
23/03/14 17:50
0
scarica codeblocks...schiaccia compila e avvia e va da solo
23/03/14 18:42
0
Manco con quello me lo compila.. SPOILER ( clicca per visualizzare ) mingw32-g++.exe: Internal error: Aborted (program collect2) Please submit a full bug report. See <url:http://www.mingw.org/bugs.shtml> for instructions. Process terminated with status 1 (0 minute(s), 0 second(s)) 0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
23/03/14 19:08
0
<include iostream.h>
23/03/14 19:12
0
non me la riconosce proprio come funzione.
23/03/14 19:42
0
Nel codice che hai inserito ci vogliono due // davanti a Un Primo Programma C */ , altrimenti Dev te la riconosce come vera e propria istruzione e non come commento. Se vuoi cambiare libreria, allora devi inserire #include <iostream> Inoltre quando provo a fare copia/incolla del tuo codice su Dev, l'exe si chiude una volta inserito il primo numero intero. Controlla un po' meglio, pu├▓ darsi che mi sia sbagliata
23/03/14 19:56
0
ma va sostituito a #include <stdio.h>? Perchè così facendo da errore. SPOILER ( clicca per visualizzare ) iostream: No such file or directory| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
23/03/14 20:11
0
In genere non uso mai #include <stdio.h>, ho sempre usato #include <iostream>. Potresti sostituire #include <stdio.h> con quello che ti ho indicato io. Intanto sono riuscita ad eseguire correttamente il tuo codice e funziona Consiglio: dal momento che il tuo obiettivo ├¿ quello di eseguire una somma, se esegui il programma come da te strutturato si chiude automaticamente, senza farti visualizzare l'operazione di somma. Mi son permessa di mettere iostream all'inizio perch├® grazie a questa libreria riesco a inserire l'istruzione system ("pause"), che consente la visualizzazione su schermo del risultato della somma! SPOILER ( clicca per visualizzare ) //Un Primo Programma C */ #include <iostream> /* La funziona main ├¿ il punto di inizio dell'esecuzione del programma */ int main() { int a; int b; int sum; printf("Enter first integer:"); scanf("%d" , &a); printf("Enter second integer: "); scanf("%d", &b); sum = a + b; printf("Sum is: %d\n", sum); system ("pause"); return 0; /* indica che il programma ├¿ terminato con successo */ } /* fine della funzione main */
23/03/14 20:46
0
allora allora l'istruzione system("pause") puoi usarla anche con la libreria stdio.h mentre per la libreria iostream ci terrei a sottolineare che è una libreria del c++ e non del c. Cambiando quindi la libreria come ti ha detto Reira cambieresti linguaggio di programmazione al tuo programma ( scusa il gioco di parole ) ---EDIT--- /* Un Primo Programma C */ #include <stdio.h> /* La funziona main è il punto di inizio dell'esecuzione del programma */ int main(void) { int integer1; /* Primo numero ad inserire da parte dell'utente */ int integer2; /* Secondo numero da inserire da parte dell'utente */ int sum; /* variabile in cui verrà memorizzata la somma */ printf("Enter first integer\n"); /*prompt */ scanf("%d" , &integer1); /* legge un intero */ printf("enter second integer \n "); /* Prompt */ scanf(" %d " , &integer2); /* legge un intero */ sum = integer1 + integer2; /* assegnamento della somma */ printf("Sum is %d\n" , sum); /* visualizza la somma */ system("pause"); //fa si che la schermata non si chiuda return 0; /* indica che il programma è terminato con successo */ } /* fine della funzione main */ Le modifiche sono in rosso Modificato da RadioSat - 23/3/2014, 23:27
23/03/14 21:01
0
CITAZIONE (RadioSat @ 23/3/2014, 18:46) allora allora l'istruzione system("pause") puoi usarla anche con la libreria stdio.h mentre per la libreria iostream ci terrei a sottolineare che è una libreria del c++ e non del c. Cambiando quindi la libreria come ti ha detto Reira cambieresti linguaggio di programmazione al tuo programma ( scusa il gioco di parole ) ---EDIT--- /*Un Primo Programma C */ #include <stdio.h> /* La funziona main è il punto di inizio dell'esecuzione del programma */ int main(void) { int integer1; /* Primo numero ad inserire da parte dell'utente */ int integer2; /* Secondo numero da inserire da parte dell'utente */ int sum; /* variabile in cui verrà memorizzata la somma */ printf("Enter first integer\n"); /*prompt */ scanf("%d" , &integer1); /* legge un intero */ printf("enter second integer \n "); /* Prompt */ scanf(" %d " , &integer2); /* legge un intero */ sum = integer1 + integer2; /* assegnamento della somma */ printf("Sum is %d\n" , sum); /* visualizza la somma */ system("pause"); //fa si che la schermata non si chiuda return 0; /* indica che il programma è terminato con successo */ } /* fine della funzione main */ Le modifiche sono in rosso Mannaggia, lo sapevo che facevo una gaffe Purtroppo ho solo programmato in C++ e mi era sfuggita questa distinzione delle librerie. Ovviamente l'istruzione system pause è spiegata bene da te, non ho controllato bene cosa avessi scritto prima di pubblicare! Grazie per la correzione
24/03/14 17:23
0
Non riesco a capire però ancora perchè non si avvia.. SPOILER ( clicca per visualizzare ) mingw32-g++.exe: Internal error: Aborted (program collect2) Please submit a full bug report.
Log in to reply to this topic.
Messaggio simile al precedente
Il testo sembra un duplicato o un tentativo di UP. Per far risalire la discussione usa il pulsante UP: mantiene il thread pi├╣ ordinato. Puoi comunque pubblicare il messaggio se lo desideri.
Select message
False or abusive reports are misconduct and may lead to account restrictions and other action by staff.