• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

10. Scanf ed Esercizi

By IgnazioC | on 22 Aprile 2011 | 33 Comments
Corso completo di C

corso-completo-c-scanf-ed-esercizi-00 Oh bene.. eccoci giunti finalmente alla decima lezione, direi che a questo punto è proprio il momento di fermarci un attimo e consolidare tutto quello che abbiamo visto fino ad ora facendo qualche esercizio.
Prima di passare agli esercizi, però, vediamo una piccola funzione che ci permetterà di assegnare ad una variabile il valore digitato dall’utente: scanf().

Funzione scanf()

La funzione scanf() fa parte della libreria stdio.h come la sua sorella printf, quindi per utilizzarla è necessario inserire in testa al file sorgente dove vogliamo usarla la direttiva:

#include 

Il suo utilizzo è molto semplice ed in questo momento, poiché abbiamo parlato solo di variabili numeriche, vedremo soltanto come acquisire un numero intero digitato dall’utente.

Scriviamo quindi un programma che acquisisca un numero in input e successivamente lo stampi a schermo.

#include 

int main(int argc, char **argv) {

int i;

printf("Inserisci un valore:");

scanf("%d",&i);

printf("Hai inserito il valore: %d\n",i);

}

Come si può notare la funzione scanf ha una sintassi molto simile alla funzione printf infatti i placeholder sono gli stessi, l’unica differenza sta nel simbolo “&” anteposto al nome della variabile, capiremo il suo significato quando parleremo dei puntatori.

La funzione scanf permette di acquisire anche più valori contemporaneamente, se volessimo acquisire ad esempio due numeri potremmo scrivere:

#include 

int main(int argc, char **argv) {

int i,j;

printf("Inserisci il primo valore:");

scanf("%d",&i);

printf("Inserisci il second valore:");

scanf("%d",&j);

printf("Hai inserito i: %d j:%d \n",i,j);

}

Una precisazione: l’utilizzo della funzione scanf così come l’ho presentata qui presenta parecchi problemi ai quali al momento non siamo interessati, ma se stessimo scrivendo un programma da milioni di euro dovremmo considerare; ad esempio: “Cosa succede se l’utente digita un numero più grande del massimo numero intero accettabile?” oppure “Cosa succede se l’utente digita del testo invece che dei caratteri?” In questo momento possiamo supporre di avere un utente diligente che non commetta errori, quando saremo più bravi vedremo come irrobustire e rendere immuni agli errori più comuni il nostro codice.

Adesso sotto con gli esercizi!!

Esercizi:

ATTENZIONE: A fondo articolo troverete le soluzioni degli esercizi proposti, fate conto però che non ci siano e sforzatevi di ragionare quanto più potete da soli. Se proprio non riuscite, prima di andare a sbirciare, discutiamone insieme nel forum e vediamo di approfondire per bene cosa non capite. Solo alla fine, quando avrete capito il problema, confrontate la vostra soluzione con quella da noi proposta. Se seguite questa piccola nota, allora si che imparerete a dovere, in tutti gli altri casi, non garantiamo nulla, quindi.. fatelo per VOI!! 🙂 E ora Forza!!!

  1. Scrivere un programma che presi in input due numeri interi dall’utente presenti a video i risultati delle quattro operazioni aritmetiche di base (+,-,*,/)
  2. Scrivere un programma che preso in input un numero intero presenti a video la somma di tutti i numeri da 1 fino a tale numero. (es: numero digitato:5; 1+2+3+4+5 = 15)
  3. Scrivere un programma che presi in input 3 numeri stabilisca se tali numeri possono costituire le lunghezze dei lati di un triangolo.
  4. Scrivere un programma che preso in input un numero stabilisca, senza fare divisioni, se tale numero è pari o dispari.
  5. Scrivere un programma che preso in input un numero x, acquisisca poi in input x numeri e ne restituisca la somma.
  6. Scrivere un programma che fin tanto che l’untente non inserisce 0 (zero) acquisisca un intero e lo stampi a video.
  7. Scrivere un programma che acquisiti due numeri stampi a video in che relazione sono (minore, uguale etc)
  8. Scrivere un programma che calcoli la somma di tutti i numeri minori di 101, poi di 100, di 99 etc.
  9. Scrivere un programma il cui output sia il seguente:
    0->*1234*6789
    1->*1234*6789
    2->*1234*6789
    3->*1234*6789
    4->*1234*6789
    5->*1234*6789
    6->*1234*6789
    7->*1234*6789
    8->*1234*6789
    9->*1234*6789
  10. Scrivere un programma che presi in input i coefficienti di una equazione di secondo grado ne ricavi le radici

