Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #1

    problema con typedef struct

    salve, sto cercando di creare un programmino che dica ad un insegnante quante ore ha speso in un anno per le diverse attività svolte!
    Il problema in sé è risolto ma quando vado a sistemare tutte le piccole imprecisioni, in particolare quando vado a controllare che la "data" inserita sia corretta. Ecco la porzione di programma interessata.
    codice:
    #include <stdio.h>
    #define MAX 5
    typedef enum{insegnamento, ricerca, gestione
    }Attivita;
    typedef enum{falso, vero}boolean;
    typedef struct{
    		int Giorno;
    		int Mese;
    		int Anno;
    }Data;
    typedef struct{
    	Attivita TipoAttivita;
    	Data DataAttivita;
    	int durata;
    }DescrizioneAttivita;
    int main(){
    	boolean risp;
    	DescrizioneAttivita Agenda[MAX];
    	int cont=0, NumeroAttivita=0, i;
    	int OreInsegnamento=0, OreRicerca=0, OreGestione=0;
    	char risp1;
    	while(cont<MAX){
    		printf("Inserire il tipo di attivita' (0-insegnamento, 1-ricerca, 2-gestione)\n");
    		scanf("%d", &i);
    		if(i == 0){
    			Agenda[cont].TipoAttivita == insegnamento;
    			printf("Inserire data attivita' (GG/MM/AAAA): ");
    			scanf("%d", &Agenda[cont].DataAttivita.Giorno);
    			printf("%d", Agenda[cont].DataAttivita.Giorno);
    			if(Agenda[cont].DataAttivita.Giorno<1 || Agenda[cont].DataAttivita.Giorno>31){
    				risp=falso;
    				while(risp=falso){
    					printf("Inserire un giorno valido! (GG)");
    					scanf("%d", &Agenda[cont].DataAttivita.Giorno);
    					if(Agenda[cont].DataAttivita.Giorno<1 || Agenda[cont].DataAttivita.Giorno>31){
    						risp = falso;
    					}else{
    						risp = vero;
    					}				
    				}
    			}
    il programma continua ma il problema è riscontrato qui.
    Perchè non riesco a vedere cosa c'è scritto dentro il giorno attraverso la printf??
    printf("%d", Agenda[cont].DataAttivita.Giorno);
    sbaglio nell'inserimento del dato?
    anche aggiungendo manualmente il valore non riesco a leggerlo, aggiungendo Agenda[cont].DataAttivita.Giorno=21
    grazie mille
    Ultima modifica di MItaly; 06-01-2015 a 01:58 Motivo: Tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.