Terza Esercitazione

Esercizio 1 (svolto)
Esercizio 2
Esercizio 3 (svolto)
Esercizio 4
Esercizio 5 (svolto)
Esercizio 6

Esercizi su altri tipi di variabili

Esercizio 1
Qualche esempio su conversione esplicita, variabili bool e char .
#include <iostream>

main(){

  int    x=10,y=20;
  int    size;
  double a;
  bool   test;
  char   car;

  cout << "Divisione tra interi " << endl;
  a = x/y;
  cout << "Senza casting " << a << endl;
  a = ((double) x)/y;
  cout << "Con casting "  << a << endl;

  test = (x==y);
  if (test){
    cout << "X e' uguale a Y" << endl;
  } else {
    cout << "X non e' uguale a Y" << endl;
  }

  car = 'a';
  size = sizeof(car);
  cout << " Size di un char " << size << "bytes " << endl;

}

Esercizio 2

Esercizi sulle stringhe

Esercizio 3
Utilizzo delle stringhe: assegnazione, concatenazione, lunghezza della stringa, accesso ai singoli caratteri e confronto.
#include <iostream>
#include <string>

main(){

  string myString="AAA";
  char a;

  //Concatenzione

  myString+= "BB";
  cout << myString << endl;

  //Assegnazione tramite caratteri;
  myString[0] = 'a';
  myString[1] = 'b';
  a = 'c';
  myString[2] =  a;
  cout << myString << endl;

  // Stampa dei singoli caratteri
  cout << "Inserisci la stringa: "; 
  cin  >> myString;
  for (int i=0; i < myString.length(); i++){
    cout << myString[i] << endl;
    cout << (int)myString[i] << endl;
  }
  
  // Confronto di stringhe 
  while (myString!="quit"){    
    cout << "Inserisci la stringa: ";
    cin  >> myString;
    cout << myString.length()  << endl;
  } 

}

Esercizio 4

Ancora su I/O da file

Esercizio 5
Lettura di un file il cui nome è specificato da terminale e di cui non si conosce, a priori, il numero di dati contenuti.
#include <fstream>
main(){

  int        ndat;
  double     x[100];
  ifstream   file;
  string     filename

  cout << "Inserisci il nome del file " << endl;
  cin >> filename;

  file.open(filename.c_str()); // Conversione stringa C++ -> stringa C

  if (file) {

    ndat = 0;
    while (file) {
      if (ndat<100)
        file >> x[ndat++];
      else 
        cout << "Array troppo piccolo !" << endl;
    } 
    ndat--;
    file.close();
    cout << ndat << endl;
    for (int i=0; i< ndat; i++) 
      cout << x[i] << " ";
    cout << endl;
  } else {
    cout << "Errore nell' apertura del file " << endl;
  }
}

Esercizio 6
(MOLTO utile per Laboratorio 1-A e 1-B)
Creare un file di dati con n numeri reali. Creare un programma C++ che:

Verificate il vostro programma con il file di dati esempio.dat che fornisce i risultati:
Media                         10.0083
Varianza                      5.1059
Varianza Empirica             5.28197
Deviazione Standard           2.25962
Deviazione Standard Adattata  2.29825
Errore Standard               0.419602