Está en la página 1de 8

Fecha: 22 de marzo de 2023

Programación Avanzada

UNIDAD II
Experiencia de aprendizaje. Tipos de
funciones, datos y operadores en C++:
Desarrollo de un Sistema de Control y
Seguimiento de Gastos en C++

Profesor: Christian Francisco Enríquez Lozano


Nombre: Benny Jonathan Herrada Santos
Grupo: LAIT2102b1_O_23-1
1. Lee la problemática que se te presenta a continuación (es la misma planteada en la 1):
La empresa transportista Viaja Conmigo tiene una flotilla de autobuses que salen a 4 destinos
diferentes 2 veces por día: CDMX-Oaxaca Centro, CDMX-Cancún, CDMX-Monterrey, CDMX -
Guadalajara. Actualmente los propietarios se ven sorprendidos del gasto reportado por los
conductores. Todas las rutas presentan un gasto elevado en gasolina en los últimos 3 meses.
Además, han detectado poca afluencia de pasajeros, ya que hay constantes quejas por la
impuntualidad de las salidas y llegadas de las corridas.
Se cree que el incremento de gastos en la gasolina y la impuntualidad en las corridas se debe a que
los conductores realizan paradas irregulares en sus rutas, para subir a pasajeros que no reportan a
la empresa transportista, quedando esos ingresos en sus bolsillos. Por lo anterior la emp resa
requiere desarrollar un sistema en lenguaje C++, que le permita calcular el total de litros gastados
en cada ruta, el dinero de gasolina gastado en el viaje y el tiempo que se tarda en recorrer (en horas
y minutos) cada ruta. Es necesario que el sistema permita registrar la información reportada por los
choferes de cada mes de los últimos 3 meses por ruta, tambien el sistema deberá permitir calcular
las variables y obtener la diferencia.
2. Retoma los diferentes tipos de funciones, datos y operadores en C++ revisados en la unidad.
3. Determina los datos de entrada y salida.
4. Declara y ejecuta las funciones necesarias correctamente. Para poder identificar el o los
conductores que están reportando irregularidades.
5. Al concluir tu sistema, compílalo y ejecútalo. Deberás subirlo a la plataforma en una carpeta
zip.
Datos de entrada
Distancias:
CDMX -OAXACA CENTRO 457 KM
CDMX – CANCUN 1604 KM
CDMX – MONTERREY 912 KM
CDMX – GUADALAJARA 463 KM
Costo gasolina por litro 25.00
Litros consumidos por km 0.4 litros
Datos de salida
Litros gastados por ruta
CDMX -OAXACA CENTRO 182 litros
CDMX – CANCUN 641 litros
CDMX – MONTERREY 364 litros
CDMX – GUADALAJARA 185 litros
Dinero gasolina por viaje
CDMX -OAXACA CENTRO 4570.00
CDMX – CANCUN 16040.00
CDMX – MONTERREY 9120.00
CDMX – GUADALAJARA 4630.00
Tiempo en recorrer ruta
CDMX -OAXACA CENTRO 6 h 14 min 374min
CDMX – CANCUN 22 h 5 min 1325 min
CDMX – MONTERREY 11 h 18min 678 min
CDMX – GUADALAJARA 6h 23 min 383 min
Diferencia contra lo que reporta chofer
Diagrama de flujo
Seudocódigo
//creamos sistema de entrada de datos
//Declarar variables
Int litros;
Int gastogas;
Int tiempo;
Int minutos = tiempo % 60;

//Declarar funciones
void ingresadatos();
void roaxaca();
void rcancun();
void rmonterrey();
void rguadalajara();

Inicio del main


int num;
Escribir "BIENVENIDO AL SISTEMA DE CONTROL DE GASTOS”;
Escribir "1- CDMX-OAXACA CENTRO”;
Escribir "2- CDMX-CANCUN";
Escribir "3- CDMX-MONTERREY";
Escribir "4- CDMX-GUADALAJARA";
Escribir "DIGITA EL NUMERO DE RUTA QUE QUIERES CALCULAR";
Leer num;

segun num hacer

caso 1: Escribir "RUTA CDMX-OAXACA CENTRO;


ingresadatos();
roaxaca();
break;
caso 2: Escribir "RUTA CDMX-CANCUN”;
ingresadatos();
rcancun();
break;
caso 3: Escribir "RUTA CDMX-MONTERREY";
ingresadatos();
rmonterrey();
break;
caso 4: Escribir "RUTA CDMX-GUADALAJARA";
ingresadatos();
rguadalajara();
break;

Fin según
Fin del main

void ingresadatos () {

Escribir "INGRESE LA CANTIDAD DE LITROS COMPRADOS ";


Leer litros;
Escribir "INGRESE EL GASTO EN GASOLINA ";
Leer gastogas;
Escribir "INGRESE EL TIEMPO RECORRIDO EN HORAS ";
Leer tiempohoras;
Escribir "INGRESE EL TIEMPO RECORRIDO EN MINUTOS ";
Leer tiempominutos;
}
void roaxaca(){

Escribir "DISTANCIA DE LA RUTA: 457 KM";


Escribir "DIFERENCIA LITROS GASTADOS: "<<litros - 182;
Escribir "DIFERENCIA DINERO GASTADO EN GASOLINA: "<<gastogas - 4570;
Escribir "TIEMPO DE RECORRIDO REAL: 6h 14min";
Escribir "TIEMPO DE RECORRIDO INGRESADO: "<<tiempohoras;
Escribir "h "<<tiempominutos;
Escribir "min";
Escribir "DIFERENCIA DE TIEMPO: "<<tiempohoras - 6;
Escribir "h "<<tiempominutos - 14;
Escribir "min";
Escribir "LOS VALORES NEGATIVOS ESTAN DENTRO DEL RANGO PERMITIDO";
}
void rcancun(){

Escribir "DISTANCIA DE LA RUTA: 1604 KM";


Escribir "DIFERENCIA LITROS GASTADOS: "<<litros - 641;
Escribir "DIFERENCIA DINERO GASTADO EN GASOLINA: "<<gastogas - 16040;
Escribir "TIEMPO DE RECORRIDO REAL: 22h 5min";
Escribir "TIEMPO DE RECORRIDO INGRESADO: "<<tiempohoras;
Escribir "h "<<tiempominutos;
Escribir "min";
Escribir "DIFERENCIA DE TIEMPO: "<<tiempohoras - 22;
Escribir "h "<<tiempominutos - 5;
Escribir "min";
Escribir "LOS VALORES NEGATIVOS ESTAN DENTRO DEL RANGO PERMITIDO";
}
void rmonterrey(){

Escribir "DISTANCIA DE LA RUTA: 912 KM";


Escribir "DIFERENCIA LITROS GASTADOS: "<<litros - 364;
Escribir "DIFERENCIA DINERO GASTADO EN GASOLINA: "<<gastogas - 9120;
Escribir "TIEMPO DE RECORRIDO REAL: 11h 18min";
Escribir "TIEMPO DE RECORRIDO INGRESADO: "<<tiempohoras;
Escribir "h "<<tiempominutos;
Escribir "min";
Escribir "DIFERENCIA DE TIEMPO: "<<tiempohoras - 11;
Escribir "h "<<tiempominutos - 18;
Escribir "min";
Escribir "LOS VALORES NEGATIVOS ESTAN DENTRO DEL RANGO PERMITIDO";
}
void rguadalajara(){

Escribir "DISTANCIA DE LA RUTA: 463 KM";


Escribir "DIFERENCIA LITROS GASTADOS: "<<litros - 185;
Escribir "DIFERENCIA DINERO GASTADO EN GASOLINA: "<<gastogas - 4630;
Escribir "TIEMPO DE RECORRIDO REAL: 6h 23min";
Escribir "TIEMPO DE RECORRIDO INGRESADO: "<<tiempohoras;
Escribir "h "<<tiempominutos;
Escribir "min";
Escribir "DIFERENCIA DE TIEMPO: "<<tiempohoras - 6;
Escribir "h "<<tiempominutos - 23;
Escribir "min";
Escribir "LOS VALORES NEGATIVOS ESTAN DENTRO DEL RANGO PERMITIDO";
}

Conclusiones:
• Para conocer las discrepancias en cada viaje resulta más viable hacerlo de manera
individual para poder detectar los choferes que hacen los manejos de los recursos.
Asimismo, se podría llevar un control más detallado si es manejado este sistema a través de
una interfaz gráfica para ir guardando cada uno de los datos.
• El conocimiento de las funciones y librerías hace más fácil la creación del código para el
sistema, por lo tanto, la elaboración del diagrama de flujo y el seudocódigo ayuda a marcar
el paso del proyecto y evitar los mayores errores posibles al traspasarlo al compilador.
• El uso de funciones personalizadas le da un orden al desarrollo del código y ahorra tiempo
en instrucciones repetitivas.

Fuente:

Programación ATS. Curso de programación c++.139 videos. Recuperado el 10 de marzo de 2023


de
https://www.youtube.com/watch?v=dJzLmjSJc2c&list=PLWtYZ2ejMVJlUu1rEHLC0i_oibctkl0Vh

También podría gustarte