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

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



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