logo Thecsea.it



Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License



scolastica » esercizi » terza superiore » linguaggio c

Testo dell'esercizio

In una matrice 6 righe e 6 colonne e' memorizzato l'orario scolastico. Fornire un programma che permetat di stampare:
1) tutte le materie di un giorno fornito in input
2) in quali giorni e in quali ore c'e' la materia richiesta in input
3) quale materia c'e' il giorno G dell'ora O (G e O sono forniti in input).
I giorni della settimana sono espressi tramite caratteri

mostra soluzione

/*
CLAUDIO CARDINALE III AI
In una matrice 6 righe e 6 colonne e' memorizzato l'orario scolastico. Fornire un programma che permetat di stampare:
1) tutte le materie di un giorno fornito in input
2) in quali giorni e in quali ore c'e' la materia richiesta in input
3) quale materia c'e' il giorno G dell'ora O (G e O sono forniti in input).
I giorni della settimana sono espressi tramite caratteri
*/
#include<stdio.h>
int main(){
	
	//dichiarazioni
	
	int i,j,scelta,h,gn;
	char mat[6][6]={{'i','i','e','c','l','l'},{'s','s','i','m','h','h'},{'f','f','s','e','c','c'},{'i','i','m','m','e','l'},{'d','d','s','s','m','m'},{'i','m','r','d','d','d'}},g,m;
	
	
	//acquisizione dati
		
	do{
		printf("1) tutte le materie di un dato giorno\n2) giorni ed ore di una materia\n3) materia in un determinato giorno ed in una determinata ora\nscelta : ");
		scanf("%d",&scelta);
	}while(scelta <1 || scelta >3);
	
	
	//acquisizione dati e visualizzazione risultati
	
	switch(scelta){
		case 1:
			do{
				printf("inserire il giorno : ");
				getchar();
				scanf("%c",&g);
			}while(g != 'l' && g != 'm' && g != 'e' && g != 'g' && g != 'v' && g != 's');
			
			switch(g){
				case 'l':
					gn = 1;
					break;
				case 'm':
					gn = 2;
					break;
				case 'e':
					gn = 3;
					break;
				case 'g':
					gn = 4;
					break;
				case 'v':
					gn = 5;
					break;
				case 's':
					gn = 6;
					break;
				
			}
			
			for(i=0;i<6;i++)
				printf("%c\n",mat[gn-1][i]);
			break;
		case 2:
			printf("inserire materia : ");
			getchar();
			scanf("%c",&m);
			
			
			for(i=0;i<6;i++)
				for(j=0;j<6;j++)
					if(m == mat[i][j])
						switch(i){
							case 1:
								printf("giorno : l, ora : %d\n",j+1);
								break;
							case 2:
								printf("giorno : m, ora : %d\n",j+1);
								break;
							case 3:
								printf("giorno : e, ora : %d\n",j+1);
								break;
							case 4:
								printf("giorno : g, ora : %d\n",j+1);
								break;
							case 5:
								printf("giorno : v, ora : %d\n",j+1);
								break;
							case 6:
								printf("giorno : s, ora : %d\n",j+1);
						}
			break;
		case 3:
			do{
				printf("inserire il giorno : ");
				getchar();
				scanf("%c",&g);
			}while(g != 'l' && g != 'm' && g != 'e' && g != 'g' && g != 'v' && g != 's');
			
			printf("inserire l'ora : ");
			scanf("%d",&h);
			
			switch(g){
				case 'l':
					gn = 1;
					break;
				case 'm':
					gn = 2;
					break;
				case 'e':
					gn = 3;
					break;
				case 'g':
					gn = 4;
					break;
				case 'v':
					gn = 5;
					break;
				case 's':
					gn = 6;
					break;
				
			}
			
			printf("%c\n",mat[gn-1][h-1]);
	}
}

Testi Consigliati:

Il linguaggio C. Principi di programmazione e manuale di riferimento. Ediz. MyLab. Con Contenuto digitale per download e accesso on line
C guida alla programmazione: Conoscere lo standard C11 dalle basi del linguaggio alle direttive del preprocessore (Programmare con C Vol. 1)
Programmazione in C

torna



Copyright © 2004-2024 thecsea.it (Claudio Cardinale - [email protected])! Tutti i diritti riservati. - contattaci