A CHI E' DEDICATO...
Il forum ufficiale di #LORD_SHINVA
Questo forum, come il chan è dedicato a LORD SHINVA, il grande hacker dalle mani d'oro e dal cuore di antico cavaliere... l'hacker che ognuno di noi sogna di diventare... LORD SHINVA è GENIO: fantasia, sregolatezza, intuizione, contro-pensiero e fine intelligenza... DIAVOLETTA^^

 


LORD_SHINVA

Reply
Un po' di C =- PARTE 1 =-, LE BASI DEL C: V lezione (Creiamo una calcolatrice...)
Albert44
icon14  view post Posted on 16/9/2008, 15:40Quote

Utente cancellato






Premetto che non mi reputo ne un programmatore ne un genio quindi non aspettatevi grandi cose da me... spero cmq che le troviate, perlomeno, utili.
In questa occasione vi vorrei parlare del C un linguaggio che io aprezzo molto e che, a mio parere è anke abbastanza facile da usare(all'inizio si... ma dopo diventa complicatissimo).



La prima parte del corso è giunta al termine e in questa occasione creeremo una calcolatrice con i comandi che abbiamo imparato


Innanzi tutto dobbiamo scegliere un nome adeguato... mmm... "mCals"... sì mi piace...
Adesso mostriamo il nome e creiamo un elenchino:
CODE
printf ("   --                           ..:: mCalcs ::..                            --/n");
printf ("   -- La super calcolatrice fatta da TUO_NOME  --/n/n"); /* mettete il vostro nome qua */
printf (" cosa vuoi fare ?/n");
printf (" 1 = addizione/n");
printf (" 2 = sottrazione/n");
printf (" 3 = moltiplicazione/n");
printf (" 2 = sottrazione/n");


ok adex passiamo alla parte che esegue le addizioni:
CODE
int scelta;
scanf ("scelta = %­i" scelta";
switch (scelta)
case 1:
printf (" ### ADDIZIONE ### ");
printf (" Quanti numeri devi addizionare insieme? (max 9)")
int numeri_addizione
scanf ("%­i" numeri_addizione)
//adex arriva un po' di casino... lol

O risolviamo il rpovlema così...
CODE
int valore1
int valore2
int valore3
int valore4
int valore5
int valore6
int valore7
int valore8
int valore9

if (numeri_addizione != 1)
{
 if (numeri_addizione != 2)
 {
    if (numeri_addizione != 3)
    {
       if (numeri_addizione != 4)
       {
          if (numeri_addizione != 5)
          {
             if (numeri_addizione != 6)
             {
                if (numeri_addizione != 7)
                {
                   if (numeri_addizione !=8)
                   {
                      if (numeri_addizione !=9)
                         {
                         printf ("valore errato !!!");
                         }
                      else
                      {
                      scanf ("/n%­i/n" valore1);
                      scanf ("%­i/n" valore2);
                      scanf ("%­i/n" valore3);
                      scanf ("%­i/n" valore4);
                      scanf ("%­i/n" valore5);
                      scanf ("%­i/n" valore6);
                      scanf ("%­i/n" valore7);
                      scanf ("%­i/n" valore8);
                      scanf ("%­i/n" valore9);
                      }
                   }
                   else
                   {
                   scanf ("/n%­i/n" valore1);
                   scanf ("%­i/n" valore2);
                   scanf ("%­i/n" valore3);
                   scanf ("%­i/n" valore4);
                   scanf ("%­i/n" valore5);
                   scanf ("%­i/n" valore6);
                   scanf ("%­i/n" valore7);
                   scanf ("%­i/n" valore8);
                   }
                }
                else
                {
                scanf ("/n%­i/n" valore1);
                scanf ("%­i/n" valore2);
                scanf ("%­i/n" valore3);
                scanf ("%­i/n" valore4);
                scanf ("%­i/n" valore5);
                scanf ("%­i/n" valore6);
                scanf ("%­i/n" valore7);
                }
             }
             else
             {
             scanf ("/n%­i/n" valore1);
             scanf ("%­i/n" valore2);
             scanf ("%­i/n" valore3);
             scanf ("%­i/n" valore4);
             scanf ("%­i/n" valore5);
             scanf ("%­i/n" valore6);
             }
          }
          else
          {
          scanf ("/n%­i/n" valore1);
          scanf ("%­i/n" valore2);
          scanf ("%­i/n" valore3);
          scanf ("%­i/n" valore4);
          scanf ("%­i/n" valore5);
          }
       }
       else
       {
       scanf ("/n%­i/n" valore1);
       scanf ("%­i/n" valore2);
       scanf ("%­i/n" valore3);
       scanf ("%­i/n" valore4);
       }
    }
    else
    {
    scanf ("/n%­i/n" valore1);
    scanf ("%­i/n" valore2);
    scanf ("%­i/n" valore3);
    }
 }
 else
 {
 scanf ("/n%­i/n" valore1);
 scanf ("%­i/n" valore2);
 }
}
else
{
printf ("valore errato !!!");
}
// SE HAI CAPITO QUESTO CODICE... BRAVO SEI A BUON PUNTO

Oppure così:
CODE
int valore1 = 0
int valore2 = 0
int valore3 = 0
int valore4 = 0
int valore5 = 0
int valore6 = 0
int valore7 = 0
int valore8 = 0
int valore9 = 0

switch (numeri_addizione)
case 1:
printf ("valore errato !!!");
break;
case 2:
 scanf ("/n%­i/n" valore1);
 scanf ("%­i/n" valore2);
break;
case 3:
    scanf ("/n%­i/n" valore1);
    scanf ("%­i/n" valore2);
    scanf ("%­i/n" valore3);
break;
case 4:
       scanf ("/n%­i/n" valore1);
       scanf ("%­i/n" valore2);
       scanf ("%­i/n" valore3);
       scanf ("%­i/n" valore4);
break;
case 5:
          scanf ("/n%­i/n" valore1);
          scanf ("%­i/n" valore2);
          scanf ("%­i/n" valore3);
          scanf ("%­i/n" valore4);
          scanf ("%­i/n" valore5);
case 6:
             scanf ("/n%­i/n" valore1);
             scanf ("%­i/n" valore2);
             scanf ("%­i/n" valore3);
             scanf ("%­i/n" valore4);
             scanf ("%­i/n" valore5);
             scanf ("%­i/n" valore6);
break;
case 7:
                scanf ("/n%­i/n" valore1);
                scanf ("%­i/n" valore2);
                scanf ("%­i/n" valore3);
                scanf ("%­i/n" valore4);
                scanf ("%­i/n" valore5);
                scanf ("%­i/n" valore6);
                scanf ("%­i/n" valore7);
break;
case 8:
                   scanf ("/n%­i/n" valore1);
                   scanf ("%­i/n" valore2);
                   scanf ("%­i/n" valore3);
                   scanf ("%­i/n" valore4);
                   scanf ("%­i/n" valore5);
                   scanf ("%­i/n" valore6);
                   scanf ("%­i/n" valore7);
                   scanf ("%­i/n" valore8);
break;
case 9:
                      scanf ("/n%­i/n" valore1);
                      scanf ("%­i/n" valore2);
                      scanf ("%­i/n" valore3);
                      scanf ("%­i/n" valore4);
                      scanf ("%­i/n" valore5);
                      scanf ("%­i/n" valore6);
                      scanf ("%­i/n" valore7);
                      scanf ("%­i/n" valore8);
                      scanf ("%­i/n" valore9);
break;


Personalente opterei x la seconda... ma potete fare come volete...

CONTINUIAMO
adesso dobbiamo fare la somma:
CODE
int risultato
risultato = valore1 + valore2 + valore3 + valore4 + valore5 + valore6 + valore7 + valore8 + valore9
// ii valori nn settati valgono 0 xkè li abbiamo impostati all'inizio con quel valore
printf ("risultato = %­i" risultato)


OK ADEX ABBIAMO FATTO LA PARTE DELLE ADDIZIONI...
LE SOTTRAZIONI SONO UGUALI(COPIATE IL CODICE E CAMBIATE SOLO LA PARTE FINALE DOVE SI FA IL CONTO)
IN QUELLA DELLE DIVISIONI E DELLE MOLTIPLICAZIONI PERÒ DOVREMMO FARE UNA PICCOLA MODIFICA:
modificate questa parte:
CODE
int valore1 = 0
int valore2 = 0
int valore3 = 0
int valore4 = 0
int valore5 = 0
int valore6 = 0
int valore7 = 0
int valore8 = 0
int valore9 = 0

con questa:
CODE
int valore1 = 1
int valore2 = 1
int valore3 = 1
int valore4 = 1
int valore5 = 1
int valore6 = 1
int valore7 = 1
int valore8 = 1
int valore9 = 1

xkè nelle moltiplicazioni e divisioni il valore nullo è l'1...

Spero di esservi stato abbastanza utile e vi dò appuntamento alla prossima parte !!!
 
Top
0 replies since 16/9/2008, 15:40
 
Reply

load
Fast reply

 
 
 

Enable emoticons
Clickable Smilies
Show All


Nickname:      Email: