Programma Strutture in C++

di il
5 risposte

Programma Strutture in C++

AGGIORNATO! ORA FUNZIONA TRANNE IL CASE 2 E IL CASE 4
#include <iostream>
using namespace std;
typedef struct _data{
	int anno;
	int mese;
	int giorno;
} data;
typedef struct _studente{
	char nome[20];
	char cognome[20];
	data nascita;
	char media[10];
   } studente;
int main (){
	int n;
	int j;
	int scelta;
	int somma;
	int i;
	int media;
	studente alunno;
	data nascita;
	do {
	cout<<"1_Inserire Dati Studente"<<endl;
	cout<<"2_Calcolare La Media Voti"<<endl;
	cout<<"3_Visualizzare Dati Dello Studente"<<endl;
	cout<<"4_Esci"<<endl;
	cin>>scelta;
	switch(scelta){
		case 1:
			cin>>alunno.nome;
			cin>>alunno.cognome;
			cin>>alunno.nascita.anno;
			cin>>alunno.nascita.mese;
			cin>>alunno.nascita.giorno;
			cout<<"Inserisci il Nome"<<alunno.nome;
			cin>>alunno.nome;
			cout<<"Inserisci il Cognome"<<alunno.cognome;
			cin>>alunno.cognome;
			cout << "inserisci anno data di nascita"<<alunno.nascita.anno<<endl;
			cin>>alunno.nascita.anno;
			cout << "inserisci mese data di nascita"<<alunno.nascita.mese<<endl;
			cin>>alunno.nascita.mese;
			cout << "inserisci giorno data di nascita"<<alunno.nascita.giorno<<endl;
			cin>>alunno.nascita.mese;
			break;
		case 2:
			cout<<"INSERISCI I VOTI DELLO STUDENTE";
			cin>>alunno.media;
			for(i=0;i<n;i++){
				somma=somma+alunno.media[i];
				media=somma/n;
				cout << media;
			break;
		case 3:
			cout<<"nome"<<alunno.nome<<endl<<endl<<endl<<endl;
			cout<<"cognome"<<alunno.cognome<<endl<<endl<<endl<<endl;
			cout<<"Data Nascita = Anno:"<<alunno.nascita.anno<<endl<<endl<<endl<<endl;
			cout<<"Data Nascita = Mese:"<<alunno.nascita.mese<<endl<<endl<<endl<<endl;
			cout<<"Data Nascita = Giorno:"<<alunno.nascita.giorno<<endl<<endl<<endl<<endl;
			break;
	}
							
				
	
	}
	}
	
		while (scelta=4);
}

	







5 Risposte

  • Re: Programma Strutture in C++

    float Vmedio[20];
    è un vettore di float. Sicuro che ti serve così? L'inserimento x un alunno l'hai fatto. Crea un vettore di alunni e inserisci i dati x ogni indice.
  • Re: Programma Strutture in C++

    Dopo aver dichiarato il record devi dichiarare la tebella perchè così facendo inserisci solamente un alunno, dopo di chè ti fai un for per l'inserimento ed uno per la stampa
  • Re: Programma Strutture in C++

    SCOPO PROGRAMMA:
    Che utilizzi un tipo dato studente composto da nome,cognome,data di nascita e un vettore con al massimo 10 voti.
    il programma deve avere un menù con 4 voci:
    1_inserire dati studente
    2_calcolare la media
    3_visualizzare dati dello studente
    4_esci
  • Re: Programma Strutture in C++

    Il 4 non funziona xk al do while finale non va = ma va != per il case 2 non riesco a capire non mi tornano i conti
  • Re: Programma Strutture in C++

    
    #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.
Devi accedere o registrarti per scrivere nel forum
5 risposte