Soluzioni:

Esercizio n. 1

#include 

int main (int argc, const char * argv[]) {

        int a, b;

        printf("Inserisci due numeri: ");

        scanf("%d %d", &a, &b);

        printf("%d + %d = %d \n",a,b,a + b);

        printf("%d - %d = %d \n",a,b,a - b);

        printf("%d * %d = %d \n",a,b,a * b);

        printf("%d / %d = %d \n",a,b,a / b);

   return 0;

}

Direi che su questo primo esercizio è molto semplice e non c’è molto da spiegare, dichiariamo due variabili, spieghiamo all’utente cosa deve fare e ne leggiamo il valore tramite la funzione scanf();

Un unica osservazione, il valore delle operazioni non viene assegnato a nessuna variabile, poichè in realtà non ci serve, ma viene soltato stampato a video.

Esercizio n. 2

#include 

int main (int argc, const char * argv[]) {

        int limite;

        int somma = 0;

        printf("Inserisci limite massimo: ");

        scanf("%d",&limite);

        while (limite > 0) {

                somma = somma + limite;

                limite = limite - 1;

        }

        printf("La somma è: %d",somma);

   return 0;

}

In questo esercizio ho utilizzato il costrutto while ed invece che sommare i numeri partendo da 1, li ho sommati partendo dal maggiore fino a 1. un piccolo stratagemma per evitare di utilizzare un’altra variabile.

Esercizio n. 3

#include 

int main (int argc, const char * argv[]) {

   int latoa, latob, latoc;

        printf("Inserire le misure dei tre lati: ");

        scanf("%d %d %d",&latoa,&latob,&latoc);

        if ( (latoa > (latob + latoc))  || (latob > (latoa + latoc)) || (latoc > (latoa + latob)) ) {

                printf("Le misure non possono costituire un rettangolo");

        }

        else {

                printf("Le misure inserite possono costituire un rettangolo");

        }

   return 0;

}

In un triangolo ciascun lato non può essere più lungo della somma degli altri due, quindi se questo avviene per uno dei tre lati scrivo a schermo “Le misure non possono costituire un rettangolo”, viceversa scrivo “Le misure inserite possono costituire un rettangolo”

Esercizio n. 4

#include 

int main (int argc, const char * argv[]) {

   int numero;

        printf("Inserisci un numero: ");

        scanf("%d",&numero);

        if (( numero % 2 ) == 0) {

                printf("Numero pari");

        }

        else {

                printf("Numero dispari");

        }

   return 0;

}

Se un numero è pari, il resto della divisione per due (operatore modulo) è zero, quindi basta verificare questa proprietà.

Si sarebbe potuto scrivere anche

if ( !(numero % 2) )

riuscite a capire perché?

Esercizio n. 5

#include 

int main (int argc, const char * argv[]) {

        int qt_numeri;

        int numero;

        int somma = 0;

        printf("Inserisci la quantià di numeri: ");

        scanf("%d",&qt_numeri);

        printf("Dovrai inserire %d numeri:",qt_numeri);

        for ( ; qt_numeri > 0; qt_numeri = qt_numeri - 1) {

                scanf("%d",&numero);

                somma = somma + numero;

        }

        printf("La somma è: %d",somma);

   return 0;

}

In questo esercizio acquisiamo la quantità di numeri che vogliamo acquisire, questo valore è utilizzato in un for, la parte di inizializzazoine del ciclo for non è necessaria e quindi è stata omessa.

