Codificación aprenderaprogramar.com: CU00334A-2
EJERCICIOS RESUELTOS VISUAL BASIC
El objetivo de estos ejercicios es aplicar conocimientos sobre "Herramientas básicas para la programación" a un lenguaje como es Visual Basic. Para su realización debemos tener conocimientos básicos sobre algoritmia, uso de bucles o estructuras iterativas y apertura y cierre de archivos.
EJERCICIO RESUELTO EJEMPLO DE USO DE ARRAYS ESTÁTICOS, DO WHILE … LOOP, IF … THEN, USO DE FICHEROS...
Desarrollar un programa que permita resolver el siguiente problema. Una librería dispone de un archivo donde se guarda información relativa a un lote de libros estructurada de la siguiente manera:
Dato(1) = [Número de ISBN, 10 dígitos] |
Dato(2) = [Precio de venta al público, en euros] |
Dato(3) = [Señalero, -33 Libro de menos de un año de antigüedad -66 Libro de uno a tres años de antigüedad -99 Libro de más de tres años de antigüedad] |
Dato(4) = [Número de ISBN] |
. |
Dato(n – 1) = [Señalero -33, -66, -99] |
Dato(n) = [Señalero -500, Fin del lote] |
Se desea desarrollar un programa que permita:
a) Consultar el precio de un libro dado su ISBN.
b) Conocer el precio del lote de libros en conjunto.
Teniendo en cuenta lo siguiente: si el libro tiene menos de un año de antigüedad su precio coincide con el registrado. Si tiene entre uno y tres años deberá aplicarse un descuento del 15%. Si tiene más de tres años deberá aplicarse una rebaja del 25%.
Nota: considerar que el número total de datos es igual o inferior a 50, y que se encuentran en el fichero libros.dat. Crear un botón para poder introducir el isbn de un libro y otro botón para poder calcular el precio del lote. En un archivo al que llamaremos libros.dat pondremos una simulación de datos como la siguiente:
SOLUCIÓN
El código sería:
Código (versionesVB menos recientes) | Código (versiones VB más recientes) |
Private Sub CommandLote_Click() |
REM Curso Visual Basic aprenderaprogramar.com
Private Sub CommandLote_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandLote.Click |
Gráficamente: