Translate

lunedì 23 febbraio 2015

FUNZIONI (parametri passati per valore & riferimento)






#include <stdio.h>
#include <windows.h>
#include <iostream>

using namespace std;

int j(int &a);
int l(int a);
int x(int a);
int y(int &a);


int main (){

printf("valore 5 ");


int b=5;
j(b);//passati per riferimento
printf("\n\nparametro passati per riferimento\n ");
printf("%d\n",b);


for(int i=0;i<70;i++){
printf("_");

}



b=5;
l(b);//passati per valore
printf("\nparametro passati per valori \n ");
printf("%d\n",b);

printf("indirizzo di 'b': %p \n\n",&b);
cout<<&b<<endl;

for(int i=0;i<70;i++){
printf("_");

}

printf("\n");
x(b);
y(b);


return 0;


}


//prova 1 ---- passati per riferimento

int j(int &a) //parametro formale
{
a++;      // parametro attuale

}


// prova 2  passati per valore
int l(int a)
{
a++;

}

//prova 3 passagio per valore ,visualiza indirizo 'a' != 'b'
int x(int a)
 {
  printf("\n\n%p",&a);
  a++;
 
 }

 //prova 4 passagio per valore ,visualiza indirizo a == b
int y(int &a)
 {
  printf("\n\n%p",&a);
  a++;
 
 }






giovedì 5 febbraio 2015

L'ISTRUZIONI ( TYPEDEF )

L'istruzione typedef permette la costruzione di nuovi tipi di dato.
Uno dei possibili utilizzi della dichiarazione typedef  consiste nell'incapsulamento dei tipi
di dati originali.

Un esempio:

typedef struct televisore{  //una struttura con nome televisore

char marca[10];
char modello[10];
int pollici;

}televisore;  //si scrive anche ala fine il nome dichiarato

int main ( ){

televisore tv;  
 /* La definizioni di un nome per il tipo corrispondente alla struttura permette di dichiarare
le variabili omettendo la parola chiave STRUCT */
                       

return 0;
}

Esempio 2
Come visualizzare il contenuto dei suoi campi

typedef struct      //assegna un nome di tipo alla struttura televisore
televisore{     
    
char marca[20];
char modello [20];
int pollici;

}televisore;

int main ( ){

televisore tv={"abcdef","ghilmn",28}  // inizializza la variabile tv
televisore tv2;

printf(" marca :%s\n ",tv.marca); //scrive a video i campi di tv
printf(" modello: %s\n",tv.modello);
printf("pollici:%d",tv.pollici);

tv2=tv;    //assegna a tv2 i valori di tv

printf(" marca :%s\n ",tv2.marca); //scrive a video i campi di tv2
printf(" modello: %s\n",tv2.modello);
printf("pollici:%d",tv2.pollici);

return 0;
}

cos'e una STRUTTURE (struct in c++)

In una STRUCT vengono raccolti i dati che descrivono un oggetto complesso.
per esempio, in una STRUCT possono essere memorizzati i dati di una persona(cognome,nome,indirizzo,data e luogo di nascita)

qua un altro esempio supponiamo di voler definire una STRUCT in cui memorizzare le informazione di un televisore .

struct televisore{

char marca[10];
charmodello[10];
int pollici;

}; // non dimenticare il punto e virgola finale

Ogni singola variabile all'interno di una STRUCT prende nome di campo.

Ora che abbiamo definito la struttura televisore, è  possibile dichiarare variabili di quest'ultimo tipo:

struct televisore tv;

Ogni volta che dobbiamo dichiarare un variabile di tipo STRUCT è necessario anteporre la parola chiave STRUCT al nuovo tipo,

// non sempre per che detto del mio professore alcuni compilatori permettono di non scrivere STRUCT


 

CERCA POSITION DI UN NUMERO

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>

int main()
{
 int numcella = 0;                                
 printf("digita numero dim (max 100) : ");              /// dimensione del vett/////
 scanf("%d",&numcella);                         


 int numero[500];              /// numero max

 srand(time(NULL));             ///rand


 for (int i = 0; i < numcella; i++) {                   ///////////////////////////////
  numero[i] = rand() % 100 + 1;                       ////// carica e visualiza/////
  printf("[%d]%d \n", i, numero[i]);                 //////////////////////////////
  }
 
 
 printf("_______________________________________________________________________\n");

 int puesto;                                       ////////////////////////////////////
 printf("digita un numero: ");                     ////// numero, cerca pisition////
 scanf("%d", &puesto);                             //////////////////////////////////

 printf("_______________________________________________________________________\n");


int apogio=0;                                             ////////////////////////////////          
for (int i = 0; i <numcella; i++){                        ////////////////////////////////
if (puesto==numero[i]){                                   //////CERCA POSITION DI NUMERO///
 printf ("il numero e nella posizione %d \n",i);       ////////////////////////////////
 apogio=1; //////// SERVE PER IF DOPO IL CICLO         //////////////////////////////////
}
}



if(apogio==0){                                             ///////////////////////////////////////
 printf ("il numero non e' stato trovato\n");           ////// TRU O FALSE ////DOPO IL CICLO///
}                                                          ////////////////////////////////////////

 system ("pause");
 return 0;
}