View Single Post
Old 24-02-2005, 19:44   #4
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
vabe adesso te lo posto così va modificata una cosa
Codice:
#include <stdio.h>
#include <windows.h>
#define CARD 21
#define NMESI 12

struct elenco {
	char nome [CARD];
	char cognome [CARD];
	int matricola;
	int presenze[NMESI];
};

char mesi[][20] = {"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"};

int main (){
	const int cardinalita=300;
	int scelta,numero,sommatoria;
	struct elenco array[cardinalita];
	printf("\nPROGRAMMA PER LA COMPILAZIONE DI UN ELENCO DI STUDENTI\n");
	do{
		printf("\n\n\nDigitare il valore desiderato\n");
		printf("\n1 - Riempire l'elenco\n");
		printf("2 - Stampare l'elenco\n");
		printf("3 - Uscire dal programma\n");
		printf("\nScelta:\t");
		do{
			scanf("%d",&scelta);
			if(scelta<=0||scelta>4)
				printf("ERRORE: Il valore immesso non e' presente nel menu'\n");
		} while(scelta<=0||scelta>3);
		switch(scelta){
		case 1: {
			printf("Digitare il numero di elementi da inserire: ");
			do{
				scanf("%d",&numero);
				if(numero<0)
					printf("ERRORE: Impossibile inserire un numero negativo\n");
				
				if(numero>cardinalita)
					printf("Il numero inserito supera la cardinalita dell'elenco.\nPuoi inserire al massimo %d valori.\n",cardinalita);
			} while(numero>cardinalita||numero<0);

			for(int j=0;j<numero;j++){
				fflush (stdin);
				printf("Nome:\t");
				gets(array[j].nome);
				fflush(stdin);
				printf("Cognome:\t");
				gets(array[j].cognome);

				printf("\n\n");
			
				fflush (stdin);
				printf("Matricola: ");
				scanf("%d",&array[j].matricola);
				printf("\n");
				printf("Presenze\n");
				for (int i=0;i<NMESI;i++){
					printf("\t- %s: ",mesi[i]);
					scanf("%d",&array[j].presenze[i]);
					printf("\n");
				}
			}
			break;
				}
			case 2:{
			if(numero>0){
				for(int i=0;i<numero;i++){
					printf("Cognome: %s\n",array[i].cognome);
					printf("Nome: %s\n",array[i].nome);
					printf("Matricola: %d\n",array[i].matricola);
					printf("Presenze:\n");
					sommatoria = 0;
					for (int j=0;j<NMESI;j++){
						printf("\t- %s: %d\n",mesi[j],array[i].presenze[j]);
						sommatoria=sommatoria+array[i].presenze[j];
					}

					printf("PRESENZE TOTALI: %d\n",sommatoria);
				}
			} else 
				printf("Elenco vuoto. Inserisci il valore 1 per riempirlo\n");
			break;
				   }
		}
	}while(scelta!=3);
	system ("PAUSE");
	return (1);
}
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso