el programa compila,pero al ejecutar no me entra en la funcion que he definido, me ayudan?

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
juanpablogiugni
Mensajes: 3
Registrado: 15/04/2019 12:48 pm

el programa compila,pero al ejecutar no me entra en la funcion que he definido, me ayudan?

#1 Mensaje por juanpablogiugni » 16/04/2019 3:37 pm

Código: Seleccionar todo

#include<stdio.h>
#include <string.h>


void renault (char esc,float t) //calcula promedio de escueria 
{	


	
	
	
	float prom=0,sum=0;
	int cont=0;

	if (esc=='r'){  
	
					cont=cont+1;
					sum=sum+t;
					prom=sum/cont;
				
	}
	
	printf("el tiempo promedio de los pilotos de renault es:%d\n",prom);
	
return;	
	
}


main ()




{			int total_comp,i,contarg=0;
			float tempo,promarg,prom;
			char escuderia;
			char nomb_comp[50],pais[50],pilotoultimo[50],compt[50];
			int max=0;
			
			printf("ingrese la cantidad de competidores\n");
			scanf("%d",&total_comp);
			
			for (i=1;i<=total_comp;i++){	
											printf("ingrese nombre del competidor\n");
											fflush(stdin);
											scanf("&s",&nomb_comp);
											printf("ingrese pais\n");
											fflush(stdin);
											scanf("%s",&pais);	
											printf("ingrese codigo de escuderia f fiat,r renault,p peogeot\n");
											fflush(stdin);
											scanf("%c",escuderia);
											printf("ingrese el tiempo en minutos\n");
											fflush(stdin);
											scanf("%f",&tempo);
				
				
			
			if (tempo>75){
						strcpy(compt,nomb_comp); // nombre de los corredores que tardan mas de 75min
								
			}								
				
			
		
										
			if (strcmp(pais,"argentina")==0){		contarg=contarg+1;			//porcentaje de argentinos
  				                              	    promarg=contarg*100/total_comp;
	                                    }							
										
			
			if (tempo>max){	
						int max=tempo;						//piloto que tardo mas
						strcpy(pilotoultimo,nomb_comp);
		            }
																				
		
			renault(escuderia,tempo); //promedio de escuderia renault		
				
				
			}
			
		
			printf("la cantidad de pilotos argentinos que participaron es %d:\n",&contarg);
			fflush(stdin);
			printf("el porcentaje de pilotos argentinos respecto del total es %d:\n",&promarg);
			fflush(stdin);
			printf("el piloto que utilizo el mayor tiempo es %s:\n",&pilotoultimo);
			fflush(stdin);
			printf("el nombre de los pilotos que tardan mas de 75 son %s:\n",&compt);
			fflush(stdin);	
			
}
Última edición por mollok el 17/04/2019 3:07 am, editado 1 vez en total.
Razón: Los códigos deben ir entre etiquetas 'code', botón </>

mollok
Mensajes: 413
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: el programa compila,pero al ejecutar no me entra en la funcion que he definido, me ayudan?

#2 Mensaje por mollok » 17/04/2019 3:16 am

Tienes cosas como

Código: Seleccionar todo

scanf("&s", &nomb_comp);
y

Código: Seleccionar todo

scanf("%c", escuderia);
Las cadenas en sí ya devuelven direcciones de memoria, por tanto para scanf no deben llevar &. En cambio los caracteres devuelven su valor, por lo que para scanf su variable sí debería llevar &.

Veo que todavía no has aprendido a manejar esa función.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados