giovedì 23 ottobre 2014

Esercizio:su Classe Frazione

Creare una Classe Frazione che esegua le operazioni di frazioni,aggiorna, e visualizza

# include<iostream>
using namespace std;

          class calcola {// classe calcola
   
        public://metodi pubblico
     

void input();//metodo per l'input dei dati N e D
void visualizza();//metodo ti tipo void per visualizza
void aggiorna();//metodo per aggiornare

int numeratore;//dichiarazione di una variabile di tipo intera
int denominatore;//dichiarazione di una variabile di tipo intera

    private: //proprietà private

};

void calcola::input() //costruttore senza passaggi
{
    float risultato; //dichiarazione di una variabile di tipo float
         cout<<"inserisci il numeratore"<<endl;
    do
    {    cin>>numeratore;
          if(numeratore==0)//controlla se N ==0
          {
         
          }
            }while(numeratore==0); //finche ==0 chiede l' input
               cout<<"inserisci il denominatore"<<endl;
               do
                {
                  cin>>denominatore;
                    if(denominatore==0) //controlla di D
                 { // se ==0
                     cout<<"il numero inserito e =0"<<endl;
                      cout<<"inserisci di nuovo"<<endl;//chieda un input
          }
                }while(denominatore==0);
                  risultato=(float)numeratore/denominatore;
                  //(float) e il casting = forza il risultato in float
                    cout<<"il risultato della divisione e "<<risultato<<endl<<endl;
                    }
 void calcola::visualizza()//metodo per visualizzare i numeri inseriti inseriti
    {
        if(denominatore!=1)
        //se nel denominatre c'è un valore diverso da uno allora è una frzione e visualizzo n/d
            cout<<"La Frazione Inserita e': "<<denominatore<< "/" <<numeratore<<endl;
        else   //altrimenti visualizzo solo N
            cout<<"La Frazione Inserita e': "<<denominatore<<endl;
    };
  
   void calcola::aggiorna()//metodo per aggiornare
     {
      float risultato;

           cout<<"inserisci il numeratore"<<endl;
     do
      {
          cin>>numeratore;
            if(numeratore==0)
   {
 
   }
     cout<<"il numero inserito e =0"<<endl;
       cout<<"inserisci di nuovo"<<endl;
 
         }while(numeratore==0);
           cout<<"inserisci il denominatore"<<endl;
    do
    {
            cin>>denominatore;
              if(denominatore==0)
                {
                  cout<<"il numero inserito e =0"<<endl;
                      cout<<"inserisci di nuovo"<<endl;
                } 
        }while(denominatore==0);
                risultato=(float)numeratore/denominatore;
                  cout<<"il risultato della divisione e "<<risultato<<endl<<endl;
}
int main()
{
char c; //dichiarazione di un variabile da tipo char
int ripeti=0;// dichirazione di un variabile intero
calcola d1;//Istanza oggetto d1
calcola n1;//Istanza oggetto n1
d1.input();
n1.input();

  cout<<"Numero inseriti: "<<endl;
        d1.visualizza();//metodo per input oggetto d1 
        n1.visualizza();//metodo per input oggetto n1
     do
        {
            cout<<"Per modificare i dati inseriti? [S|N]"<<endl;
            cin>>c;
            /*parte controllo se il carattere Inserito è
            miuscola o minuscola ? o diversa da quella richiesta*/
         }while(((c=='S')&&(c=='s'))&&((c!='n')&&(c!='N')));
        if((c=='s')||(c=='S'))
       
         {
            int d;//dichiarazione di un variabile di tipo intero
                 do{
                cout<<endl<<"Quale frazione vuoi modificare? [1/2]"<<endl;
                 cin>>d;
                if(d==1)// se ==1
                    d1.aggiorna();//aggiorna il den
                else
                    if(d==2)//se ==2
                        n1.aggiorna();//aggiorna il num
                    else
                        cout<<endl<<"Scelta Errata"<<endl;
                   
            }while((d!=1)&&(d!=2));    //se diverso output scelta non valida
                }
           {
           cout<<"vuoi ripetere l'operazione? si/1 no/0"<<endl;
             cin>>ripeti;
 
             } while(ripeti!=0);
 
             return 0;
          }

giovedì 16 ottobre 2014

L' istruzione typedef di un array di puntatore

EXERCISE:

Definire l'istruzione typedef di nome dipendente, creare un array di puntatore di elemente  dipendente con N scelto dall'utente.

Codice eseguibile:

#include <iostream>
using namespace std;
// Mohammad Rahime Esercizio 13/10/2014
typedef struct persona {/* con l' istruzion typedef possiamo gestire insiemi di dati non
omogenei e possiamo difinire anche un nuovo tipo ti dati int float ecc*/
                    char Nome[10];
                    char Cognome[10];
                    float Stipendio;
                       }dipendente;//creo un nuovo tipo di dato "dipendente"

dipendente *punta; // variabile di tipo puntatore dipendente
main()
{  
    int i=0; // indice i=0
    int dim; // dimensione non reale
    cout<<"Quanti dipendente vorresti calcolare?"<<endl;
    cin>>dim; // dimension scelta dal utente
    punta=new dipendente[dim];// crea un array a dimensione scelta dall' utente
   
        for(i=0;i<dim;i++)
         {
// acquisizione dai dati inseriti dal utente
            cout<<"Inserisci il Nome: ";
              cin>>punta[i].Nome;
                cout<<"Inserisci il Cognome: ";
                  cin>>punta[i].Cognome;
                    cout<<"Inserisci lo stupendio: ";
                      cin>>punta[i]. Stipendio;
                      }
                        for(int i=0;i<dim;i++)
                            {
        // per stampa i numeri delle persone che sono stati calcolati
    cout<<endl<<"Numero dalle persone scelta dal utente "<<i<<endl;
      //visualizzazioni dai dati inseriti dal utente
      
         cout<<"Nome:\n " << punta[i].Nome;  
           cout<<endl<<"Nome: " << punta[i].Cognome;  
            cout<<endl<<"Nome: " << punta[i]. Stipendio;  
              cout << endl << endl; //per tornare a capo
          }
            return 0;
               }

Le caratteristiche base dei puntatori

Le caratteristiche alla base dei puntatori,tracciato con " CMAP "

lunedì 16 dicembre 2013

Vettore ,for

# include<stdio.h>
# include<stdlib.h>
//# include<time.h>
// Mohammad rahime


main()
{
  int vett[10];
  int i=0;
  float media=0;
 



      for(i=0;i<10;++i)
      {
          printf("Inserice dice numero per calolare le media\n");
         
          scanf("%d",&vett[i]);
         
           printf("\n",&vett[i]);/*per stampare il contenuto di vettore prima che venga assengato
           all variabile media */
         
          media+=vett[i];
      }
     
          media=media/10;

{

         printf("la media e >>> %.2f \n",media);
    

         system("pause");
 }
}

Calcolo della serie di Fibonacci

# include<stdio.h>
# include<stdlib.h>
// Rahime Mohammad
main()
{
    int numero;
    int precedente=1;
    int attuale=1;
    int successivo;

    printf("Inserisci un numero della serie di fibonacci\n");
    scanf("%d",&numero);
    // controllo se l' utente inserisce lo zero
       if(numero==0){ /* se il numero auguale a zero non ha nussun precedente*/
      
      
       successivo=1;
       printf("il successivo e %d\n",successivo);
       printf("il predente non esiste\n");
}
       else
  {
 

    while((attuale!=numero)&(attuale<numero))/* calcolo della serie di Fibonacci partento da uno
    finche non si arriva ad un numero maggiore di quello inserito*/
    {
    successivo=attuale+precedente;
    precedente=attuale;
    attuale=successivo;
       
   
    if(attuale==numero){ /* quando il numero immesso e augule a quello trovato
    il programmo restituisce il precedente e il successivo*/
       
       
        successivo=attuale+precedente;
        printf("il precedente e %d\n",precedente);
        printf("il successivo e %d\n",successivo);
}
}
  if(attuale>numero)/* se il numero inserito è minore e non uguale a quelli
  trovati significa che non fa parte della serie di Fibonacci*/
     printf("Il numero inserito non fa parte della numero serie di Fibonacci\n");
        system("pause");

}
       
       
}

Calcolo di pari, dispari, zeri, fissato dal Utente

// Rahime Mohamamad
# include<stdio.h>
# include<stdlib.h>


main()
{

 int volta=0;// il numero dalle volta
 int numero;
 int pari=0;
 int dispari=0;
 int zero=0;
 int ris=0;


               system("color 2F");
                 printf("Quanti calcoli vorresti fare ? \n");
                   scanf("%d",&volta);
             while(volta>0)// volta >0 inserisce il numero
             {

                printf("Inserisci il numero\n");
                   scanf("%d",&numero);
           
            if((numero%2)==0){ // s il numero diviso 2 come il resto da zero e pari
   
                   pari++; // aumenta contatore il pari
           }
           else
                  dispari++;// altrimenti aumenta il contatore dispari
           {
            if(numero==0){// se il numero auguale zero
                      zero++;// aumenta il contatore zeri
           }
                   ris=ris+numero;// somma il numero e lo assegna al variabile ris
  
                    volta--;   // decremente il contatatore volta
   }

       system("CLS");/*cancella output percedente e stampa il risulatato percedent
       piu il sucessivo*/
       printf("I numeri pari sono%d\n",pari);
        printf("I numeri dispari sono %d\n",dispari);
        printf("I numeri zeri sono %d\n",zero);
          printf("Il risultato sono %d\n",ris);
         
  }
     
         system("pause");
   }

Lancio di 2 dadi

# include<stdio.h>
# include<stdlib.h>
# include<time.h>
// lancio di due dadi
// Mohammad Rahime

  int main()
  {
      int conta=0;
      int lancio1=0;
      int lancio2=0;
      int val=0;
      int scelta=1;
     
   do
      {
                  system("color 2B");
                 
                  system("CLS");
                  printf("\nLancia il primo dado valore compreso tra uno e sei !!>>>>");
                    scanf("%d",&lancio1);
                      printf("\nLancio il secondo dado valore compreso  tra uno sei !!>>>");
     
                           scanf("%d",&lancio2);
                         
                                val=lancio1+lancio2;
                                val++;
                               
                 if((val<=12)&&(val>0))
                
      
       {
      
                srand(time(0));
                  conta=rand()%12;
                  conta++;
                       
               
      //    val=lancio1=lancio2;
         
    /*  printf("fai una scelta !!\n");
         scanf("%d",&lancio1);
        printf("Inserisce il numero\n");
         scanf("%d",&lancio2);*/
           //printf(" la somma di due lancio %d\n",val,conta);
        }
       
                printf("scelta%d !!\n\n",conta);
       
       if((lancio1+lancio2)==conta){
                         
               printf("hai vinto\n");
              
               //printf(" Lancio 1  %d\n",lancio1);  
                // printf(" Lancio 2 %d\n",lancio2);
                // printf(" Lancio %d %d\n",val);       
    }
       
  else   
       
{        

               printf("hai perso\n");
              
                printf(" la somma di due lancio%d\n\n",conta);
                    printf(" per rifare l' operazione primi 1 per uscire 0\n");
                          scanf("%d",&scelta);
}
        }while(scelta==1);



         system("Pause");
}