BorderGame

Versione completa: Esercizi già fatti in C
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
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 Smile
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:

İmage

Adesso scegliamo il nome del nostro file e salviamo:

İmage

Se nel codice non saranno presenti errori uscirà "Done" :

İmage

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:

İmage[/align]



Adesso ecco gli esercizi che chiedono solitamente a scuola:

Ciao mondo / Hello world

Screen:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
İmage

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:
Spoiler:
0 = Nero
1 = Blu scuro
2 = Verde
3 = Verde acqua
4 = Bordò o come si scrive..
5 = Viola
6 = Verde oliva
7 = Grigio chiaro
8 = Grigio
9 = Blu

Colori background:
Spoiler:
A = Verde
B = Azzurro
C = Rosso
D = Fucsia
E = Giallo
F = Bianco

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:
Spoiler:
İmage

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

  1. ~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.
  2. ~Il comando "printf" serve a stampare video,ovvero a far comparire nel programma,il nostro testo.
  3. ~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.
  4. ~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.
  5. ~Il comando "\n" presente in "printf" serve a mandare a capo.
  6. ~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.."
  7. ~Le parentesi "{" & "}" vanno messe prima di scrivere tutto il programma, e dopo,appunto dopo aver scritto "system("PAUSE);" o "return 0;"
  8. ~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 Smile



Molto utile. :sisi:
Ma qui non ce ne sono molti che capiscono il c++(incluso me 23)
Scusa non ho capito,ti serve sapere a cosa servono le funzioni? Se si controlla la pagina nel "NB" ho spiegato un pò tutto lì,se no appena ho tempo scrivo tutto anche se sarà faticoso .
Comunque è C non C++

EDIT:

Aggiunti screen e qualche spiegazione ^^
Scusate se mi intrometto ma questo è C++ e non C. Inoltre trai i due c'è una differenza.
Ok allora colpa del prof , è C++ XD

EDIT: No è C.
No è C. D:
Ma tu sei un genio, grazie Smile
Grazie ^^
Si è C scusate, posso sbagliarmi anche se non capisco come mai salva con un file c++
Magari perchè sono simili bo D:
Ciò dimostra che sei un conoscitore del C, anch'io lo sto studiando e lo trovo particolarmente bello, ma faticoso da scrivere.
Una volta che ti abitui con i linguaggi .net è complicato tornare a linguaggi come il C o il C++.
Beh, complimenti, bella guida per i newbie del settore che voglio iniziare.
(16-10-2012 02:29 PM)Guidozzo Ha scritto: [ -> ]Ciò dimostra che sei un conoscitore del C, anch'io lo sto studiando e lo trovo particolarmente bello, ma faticoso da scrivere.
Una volta che ti abitui con i linguaggi .net è complicato tornare a linguaggi come il C o il C++.
Beh, complimenti, bella guida per i newbie del settore che voglio iniziare.

Diciamo che non so molto,però sto molto attento quando spiega il C perchè mi interessa e mi piace,non so perchè..
Riguardo il "faticoso da scrivere" , mha non so io mi diverto a scrivere in C sinceramente xD
Comunque grazie Smile
Aggiunti altri 2 esercizi, convertire da euro in lire e da lire in euro Smile
Aggiunto cambiare colore font e background con la lista dei codici dei colori Smile
URL di riferimento