Yoshitoki
Admin
Messaggi : 5,218
Registrato dal : Nov 2010
Stato : Offline
Premi :
|
Mi è venuta l'idea , per chi sta imparando a scuola il C o per chi lo vuole imparare,di creare questa discussione in cui metterò già il codice completo (source) del programma e a voi non resterà che compilarlo ed avviarlo.
Scriverò degli esercizi che normalmente vi verranno chiesti per casa
Ovviamente anch'io non sono molto bravo e so poco,però cercherò di aiutarvi.
NB: Se volete in questa discussione avevo già iniziato a scrivere qualcosa e a spiegare un pò a cosa servono le funzioni.
Inanzitutto il programma è Dev C++ e lo potrete scaricare da questo link.
Per creare e compilare i programmi,non dovete fare altro che aprire Dev C++ ,poi in alto fate File>Nuovo>File Sorgente , incollate il codice nell'apposito spazio e cliccate questo pulsante per compilare il programma:
Adesso scegliamo il nome del nostro file e salviamo:
Se nel codice non saranno presenti errori uscirà "Done" :
Una volta chiuso,per aprire il programma abbiamo due modi , o aprirlo nel percorso in cui lo abbiamo salvato o direttamente da Dev C++ con l'apposito strumento:
[/align]
Adesso ecco gli esercizi che chiedono solitamente a scuola:
Ciao mondo / Hello world
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world \n"); oppure printf("Hello world");
system("PAUSE");
}
Incremento di una variabile
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int A=1;
printf("La variabile A vale: \n");
scanf("%d",&A);
A=A+1;
printf("Adesso la variabile A vale: %d \n",A);
system("PAUSE");
}
Calcolo dello sconto
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
float prezzo,sconto,calcola,totale;
printf("Inserisci il prezzo: \n");
scanf("%f",&prezzo);
printf("Inserisci lo sconto: \n");
scanf("%f",&sconto);
calcola=(prezzo*sconto)/100;
totale=prezzo-calcola;
printf("Il prezzo totale da pagare e' di: %f \n",totale);
system("PAUSE");
}
Calcolo dell'età partendo dall'anno di nascita
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nascita,anno=2012,eta;
printf("Scrivi la tua data di nascita \n");
scanf("%d",&nascita);
eta=(anno-nascita);
printf("Hai %d anni!",eta);
system("PAUSE");
}
Area di un rettangolo
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int A,b,h;
printf("Inserisci la base: \n");
scanf("%d",&b);
printf("Inserisci l'altezza: \n");
scanf("%d",&h);
A=b*h;
printf("L'area del rettangolo e' di: %d \n",A);
system("PAUSE");
}
Area di un triangolo usando la formula A=(b*h)/2
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int A,b,h;
printf("Inserisci la base: \n");
scanf("%d",&b);
printf("Inserisci l'altezza: \n");
scanf("%d",&h);
A=(b*h)/2;
printf("L'area del triangolo e' di: %d \n",A);
system("PAUSE");
}
Somma di due numeri
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b,somma;
printf("Inserisci il primo numero: \n");
scanf("%d",&a);
printf("Inserisci il secondo numero: \n");
scanf("%d",&b);
somma=a+b;
printf("La somma dei due numeri e' : %d \n",somma);
system("PAUSE");
}
Sottrazione di due numeri
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b,sottrazione;
printf("Inserisci il primo numero: \n");
scanf("%d",&a);
printf("Inserisci il secondo numero: \n");
scanf("%d",&b);
sottrazione=a-b;
printf("La differenza dei due numeri e' : %d \n",sottrazione);
system("PAUSE");
}
Divisione fra due numeri
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b,d;
printf("Inserisci il primo numero: \n");
scanf("%d",&a);
printf("Inserisci il secondo numero: \n");
scanf("%d",&b);
d=a/b;
printf("Il risultato e' : %d \n",d);
system("PAUSE");
}
Moltiplicazione fra 2 numeri
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b,d;
printf("Inserisci il primo numero: \n");
scanf("%d",&a);
printf("Inserisci il secondo numero: \n");
scanf("%d",&b);
d=a*b;
printf("Il risultato e' : %d \n",d);
system("PAUSE");
}
Media fra due numeri
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
float somma,media;
printf("Immetti il primo numero: \n");
scanf("%d",&a);
printf("Immetti il secondo numero: \n");
scanf("%d",&b);
somma=a+b;
media=somma/2;
printf("La media fra i due numeri e': %f \n",media);
system("PAUSE");
}
Piccola calcolatrice con 2 numeri
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
float a,b,somma,sottrazione,moltiplicazione,divisione;
printf("Inserisci il primo numero: \n");
scanf("%f",&a);
printf("Inserisci il secondo numero: \n");
scanf("%f",&b);
somma=a+b;
sottrazione=a-b;
moltiplicazione=a*b;
divisione=a/b;
printf("La somma e' %f \n",somma);
printf("La differenza e' %f \n",sottrazione);
printf("Il prodotto e' %f \n",moltiplicazione);
printf("La divisione e' %f \n",divisione);
system("PAUSE");
}
Conversione da Euro in Lire
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
float lire,euro,conv;
conv=1.93627;
printf("Inserisci il valore in Euro da convertire: \n");
scanf("%f",&euro);
lire=euro*conv;
printf("Il valore degli Euro,corrisponde a : %f lire. \n",lire);
system("PAUSE");
}
Conversione da Lire in Euro
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdlib.h>
#include <stdio.h>
int main()
{
float lire,euro,conv;
conv=1936.27;
printf("Inserisci il valore in Lire da convertire: \n");
scanf("%f",&lire);
euro=lire/conv;
printf("Il valore delle Lire,corrisponde a : %f euro. \n",euro);
system("PAUSE");
}
Cambiare colore font [Es. Hello World]
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("color 7A");
printf("Hello world! \n");
system("PAUSE");
}
Colori font:
Colori background:
Codice:
...
system("color 7F");
...
Vorrà dire che avrete il testo grigio chiaro e il background bianco, in alternativa se volete modificare solo uno dei due,basta togliere la lettera o il numero.
Somma di due numeri moltiplicata per un altro numero
Screen:
Codice:
//Source by Yoshitoki - www.bordergame.it
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,r;
printf("Il programma somma due numeri e moltiplica il risultato per un terzo valore. \n\n");
printf("Inserisci il primo numero: \n\n");
scanf("%d",&a);
printf("Inserisci il secondo numero: \n\n");
scanf("%d",&b);
c=a+b;
printf("Inserisci il terzo numero: \n\n");
scanf("%d",&d);
r=c*d;
printf("Il risultato e' %d \n",r);
system("PAUSE");
}
FAQ : Piccole dritte
- ~I comandi #include servono ad,appunto,includere delle librerie nel programma che sono nel formato .h , in questo caso le più usate sono "stdlib" e "stdio" , nella prima "std" sta per standard "lib" per library , questa libreria contiene le funzioni necessarie e di utilità generale per un programma,le funzioni che contiene questa libreria sono molte e le più importanti sono "system" nel caso di "system("PAUSE");" ovvero quando il programma finisce di eseguire tutto e si blocca con un "Premere un tasto per continuare..." e molte altre,però a scuola mi hanno detto che c'è questa come più importante quindi vi dico questa XD . Le altre funzioni di questa libreria le trovate facilmente su Guuuugol . Per quanto riguarda la seconda ovvero "stdio.h" , "std" sta sempre per standers e "io" per Input/Output , questa libreria in effetti è importante però il professore ci ha solamente detto di utilizzarla e non le funzioni che contiene ò_ò Vabbhè,citazione di Wikipedia: "E' l'header file della libreria standard del C che contiene definizioni di macro, costanti e dichiarazioni di funzioni e tipi usati per le varie operazioni di input/output. Le funzioni dichiarate in stdio.h sono molto famose, poiché, essendo parte della libreria standard del C, il loro funzionamento è garantito su ogni piattaforma per la quale esista un compilatore C. Le applicazioni studiate per una particolare piattaforma, però, potrebbero utilizzare direttamente le chiamate di I/O del sistema operativo, piuttosto che le funzioni di stdio.h" , per altre info su questa libreria andate pure sull'articolo di Wikipedia che ne parla approfonditamente.
- ~Il comando "printf" serve a stampare video,ovvero a far comparire nel programma,il nostro testo.
- ~Il comando "scanf" esamina ciò che abbiamo scritto precedentemente,ovvero nella funzione prima di scanf e le assegna un nome di una variabile,cioè l'assegneremo noi ma diremo al programma quale.
- ~Il comando "system("PAUSE);" può essere sostituito da "return 0;" che fa parte del C++ ma più o meno ha la stessa funzione e serve a "fermare" la finestra,perchè se non mettiamo questa funziona il programma si chiuderà automaticamente.
- ~Il comando "\n" presente in "printf" serve a mandare a capo.
- ~Il comando "%d" all'interno di "scanf" sta a significare che il numero che abbiamo appena scritto è un numero INTERO , ovvero senza virgole . Se il numero contiene virgole avremmo dovuto scrivere "%f" e nella parte sopra del codice dopo "{" al posto di "int VARIABILI.." avremmo dovuto scrivere "float VARIABILI.."
- ~Le parentesi "{" & "}" vanno messe prima di scrivere tutto il programma, e dopo,appunto dopo aver scritto "system("PAUSE);" o "return 0;"
- ~Tutto ciò che si trova dopo i caratteri "//" non verrà visualizzato nel programma compilato,ma lo trovate solamente nel source e serve per varie cose,come promemoria,crediti, etc..
In continuo aggiornamento
Leggi il regolamento del forum
♪ E non bastano mesi, non bastano anni, non basta una vita con te.
Ma è bastato soltanto un secondo per capire che..
Di incredibili storie ce ne sono tante, ma meglio di noi non c'è niente! ♪
Registrati su adf.ly !
(Questo messaggio è stato modificato l'ultima volta il: 25-11-2012 08:01 PM da Yoshitoki.)
|
|