FUNIZIONI C

di il
1 risposte

FUNIZIONI C

Ciao a tutti, sono nuovo nel forum ,mi sono approcciato alle funzioni da pochi giorni.
Dovevo sviluppare un programma che attraverso l'utilizzo di funzioni ordini i tempi di percorrenza degli atleti A,B,C in una graduatoria in ordine crescente.
Innanzitutto ho trasformato i tempi di percorrenza in secondi e poi ho confrontato i tre numeri.
Il problema è che non riesco a far stampare la graduatoria. mi sapreste dare una mano?

#include <iostream>
using namespace std;

int secondi_A(int a,int b,int c){
	
	int s,m,h;
	h=a*3600;
	m=b*60;
	s=h+m+c;
	return s;
	
}


int secondi_B(int a,int b,int c){
	
	int sB,m,h;
	h=a*3600;
	m=b*60;
	sB=h+m+c;
	return sB;
	
}


int secondi_C(int a,int b,int c){
	
	int sC,m,h;
	h=a*3600;
	m=b*60;
	sC=h+m+c;
	return sC;
	
}
void confronto (int hA,int mA,int sA,int hB,int mB,int sB,int hC,int mC,int sC ){
	


if(secondi_A<secondi_B && secondi_B<secondi_C){
	
	printf("a,b,c \n");
	
}else{
	
	if(secondi_A<secondi_C && secondi_C<secondi_B){
		
		printf("a,c,b \n");
		
	}else{
	if(secondi_B<secondi_A && secondi_A<secondi_C){
		
		printf("b,a,c \n");
	}else{
		if(secondi_B<secondi_C && secondi_C<secondi_A){
			printf("b,c,a \n");
			
		}else{
			if(secondi_C<secondi_B && secondi_B<secondi_A){
				
				printf("c,b,a \n");
			}else{
				printf("c,a,b \n");
				
			}
		}
	}
		
	}
}





return;
}


int main(int argc, char** argv) {
	
	

	int hA,mA,sA,hB,mB,sB,hC,mC,sC;

	
	printf("INSERISCI LE ORE DI CORSA DELL' ATLETA A \n");
	scanf("%d",&hA);
	printf("INSERISCI I MINUTI DI CORSA DELL' ATLETA A \n");
	scanf("%d",&mA);
	printf("INSERISCI I SECONDI DI CORSA DELL' ATLETA A \n");
	scanf("%d",&sA);
	secondi_A(hA,mA,sA);
	printf("INSERISCI LE ORE DI CORSA DELL' ATLETA B \n");
	scanf("%d",&hB);
	printf("INSERISCI I MINUTI DI CORSA DELL' ATLETA B \n");
	scanf("%d",&mB);
	printf("INSERISCI I SECONDI DI CORSA DELL' ATLETA B \n");
	scanf("%d",&sB);
		secondi_B(hB,mB,sB);
	printf("INSERISCI LE ORE DI CORSA DELL' ATLETA C \n");
	scanf("%d",&hC);
	printf("INSERISCI I MINUTI DI CORSA DELL' ATLETA C \n");
	scanf("%d",&mC);
	printf("INSERISCI I SECONDI DI CORSA DELL' ATLETA C \n");
	scanf("%d",&sC);
		secondi_C(hC,mC,sC);	
	
	confronto;	

	
	
	return 0;
}

1 Risposte

  • Re: FUNIZIONI C

    Utilizza una sola funzione
    time_t secondi(int hours, int minutes, int seconds)
    Siccome che secondi_A, secondi_B e secondi_C fanno la stessa identica cosa.

    Poi piuttosto confronta dovrebbe prendere tre time_t che hai calcolato nel main (cosa che tra l’altro fai ma non utilizzi), che passare 8201 argomenti. Anzi, il miglior metodo sarebbe un array di time_t (che sono i secondi degli atleti), che ordini e poi stampi.

    In confronta poi utilizzi l’operatore < su delle funzioni… dovresti semmai chiamare le due funzioni.

    Riguardati bene l’argomento, non hai capito la differenza tra funzione e variabile
Devi accedere o registrarti per scrivere nel forum
1 risposte