M

mojonjunior

Usuario (Estados Unidos)

Primer post: 2 nov 2012Último post: 2 nov 2012
1
Posts
0
Puntos totales
39
Comentarios
Modelo de programa en C
Modelo de programa en C
Hazlo Tu MismoporAnónimo11/2/2012

Nro de vehiculo km de salida km de llegada la tarifa es de $6.25 el kilometro se pide procesar la informacion de lo viajes realizados e informar: 1. mayor cantidad de kilometros recorridos en un viaje 2. total de km recorrido por cada vehiculo 3. numero de vehiculo con mayor cantidad de km recorridos 4. Mostrar ordenado por cantidad de viajes realizados nro vehiculo, cant viajes, total de kilometros recorridos, total facturado */ #include<stdio.h> #include<stdlib.h> #include<conio.h> /*si no les funciona el parar, es por el compilador, en el de la facu funciona. reemplazarlo por printf("nn"; getch(); y comentar la linea de #define*/ #define parar printf("nn"; system("pause"; int VehiculoMayorKM(float *); float TotalFacturadoV(float, float, float); void Ordenar(int *, int *); main() { int codVeh; float kmSalida=0; float kmLlegada=0; int vCodVeh[]={1,2,3,4,5} ; float kmAcumVeh[5]={0}; int CantViajesVeh[5]={0}; int ID[5]={0,1,2,3,4}; float MaxKmViaje=0; float tfv[5]={0}; float tf={0}; const float tarifa = {6.25}; int i; /*carga de datos*/ printf("CodVehiculo: "; scanf("%d", &codVeh); while (codVeh!=0 && codVeh>0 && codVeh<6) { do { printf("KmSalida: "; scanf("%f", &kmSalida); }while (kmSalida<0); do { printf("KmLlegada: "; scanf("%f", &kmLlegada); }while (kmLlegada<=0 ||kmSalida==kmLlegada); //Me fijo si el viaje que cargo es el maximo en kilometrajes MaxKmViaje = MaxKmViaje<(kmLlegada-kmSalida)?(kmLlegada-kmSalida):MaxKmViaje; //acumulo los kilometros por vehiculo kmAcumVeh[codVeh-1]= kmAcumVeh[codVeh-1] + (kmLlegada-kmSalida); //cuento los viajes CantViajesVeh[codVeh-1] = CantViajesVeh[codVeh-1] + 1; //total facturado por vehiculo tfv[codVeh-1]= TotalFacturadoV(kmLlegada ,kmSalida, tarifa); //total facturado tf = tf + (kmLlegada-kmSalida)* tarifa; printf("CodVehiculo: "; scanf("%d", &codVeh); } codVeh = VehiculoMayorKM(tfv); //impresiones printf("nn"; printf("Mayor cantidad de km en un viaje: %10.2f KM", MaxKmViaje); parar; //Total por vehiculo for(i=0;i<5;i++) { printf("vehiculo: %d %10.2f Km Recorridos n",vCodVeh, kmAcumVeh ); } parar; //Muestro el vehiculo que mas kilometros recorrio. codVeh = VehiculoMayorKM(tfv); printf("vehiculo: %d %10.2f Km Recorridos n",codVeh, kmAcumVeh[codVeh-1]); parar; //ordeno el vector ID Ordenar(ID,CantViajesVeh); //salida de datos printf("Reporte nn"; for(i=0;i<5;i++) { printf("Vehiculo: %d CantViajes: %d KM: %10.2f Total F %10.2f n", vCodVeh, CantViajesVeh,kmAcumVeh, tfv); /* Esto es para debug, esta bueno para saber en que registro pincha printf("Vehiculo: %d n", vCodVeh); printf("CantViajes: %d n",CantViajesVeh); printf("KM: %10.2f n", kmAcumVeh); printf("Total F %10.2f nn", tfv); */ } parar; } int VehiculoMayorKM(float*tfv) { int i; float aux=0; int CodVeh=0; for(i=0;i<5;i++) { if(aux<tfv) { aux= tfv; CodVeh = i+1; //me da el codigo de vehiculo } } return CodVeh; } float TotalFacturadoV(float kmLlegada, float kmSalida, float tarifa) { return (kmLlegada-kmSalida)* tarifa; } void Ordenar(int*ID, int*CantViajesVeh) { int i=0, k=1, aux=0, cota=4; while(k!=0) { k=0; for(i=0;i<cota;i++) { if(CantViajesVeh[ID[i+1]]> CantViajesVeh) { aux = ID; ID = ID[i+1]; ID[i+1] = aux; k=i; } } cota=k; } } Espero que les sirva

0
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.