Testo dell'esercizio
I dati relativi al campionato di calcio sono memorizzati in tre vettori paralelli:
- SQUADRE contenente il nome della squadra
- SERIE contenente 'A' o 'B'
- PUNTI contenente il punteggio ottenuto nel campionato
Scrivere un programma con le seguenti richieste:
a) Stampare il tabulato contenente l'elenco delle squadre di serie A nella forma:
ELENCO SQUADRE DI A
SQUADRA PUNTI
....... ......
....... ......
b) Dato in input il nome di una squadra, stampare la serie e i punti realizzati. Se la squadra non esiste stampare una segnalazione di errore.
c) Costruire e stampare un altro vettore CLASSIF contenente solo le squadre di serie B.
d) Cercare e stampare il nome della squadra campione di serie A
mostra soluzione
/*
CLAUDIO CARDINALE III AI
I dati relativi al campionato di calcio sono memorizzati in tre vettori paralelli:
- SQUADRE contenente il nome della squadra
- SERIE contenente 'A' o 'B'
- PUNTI contenente il punteggio ottenuto nel campionato
Scrivere un programma con le seguenti richieste:
a) Stampare il tabulato contenente l'elenco delle squadre di serie A nella forma:
ELENCO SQUADRE DI A
SQUADRA PUNTI
....... ......
....... ......
b) Dato in input il nome di una squadra, stampare la serie e i punti realizzati. Se la squadra non esiste stampare una segnalazione di errore.
c) Costruire e stampare un altro vettore CLASSIF contenente solo le squadre di serie B.
d) Cercare e stampare il nome della squadra campione di serie A
*/
#include<stdio.h>
#include<string.h>
#define MAX 1000
int main(){
//dichiarazioni
char squadre[MAX][MAX],serie[MAX],squadra[MAX];
int r,i,j,punti[MAX],classif[MAX],camp=0;
//acquisizione dati
//lunghezza vettori
do{
printf("inserire il numero di squadre : ");
scanf("%d",&r);
}while(r < 1 || r >= MAX);
//acquisizione dati
//squadre
for(i=0;i<r;i++){
printf("inserisci il nome della squadra numero %d : ",i+1);
getchar();
scanf("%s",squadre[i]);
}
//serie
for(i=0;i<r;i++){
printf("inserisci la serie della squadra %s ('A' o 'B') : ",squadre[i]);
getchar();
scanf("%c",&serie[i]);
}
//punti
for(i=0;i<r;i++){
printf("inserisci il punteggio ottenuto in campionato da %s : ",squadre[i]);
scanf("%d",&punti[i]);
}
//calcoli e visualizzazione risultati
//1°
printf("\tELENCO SQUADRE DI A\nSQUADRA\tPUNTI\n");
for(i=0;i<r;i++)
if(serie[i]=='A')
printf("%s\t%d\n",squadre[i],punti[i]);
//2°
printf("inserire una squadra : ");
getchar();
gets(squadra);
i=0;
while(i < r && strcmp(squadre[i],squadra))
i++;
if(!strcmp(squadre[i],squadra))
printf("serie : %c, punti : %d\n",serie[i],punti[i]);
else
printf("ERRORE : la squadra scelta non e` presente nell'elenco\n");
//3°
for(i=0,j=0;i<r;i++)
if(serie[i]=='B')
classif[j++] = i;
printf("\tELENCO SQUADRE DI B\nSQUADRA\tPUNTI\n");
for(i=0;i<j;i++)
printf("%s\t%d\n",squadre[classif[i]],punti[classif[i]]);
//4°
for(i=0;i<r;i++)
if(serie[i]=='A' && punti[i]>punti[camp])
camp = i;
printf("la squadra campione di serie A e` : %s\n",squadre[camp]);
}
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