Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: gustavovj en 22 de Abril 2013, 23:09
-
Debo realizar el siguiente algoritmo para mi curso de programación básica utilizando ciclos, registros, archivos y procedimientos
El sistema deberá contar con un menú principal que permita seleccionar las opciones, dentro de las opciones disponibles deben estar:
- Agregar auto
- Consultar auto
- Modificar auto
- Eliminar auto
- Punto de venta
- Reporte total de automotores
- Salir del sistema
Cada entrada de autos deberá permitir digitar primero la placa del auto y validar si el mismo existe, de encontrar información deberá mostrar una alerta y preguntar si desea modificar ese auto, de no encontrar información dejará continuar la digitación de los datos para un nuevo auto.
Para cualquier entrada de autos mínimo se almacenará (adicional las que considere necesarias):
• Placa
• Tipo
• Marca
• Modelo
• Clasificación
• Estado
• Reparaciones
Cada entrada de autos permanecerá en la opción de agregar auto y deberá permitir ingresar toda la cantidad de registros que el usuario desee y salir al menú principal hasta que el usuario haya decidido volver.
Cada consulta de autos deberá permitir digitar placa del auto y realizar una búsqueda del mismo, al encontrar información debe mostrar los datos ya digitados en la opción de agregar autos, de no encontrar deberá indicar que no existen archivos relacionados, deberá permitir consultar toda la cantidad de registros que el usuario desee y salir al menú principal hasta que el usuario haya terminado.
Cada modificación de autos deberá permitir digitar primero la placa del auto y validar si el mismo existe, al encontrar información debe mostrar los datos ya digitados en la opción de agregar y a continuación leer de nuevo la información a modificar, no debe dejar modificar la placa, y de no encontrar deberá decir que no hay registros relacionados, deberá permitir modificar toda la cantidad de registros que el usuario desee y salir al menú principal hasta que el usuario haya terminado.
Cada eliminación de autos deberá permitir digitar primero la placa del auto y validar si el mismo existe, al encontrar información deberá hacer la pregunta si desea eliminar el mismo, si no existen registros relacionados indicarlo con un mensaje, deberá permitir eliminar toda la cantidad de registros que el usuario desee y salir al menú principal hasta que el usuario haya terminado.
El sistema del taller deberá tener la opción de punto de venta donde el usuario pueda digitar la placa, buscar el auto y digitar los costos y descripciones de las reparaciones y hacer una lista de las reparaciones, el sistema deberá permitir agregar la cantidad de reparaciones necesarias, y permitir toda la cantidad de registros por placa que el usuario desee hasta salir al menú principal, antes de salir de la pantalla debe mostrar todas la reparaciones a ese auto y el precio total de la factura por auto.
El reporte general de autos, es un reporte en el cual deben aparecen organizados todos los autos existentes en el taller. Queda a su creatividad la presentación y decisión de que datos o información será presentada como salida.
Mi maestro ha dicho que debo usar MAS de un registro, sin embargo no tengo idea de como hacerlo! Yo hice un solo registro donde incluí placa, tipo, etc y desde el mismo consultaba, añadía etc.
POR FAVOR, alguien puede resolverlo o indicarme como hacerlo?
Gracias de antemano
-
Yo crearía estos registros:
Registro auto
String placa
int tipo
String marca
String modelo
int clasificacion
String estado
int Reparaciones
Fin registro
Registro reparacion
String placa
String[] descripcion//Un array o arreglo con las reparaciones asociadas a una placa
Double [] costo //Un array o arreglo con el costo de cada reparación
Fin registro
Ahora lo que no sé es si el programa tienes que hacerlo en un lenguaje concreto ¿en qué lenguaje? Si tienes algo de código mejor ponlo para verlo, saludos!
-
Gracias por contestar! Es pseudocodigo, apenas estoy llevando un curso básico así que no se mucho y no uso ningún lenguaje aun. si debo consultar un auto, como hago para buscar en vario registros???
Rcarro.placa= placa_auto
Buscar Rcarro.placa en Taller.DAT
Si hago eso solo estaría buscando en uno pero si tengo N cantidad de registros?
Esto es básicamente lo que he hecho
Algoritmo Taller_Automotriz
Variables
Opción= numérico
Tipo
Registro= Rcarro
Placa= numérico
Tipo= cadena
Marca= cadena
Modelo= cadena
Clasificación= cadena
Estado= cadena
Reparaciones= cadena
Fin Registro
Inicio
Crear Rcarro, Taller.DAT
Repetir
Escribir (“menú Taller Automotriz”)
Escribir (“1. Agregar Auto”)
Escribir (“2. Consultar Auto”)
Escribir (“3. Modificar Auto”)
Escribir (“4.Escribir Eliminar Auto”)
Escribir (“5 Punto de venta”)
Escribir (“6. Reporte total de automotores”)
Escribir (“7. Salir del sistema”)
Escribir (“Digite la opción”)
Leer (opción)
En caso que opción sea
1: agrega_auto
2: consulta_auto
3: modifica_auto
4: modifica_auto
5: punto_venta
6: reporte_total
Fin Casoque
Hasta que opción = 7
Fin
Procedimiento agrega_auto
Variables
mas_autos= cadena
placa_auto= numérico
modificar= cadena
Inicio
Abrir Rcarro, Taller.DAT
Repetir
Escribir “Ingrese la placa del auto”
Leer placa_auto
Rcarro.placa= placa_auto
Buscar Rcarro.placa en Taller.DAT
Si Rcarro.placa se encuentra Entonces
Imprimir “¿Desea modificar el auto S/N?”
Leer modificar
Si modificar= “S” Entonces
modificar_auto
FinSi
Sino
Crear RcarroN
Escribir “Ingrese el tipo, marca, modelo, clasificación, estado, reparaciones “
Leer RcarroN placa, RcarroN tipo, RcarroN marca, RcarroN modelo, RcarroN clasificación, RcarroN estado, RcarroN reparaciones
FinSi
Escribir “¿Desea ingresar otro auto? S/N”
Leer mas_autos
Hasta que mas_autos= “N”
Cerrar Rcarro, RcarroN, Taller.DAT
Fin Procedimiento
Procedimiento consultar_auto
Variables
Placa_auto= numérico
Mas_autos= cadena
Inicio
Abrir Taller.DAT
Mientras no EOF hacer
Escribir “Ingrese la placa del auto”
Leer placa_auto
Si placa_auto se encuentra Entonces
Imprimir placa, tipo, marca, modelo, clasificación, estado, reparaciones
Sino
Imprimir “No existen archivos”
Fin Si
Escribir “Ingrese otro auto”
Leer mas_autos
Hasta que mas _autos= “N”
Cerrar Taller. DAT
Fin Procedimiento
Procedimiento modificar_auto
Variables
placa_auto= numérica
mas_autos= cadena
tipo_auto= cadena
marca_auto= cadena
modelo_auto= cadena
clasificación_auto= cadena
estado_auto= cadena
reparaciones_auto= cadena
modificar= cadena
Inicio
mas_autos= “S”
Abrir Rcarro
Mientras mas_autos “S” hacer
Escribir “Ingrese el número de placa”
Leer placa_auto
Rcarro.placa= placa_auto
Buscar Rcarro.placa en C:
Si Rcarro.placa se encuentra Entonces
Escribir “ingrese el tipo de auto”
Leer tipo_auto
Escribir “Ingrese la marca”
Leer marca_auto
Escribir “Ingrese el modelo”
Leer modelo_auto
Escribir “Ingrese la clasificación”
Leer clasificación_auto
Escribir “ingrese el estado”
Leer estado_auto
Escribir “ingrese las reparaciones”
Leer “reparaciones_auto
Escribir “¿Desea modificar? (S/N)”
Leer modificar
Si modificar= “S” Entonces
Rcarro.tipo= tipo_auto
Rcarro.marca= marca_auto
Rcarro.modelo= modelo_auto
Rcarro.clasificacion= clasificación_auto
Rcarro.estado= estado_auto
Rcarro.reparaciones= reparaciones_auto
Grabar Rcarro
FinSi
Sino
Imprimir “No hay registros relacionados”
FinSi
Escribir “¿Desea ingresar otro auto?”
Leer mas_autos
Fin Mientras
Cerrar Rcarro
Fin procedimiento
Procedimiento eliminar_auto
Variables
Placa_auto= numérica
mas_autos= cadena
borrar= cadena
Inicio
Abrir Rcarro
Repetir
Escribir “Ingrese la placa del auto”
Leer placa_auto
Rcarro.placa= placa_auto
Buscar Rcarro.placa en C
Si Rcarro .placa se encuentra Entonces
Escribir “¿Desea borrar? (S/N)”
Si borrar= “S” Entonces
Borrar Registro
Sino
Imprimir “No existen registros”
FinSi
Escribir “Ingrese otra placa”
Leer mas_autos
Hasta que mas_autos= “N”
Cerrar Rcarro
Fin Procedimiento
Procedimiento Punto_venta
Variables
placa_auto= numérico
costo= numérico
descripción= cadena
reparacion= cadena
precio_total= numérico
agregar= cadena
Inicio
Abrir Rcarro
Repetir
Escribir “Ingrese el número de placa”
Leer placa_auto
Rcarro.placa= placa_auto
Buscar Rcarro. placa en C
Si Rcarro.placa se encentra Entonces
Escribir “Ingrese el costo”
Leer costo
Escribir “Ingrese una reparación”
Leer reparación
Escribir “¿Desea agregar otra reparación? (S/N)”
Leer agregar
Si agregar= “S” Entonces
Leer reparaciones, costos
Reparación= reparación+1
Precio_total= precio_total+ costo
Imprimir reparaciones, precio_total
Grabar Rcarro
FinSi
Hasta que agregar= “N”
Cerrar Rcarro
Fin Procedimiento
Procedimiento Reporte_General
Variables
mas_autos= cadena
Inicio
mas_autos “S”
Abrir Rcarro
Mientras mas_autos “S” hacer
Imprimir Rcarro placa, Rcarro tipo, Rcarro marca, Rcarro modelo, Rcarro clasificación, Rcarro estado, Rcarro reparaciones
-
Se podría hacer de varias maneras, pero si estás con pseudocódigo podría ser así:
placa_buscada = ... (se define la placa a buscar)
AutoEncontrado = Falso
Desde Registro = 1 hasta Registro = último hacer
Si Rcarro.placa = placa_buscada Entonces
Mostrar "Se ha encontrado el auto buscado"
AutoEncontrado = Verdadero
FinSi
Si AutoEncontrado = Falso Entonces
Mostrar "Lo sentimos pero no se ha encontrado el auto buscado"
FinSi
Cada registro tiene que estar identificado de alguna manera (supongamos que por un número como si fuera un arreglo; otra opción sería que cada registro ocupara una línea y recorrieras las líneas pero esto lo veo peor opción). Tú lo que necesitarás será recorrer todos los registros desde el 1 hasta el último para comprobar si el auto que buscas se encuentra o no.