Esercizio n. 6

#include 

int main (int argc, const char * argv[]) {

        int i;

        printf("Inserisci dei numeri, 0 per uscire:\n");

        do {

                scanf("%d",&i);

                printf("Hai inserito: %d \n",i);

        } while (i != 0) ;

        printf("Ciao ciao");

   return 0;

}

Per risolvere questo esercizio ho pensato di utilizzare un do…while all’interno del quale acquisiamo un numero e nella condizione verifichaimo che sia diverso da zero, se è diverso da zero ricomincia il ciclo, viceversa esce.

Esercizio n. 7

#include 

int main (int argc, const char * argv[]) {

        int a,b;

        printf("Inserisci due numeri: ");

        scanf("%d %d",&a, &b);

        if (a  b) {

                printf("A è maggiore di B");

        }

        else {

                printf("A e B sono uguali");

        }
        
   return 0;

}

Qualche if per verificare in che relazione stanno i numeri acquisiti, questo esercizio non era difficile, vero?

Esercizio n. 8

#include 

int main (int argc, const char * argv[]) {

        int counter = 100;

        int i;

        int somma = 0;

        for (; counter > 0; counter = counter - 1) {

                for ( i = 0; i <= counter; i = i + 1) {

                        somma = somma + i;
                }

                printf("somma: %d\n",somma);

                somma = 0;
        }

return 0;
}

In questo esercizio ho utilizzato due cicli for annidati, il primo come nell’esercizio 4 parte dal 100 e decresce fino a 0, per ciascun valore viene eseguito un secondo ciclo for che parte da zero e arriva fino al valore del ciclo for esterno.

Esercizio n. 9

#include 

int main(int argc, char **argv) {

 int i,j;

 for (i = 0; i ",i);

   for ( j = 0; j < 10; j++) {

     if ((j % 5) == 0) {

       printf("*");

     }

     else {

       printf("%d",j);

     }

   }

   printf("\n");

 }

}

Una piccola variante del precedente, due cicli for annidati e un test sul valore del modulo per sostituire tutti gli zeri e i 4 con il carattere “*”.

Esercizio n. 10

#include 
#include 

int main(int argc , char **argv) {

 float a,b,c,r,r2,delta;

 printf("Inserisci il coefficente di secondo grado:");

 scanf("%f",&a);

 printf("Inserisci il coefficente di primo grado: ");

 scanf("%f",&b);

 printf("Inserisci il termine noto: ");

 scanf("%f",&c);

 if ( a == 0 ){

   printf("Il termine di secondo grado non può essere nullo");

   return 1;

 }

 if ((b == 0) && (c == 0)) {

   printf("Equazione monomia: La soluzione è 0");

   return 0;

 }

 if ( c == 0 ) {

   printf("Equazione spuria: Le soluzioni sono: 0 e %f",-(b/a));

           return 0;

 }

 if ( b == 0 ) {

   if ( (a * c) > 0 ) {

     printf("Non ci sono radici reali");

   }

   else {

     r = sqrt(-( c / a));

     printf("Le radici sono: %f e %f",r,-r);

   }

   return 0;

 }

 printf("Equazione completa:\n");

 delta = b * b  - 4 * a * c;

 printf("DELTA: %f",delta);

 r = (float)(-b + sqrt(delta) ) / (2 * a);

 r2 =(float)(-b - sqrt(delta) ) / (2 * a);

 printf("%f",sqrt(delta));

 printf("Le soluzioni sono: %f e %f",r, r2);

 return 0;

}

Ho dovuto ripassare un pò di matematica per scrivere questo programma 🙂 non dovrebbe essere difficile seguire il filo del programma…se avete difficoltà chiedete pure attraverso il nostro forum!

Letture consigliate:

C-Corso-Completo-di-Programmazione-kernighan-ritchie-devAPP Il linguaggio C. Principi di programmazione e manuale di riferimento (Accademica)
Brian W. Kernighan – Dennis M. Ritchie
Editore: Pearson | Lingua: Italiano | Brossura: 313 pagine
Prezzo Listino: EUR 27,00
Prezzo Promozione: EUR 22,95 con Spedizione gratuita

