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

001/*
002CLAUDIO CARDINALE III AI
003In una matrice 6 righe e 6 colonne e' memorizzato l'orario scolastico. Fornire un programma che permetat di stampare:
0041) tutte le materie di un giorno fornito in input
0052) in quali giorni e in quali ore c'e' la materia richiesta in input
0063) quale materia c'e' il giorno G dell'ora O (G e O sono forniti in input).
007I giorni della settimana sono espressi tramite caratteri
008*/
009#include<stdio.h>
010int main(){
011     
012    //dichiarazioni
013     
014    int i,j,scelta,h,gn;
015    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;
016     
017     
018    //acquisizione dati
019         
020    do{
021        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 : ");
022        scanf("%d",&scelta);
023    }while(scelta <1 || scelta >3);
024     
025     
026    //acquisizione dati e visualizzazione risultati
027     
028    switch(scelta){
029        case 1:
030            do{
031                printf("inserire il giorno : ");
032                getchar();
033                scanf("%c",&g);
034            }while(g != 'l' && g != 'm' && g != 'e' && g != 'g' && g != 'v' && g != 's');
035             
036            switch(g){
037                case 'l':
038                    gn = 1;
039                    break;
040                case 'm':
041                    gn = 2;
042                    break;
043                case 'e':
044                    gn = 3;
045                    break;
046                case 'g':
047                    gn = 4;
048                    break;
049                case 'v':
050                    gn = 5;
051                    break;
052                case 's':
053                    gn = 6;
054                    break;
055                 
056            }
057             
058            for(i=0;i<6;i++)
059                printf("%c\n",mat[gn-1][i]);
060            break;
061        case 2:
062            printf("inserire materia : ");
063            getchar();
064            scanf("%c",&m);
065             
066             
067            for(i=0;i<6;i++)
068                for(j=0;j<6;j++)
069                    if(m == mat[i][j])
070                        switch(i){
071                            case 1:
072                                printf("giorno : l, ora : %d\n",j+1);
073                                break;
074                            case 2:
075                                printf("giorno : m, ora : %d\n",j+1);
076                                break;
077                            case 3:
078                                printf("giorno : e, ora : %d\n",j+1);
079                                break;
080                            case 4:
081                                printf("giorno : g, ora : %d\n",j+1);
082                                break;
083                            case 5:
084                                printf("giorno : v, ora : %d\n",j+1);
085                                break;
086                            case 6:
087                                printf("giorno : s, ora : %d\n",j+1);
088                        }
089            break;
090        case 3:
091            do{
092                printf("inserire il giorno : ");
093                getchar();
094                scanf("%c",&g);
095            }while(g != 'l' && g != 'm' && g != 'e' && g != 'g' && g != 'v' && g != 's');
096             
097            printf("inserire l'ora : ");
098            scanf("%d",&h);
099             
100            switch(g){
101                case 'l':
102                    gn = 1;
103                    break;
104                case 'm':
105                    gn = 2;
106                    break;
107                case 'e':
108                    gn = 3;
109                    break;
110                case 'g':
111                    gn = 4;
112                    break;
113                case 'v':
114                    gn = 5;
115                    break;
116                case 's':
117                    gn = 6;
118                    break;
119                 
120            }
121             
122            printf("%c\n",mat[gn-1][h-1]);
123    }
124}

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-2025 thecsea.it (Claudio Cardinale - cardi@thecsea.it)! Tutti i diritti riservati. - contattaci