#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
#include <numeric>
#define MAX_VOTI 10
typedef struct _dataNascita
{
int anno;
int mese;
int giorno;
}dataNascita;
void stampa_menu(void)
{
std::cout << "Menu" << std::endl;
std::cout << "1. Inserisci dati" << std::endl;
std::cout << "2. Calcola media" << std::endl;
std::cout << "3. Visualizza dati" << std::endl;
std::cout << "4. Esci" << std::endl;
std::cout << std::endl << "Inserire una scelta\t";
}
int main(void)
{
std::string nomeStudente;
std::string cognomeStudente;
dataNascita dataNascitaStudente;
std::string dataTemp;
std::vector<int> voti;
int scelta = 0;
do
{
stampa_menu();
std::cin >> scelta;
switch(scelta)
{
case 1:
{
std::cout << std::endl << "Inserisci cognome studente \t";
std::cin >> cognomeStudente;
std::cout << std::endl << "Inserisci nome studente \t";
std::cin >> nomeStudente;
do
{
std::cout << std::endl << "inserisci data nel formato gg/mm/aaaa\t";
std::cin >> dataTemp;
}while(dataTemp.length() != 10);
dataNascitaStudente.giorno = atoi(dataTemp.substr(0,2).c_str());
dataNascitaStudente.mese = atoi(dataTemp.substr(3,5).c_str());
dataNascitaStudente.anno = atoi(dataTemp.substr(6,9).c_str());
}
break;
case 2:
{
int votoTemporaneo;
do
{
voti.clear();
std::cout << "Inserisci 10 voti divisi da spazio" << std::endl;
std::cin.clear();
do
{
std::cin >> votoTemporaneo;
voti.push_back(votoTemporaneo);
}while(std::cin.peek() != '\n');
}while(voti.size() != 10);
float media = 0.0f;
media = std::accumulate(voti.begin(),voti.end(),media);
std::cout << "La media dei voti e\t" << media / voti.size() << std::endl;
}
break;
case 3:
{
std::cout << "I dati Inseriti sono:";
std::cout << std::endl << "Nome:\t" << nomeStudente;
std::cout << std::endl << "Cognome:\t" << cognomeStudente;
std::cout << std::endl << "Data di nascita:\t" <<
dataNascitaStudente.giorno << "/" <<
dataNascitaStudente.mese << "/" <<
dataNascitaStudente.anno;
std::cout << std::endl << "I voti inseriti sono:" << std::endl;
std::vector<int>::iterator it;
for(it = voti.begin(); it != voti.end(); ++it)
std::cout << *it << "\t";
std::cout << std::endl;
}
break;
}
}while(scelta != 4);
return 0;
}
E STUDIA.