C-Corso-Completo-di-Programmazione-Deitel-Deitel-devAPP C. Corso completo di programmazione
Paul J. Deitel – Harvey M. Deitel
Editore: Apogeo | Lingua: Italiano | Brossura: 640 pagine
Prezzo Listino: EUR 39,00
Prezzo Promozione: EUR 33,15 con Spedizione gratuita

Share this story:
  • tweet

Tags: corso completo di Ccorso di Cesempi codice programmazione Cesercizi programmazione CIgnazio Calòscanf C

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • iSketch: la lavagna magica di Ignazio Calò disponibile GRATUITAMENTE in App Store

    29 Agosto 2011 - 2 Comments
  • 17. La gestione dei file in C

    22 Agosto 2011 - 4 Comments
  • Uno sguardo a Unit test: impariamo a prevenire ore e ore di debug durante lo sviluppo di Applicazioni iOS

    8 Agosto 2011 - 2 Comments

Author Description

33 Responses to “10. Scanf ed Esercizi”

  1. 22 Aprile 2011

    Andrea96

    grazie a questa lezione posso perfezionare (praticamente) finire la mia app …..anche se è abbastanza stupida…

  2. 22 Aprile 2011

    10. Scanf ed esercizi – devAPP | iSpazio DevResources | Giochi per Iphone

    […] Trovate la nuova lezione qui: 10. Scanf ed esercizi […]

  3. 22 Aprile 2011

    tommaso

    ciao!!io non ho capito l’uso di scanf!!me lo puoi spiegare in un’altra maniera?

  4. 22 Aprile 2011

    Spartan

    scanf prende ciò che digiti e lo memorizza dove glielo dici!

  5. 22 Aprile 2011

    Paradise

    per ora ho compilato solo i primi due… il seconod è stato più impegnativo, ho dovuto trovare la funzione f(x) che soddisfasse la sequenza.. è un po’ tortuoso, ma questo è il codice del secondo: (compila 😛 )

    #include

    int main (int argc, const char * argv[]) {

    int a,i;

    printf(“Inserisci un numero: “);

    scanf(“%d”, &a);

    for (i = 1;

    i < a;

    printf("%d + ",i), i = i + 1) {}

    if (i==a) {printf("%d = ", a);}

    int j=((a*a)+a)/2;

    printf("%d\n",j);

    return 0;

    }

    PS. sempre ottimo!

  6. 22 Aprile 2011

    Ignazioc

    ragazzi postate sul forum, qui il codice è illegibile!

  7. 22 Aprile 2011

    Ignazioc


    Paradise:

    per ora ho compilato solo i primi due… il seconod è stato più impegnativo, ho dovuto trovare la funzione f(x) che soddisfasse la sequenza.. è un po’ tortuoso, ma questo è il codice del secondo: (compila )
    #include
    int main (int argc, const char * argv[]) {
    int a,i;
    printf(“Inserisci un numero: “);
    scanf(“%d”, &a);
    for (i = 1;
    i < a;
    printf(“%d + “,i), i = i + 1) {}
    if (i==a) {printf(“%d = “, a);}
    int j=((a*a)+a)/2;
    printf(“%d\n”,j);
    return 0;
    }
    PS. sempre ottimo!

    il tuo codice è parecchio fantasioso 🙂
    la mia idea era quella di far calcolare progressivamente la somma, ma visto che hai usato la famosa formula di Gauss non posso certo rimproverarti 🙂
    però per quanto riguarda la stampa…diciamo che non è molto lineare come codice..che te ne sembra di
    [code]
    for (i = 1; i <=a; i++ ) {
    printf("%d + ", i);
    }
    printf(" = %d", (a * (a + 1) )/ 2);
    [/code]

  8. 22 Aprile 2011

    Paradise

    ……..

    il tuo codice è parecchio fantasioso
    la mia idea era quella di far calcolare progressivamente la somma, ma visto che hai usato la famosa formula di Gauss non posso certo rimproverarti
    però per quanto riguarda la stampa…diciamo che non è molto lineare come codice..che te ne sembra di
    [code]
    for (i = 1; i <=a; i++ ) {
    printf(“%d + “, i);
    }
    printf(” = %d”, (a * (a + 1) )/ 2);
    [/code]

    ci ho messo 1 ora a trovare la funzione che soddisfasse la sequenza… e Gauss non mi è proprio passato di mente!! grrr
    il codice dato da te da come risultato 1 + 2 + 3 + 4 + 5 + = 15
    ho messo “if” proprio per non far uscire il + e = vicini 😀

  9. 23 Aprile 2011

    Ignazioc


    Paradise:

    ……..

    il tuo codice è parecchio fantasioso
    la mia idea era quella di far calcolare progressivamente la somma, ma visto che hai usato la famosa formula di Gauss non posso certo rimproverarti
    però per quanto riguarda la stampa…diciamo che non è molto lineare come codice..che te ne sembra di
    [code]
    for (i = 1; i <=a; i++ ) {
    printf(“%d + “, i);
    }
    printf(” = %d”, (a * (a + 1) )/ 2);
    [/code]
    ci ho messo 1 ora a trovare la funzione che soddisfasse la sequenza… e Gauss non mi è proprio passato di mente!! grrr
    il codice dato da te da come risultato 1 + 2 + 3 + 4 + 5 + = 15
    ho messo “if” proprio per non far uscire il + e = vicini

    vero, non l’ho provato 🙂
    Il fatto è che quando esci dal for il valore del contatore è sempre uguale ad a quindi l’if non è necessario.
    per esempio:
    [/code]
    #include

    int main(int argc, char **argv){
    int riga,colonna;
    int a = 10;
    int i;
    for (i = 1; i <=a – 1; i++ ) {
    printf("%d + ", i);
    }
    printf("%d = %d",a, (a * (a + 1) )/ 2);
    return 0;
    }
    [/code]
    poi in realtà volevo che calcolassi la somma via via 🙂 ci vuoi provare?
    bye

  10. 23 Aprile 2011

    fabio

    ho un problema in xcode3.
    quando faccio
    es.
    int main()
    {
    int a,b,c;
    }
    non indenta da solo, ma devo schiacciare tab ogni volta, sapete come fare, ho provato in tutti i modi ma nelle impostazioni non ci sono riuscito

  11. 23 Aprile 2011

    Paradise

    sul


    Ignazioc:
    ……..

    vero, non l’ho provato
    Il fatto è che quando esci dal for il valore del contatore è sempre uguale ad a quindi l’if non è necessario.
    per esempio:
    [/code]
    #include
    int main(int argc, char **argv){
    int riga,colonna;
    int a = 10;
    int i;
    for (i = 1; i <=a – 1; i++ ) {
    printf(“%d + “, i);
    }
    printf(“%d = %d”,a, (a * (a + 1) )/ 2);
    return 0;
    }
    [/code]
    poi in realtà volevo che calcolassi la somma via via ci vuoi provare?
    bye

    non riesco a calcolare la somma via via… non so proprio da dove partire… queste sono le uniche lezioni di C che abbi mai seguito! 🙂 indizio?
    mentre per gli altri non ho avuto nessun problema, tranne per l’ultimo, che ho qualche dubbio.. più che altro perchè mi da sempre risultati interi:
    #include

    int main(int argc, char **argv){

    int a, b, c;

    printf(“inserisci i 3 coefficienti ax^2 + bx + c = 0: “);

    scanf(“%d %d %d”, &a, &b, &c); printf(“%dx^2 + %dx + %d = 0\n”, a, b, c);

    int delta = (b*b)-4*a*c;
    int xu = (-b + sqrt(delta))/2*a;
    int xd = (-b – sqrt(delta))/2*a;
    int x = -b/(2*a);

    if(delta0){
    printf(“∆ = %d\nX1 = %d\nX2 = %d\n”, delta, xu, xd);
    }

    }

  12. 23 Aprile 2011

    Paradise

    nel posto di prima il post ha deformato il codice:
    #include

    int main(int argc, char **argv){

    int a, b, c;

    printf(“inserisci i 3 coefficienti ax^2 + bx + c = 0: “);

    scanf(“%d %d %d”, &a, &b, &c); printf(“%dx^2 + %dx + %d = 0\n”, a, b, c);

    int delta = (b*b)-4*a*c;
    int xu = (-b + sqrt(delta))/2*a;
    int xd = (-b – sqrt(delta))/2*a;
    int x = -b/(2*a);

    if(delta0){
    printf(“∆ = %d\nX1 = %d\nX2 = %d\n”, delta, xu, xd);
    }

    }

  13. 23 Aprile 2011

    Alessio

    C’è qualche amministratre del Forum che può attivarmi l’account WEBSELF? Così posto le mie soluzioni nella gista sezione.

    Grazie 🙂

  14. 23 Aprile 2011

    andrea90rm

    guarda nella soluzione del secondo esercizio [non l’ho compilato ma si vede a occhio] c’è un errore dopo il while…assegni 0 sempre a somma e il risultato non può che essere quello alla fine

  15. 23 Aprile 2011

    Rino Picardi


    Alessio:

    C’è qualche amministratre del Forum che può attivarmi l’account WEBSELF? Così posto le mie soluzioni nella gista sezione.

    Grazie :)

    Ciao account attivato 🙂

  16. 23 Aprile 2011

    Ignazioc


    Paradise:
    …CUT…

    non so se il codice è corretto, ma se utlizzi variabili intere non puoi avere valori che non siano interi, no? 🙂

  17. 23 Aprile 2011

    Ignazioc


    andrea90rm:

    guarda nella soluzione del secondo esercizio [non l’ho compilato ma si vede a occhio] c’è un errore dopo il while…assegni 0 sempre a somma e il risultato non può che essere quello alla fine

    grazie! correggo subbbbbito.

  18. 26 Aprile 2011

    Paradise

    mica mi puoi attivare l’account “Paradise”?! così cercherò di postare sul forum 😛

  19. 27 Aprile 2011

    alef

    scusa ma questo errore cosa vuol dire “expected identifier or ‘(’ before ‘}’ token” ?? me lo da nel programma x l’equazione di secondo grado. grazie!

  20. 3 Maggio 2011

    MacMomo

    Capisco l’intento dell’esercizio, ma il 9 non si può risolvere semplicemente così?

    #include

    int main() {
    int i;
    for(i=0; i*1234*6789\n", i);
    }
    return 0;
    }

  21. 3 Maggio 2011

    MacMomo

    Direi che il commento sopra è venuto fuori un po’ sballato.
    Provo a riscriverlo.

    #include <stdio.h>

    int main() {
    int i;
    for(i=0; i%lt;10; i++) {
    printf(“%d->*1234*6789\n”, i);
    }
    return 0;
    }

  22. 9 Maggio 2011

    Lorenzo

    Devo dire che un buon rispolvero del C fa sempre bene.
    Per quanto riguarda l’es. 9 io l’ho risolto così:

    int main(int argc, char **argv){
    int numero,dato;
    for(numero=0;numero*1234*6789\n”);
    }
    system(“PAUSE”);
    return 0;
    }

  23. 9 Maggio 2011

    Lorenzo

    ERRATA CORRIGE (Vedi sotto):

    int main(int argc, char **argv){
    int numero;
    for(numero=0;numero*1234*6789\n”);
    }
    system(“PAUSE”);
    return 0;
    }

  24. 10 Maggio 2011

    ignazioc

    eh eh…così non vale 😛 quell’esercizio era pensato per far usare l’operatore modulo! 😀

  25. 7 Novembre 2011

    io

    il primo esercizio l’ ho risolto. per il secondo sono due giorni che ci provo…è normale o sono un caso umano?? by demoralizzato 🙁

  26. 7 Novembre 2011

    Ignazioc

    La soluzione non ti aiuta?

  27. 8 Novembre 2011

    Lucertolas

    Buonasera, ho cominciato a seguire il corso di programmazioni in C in vista di futura programmazione di App, e devo dire che è proprio ben fatto, complimenti!

    Utilizzo xCode 4 come compilatore (sono Mac User) e ho provato qualche riga di codice con la funzione scanf () , ma, copiando il codice dall’esempio e da altre fonti e mettendo un valore, la visualizzazione nella console si ferma a “inserisci un valore: 5”. Forse che il valore deve essere inserito in maniera specifica?

    Grazie per l’aiuto!

  28. 9 Novembre 2011

    io

    Innanzitutto grazie per la risposta. Pensa un po che ho passato ben 4 giorni (e dico quattro) cercando di far visualizzare dal programma “LA SOMMA E’: 1+2+3+4+5=15” invece che semplicemente “LA SOMMA E’: 15”!!! Detto cio, ho compilato il programma e mi è un po piu chiaro però per comprendere al meglio mi piacerebbe conoscere tutte le tappe per arrivare alla risoluzione del problema…magari dallo pseudocodice…GRAZIE MILLE

  29. 9 Novembre 2011

    io

    MI RISPONDO DA SOLO…

    #include
    int main (int argc, const char * argv[])
    {
    int numero =0;
    int contatore = 0;
    int somma = 0;
    printf(“inserisci un numero: \n”);
    scanf(“%d”, &numero);
    for (contatore=0; contatore<=numero; contatore++) {
    somma = somma + contatore;
    }
    printf("il risultato è: %d\n", somma);
    return 0;
    }

  30. 10 Novembre 2011

    ignazioc


    Lucertolas:

    Buonasera, ho cominciato a seguire il corso di programmazioni in C in vista di futura programmazione di App, e devo dire che è proprio ben fatto, complimenti!
    Utilizzo xCode 4 come compilatore (sono Mac User) e ho provato qualche riga di codice con la funzione scanf () , ma, copiando il codice dall’esempio e da altre fonti e mettendo un valore, la visualizzazione nella console si ferma a “inserisci un valore: 5″. Forse che il valore deve essere inserito in maniera specifica?
    Grazie per l’aiuto!

    posta il codice che utilizzi, magari non qui ma sul forum perché qui viene persa la formattazione

  31. 10 Agosto 2012

    AlessioMTX

    Grazie per queste guide! Sto facendo gli esercizi e ho notato che all’ esercizio 3 potresti aggiungere un else if se due lati sono uguali all’ altro rimanente.
    Io avevo fatto 5 else if , non avevo pensato di usare || (sarebbe OR, giusto?)

  32. 13 Agosto 2012

    ignazioc

    perché dovresti aggiungere un “else if” ? se due lati sono uguali all’altro rimanente (quindi sono 3 lati uguali) allora ciascun lato sarà minore della somma degli altri due. due pipe (||) è l’operatore logico OR

  33. 27 Settembre 2012

    Paolo

    Salve a tutti, sto seguendo questo corso e lo trovo davvero ben fatto. Sono ancora agli inizi e nel cercare di svolgere uno di questi esercizi mi sono imbattuto in questo codice che mi ha fatto sorgere un dubbio:

    #include

    main()
    {
    char carattere;
    char num;

    printf(“Inserire un carattere a scelta e premere INVIO: “);
    scanf(“%c”, &carattere);
    printf(“Inserire un intero compreso tra 0 e 127: “);
    scanf(“%d”, &num);
    printf(“Il carattere inserito e: %c \n”, carattere);
    printf(“Il numero inserito e: %d \n”, num);

    return(0);
    }

    All’inizio la variabile “num” viene dichiarata erroneamente come char e il programma non esegue bene (la riga printf(“Il carattere inserito e: %c \n”, carattere); non restituisce nessun valore), ma se si cambia e si mette int num; allora funziona alla perfezione.
    Quindi la mia domanda è: come mai la riga che da problemi è quella con la variabile “carattere” e non quella con la variabile “num”?
    Grazie a chi vorrà rispondermi.

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO