Ir al contenido principal

Registros en C++ / Uso de struct en C++

Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos. A cada uno de esos elementos se le llama campo.


Un ejemplo de eso seria hacer un registro de vendedores donde nos pedirían información sobre, nombre, apellido, dirección, DNI, numero de artículos, articulos vendidos, artículos que quedan, precio de cada uno, el precio de todos los artículos de cada vendedor; para todo eso necesitariamos usar REGISTROS ya que solo con vectores no prodriamos afrontar el problema. Aqui les dejare un el ejercicio del mismo que me dejaron el la universidad sobre un registro de vendedores implementado en C++ y lo compartire con ustedes. El enunciado del problema es el siguiente:

Implementa en C++:

Debo registrar vendedores (dni, nombres, apellidos, dirección(calle, numero, urbanización) ) con sus respectivos productos vendidos (producto, cantidad, precioventa).

Implementa el sistema usando registros y funciones. El sistema debe permitir:

  • Registrar “N” vendedores con sus respectivos “Pk” productos.
  • Mostrar todos los vendedores con todos sus datos y sus respectivos productos.
  • Mostrar los datos de un vendedor específico (ingresando su número de orden)
  • Mostrar los productos vendidos de un vendedor específico (ingresando su número de orden): producto, cantidad, precioventa, Subtotal. y finalmente el Total.
    • Subtotal = cantidad * precioventa
    • Total = sumatoria de los subtotales
  • Eliminar un vendedor específico (ingresando su número de orden)
  • Búsqueda por dni: ingresa el dni de un vendedor y que muestre su dirección

Implementación:

Comentarios

  1. disculpa que significa lo siguiente :
    using namespace std;

    struct unProducto {
    char name_prod[MAXCAD];
    puedo cambiar maxcad por otra cosa o para que sirve?

    ResponderEliminar
  2. using namespace std; sirve para poder usar cout y cin sin anteponer "std::" en cout y cin. Ejemplo: std::cout<<""; o sdt::cin>> var;

    MAXCAD es una macro que se define en la cabezera del programa( #define MAXCAD) que se le asinga un valor para poder usarlo en cualquier parte del programa, funciona como una constante. Puedes ponerle otro nombre si gustas, por ejemplo

    #define longitud_maxima 100

    // Puse MAXCAD porque hacia referencia ala longitud maxima de la las cadenas que iba a usar. Espero haberte ayudado. Saludos..

    ResponderEliminar
  3. gracias por todo esta excelente el ejemplo

    ResponderEliminar
  4. ¿Para hacer algo similar pero con doble enlace?
    ¿Tendrás ese ejemplo?

    ResponderEliminar
  5. Hermano buenas noches, podria explicarme el mismo ejercicio pero en c? por favor.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Autómata Finito Determinista - Código C++

En esta ocasión les traigo la implementación de un AFD en lenguaje C++. Un autómata finito determinista es una quíntupla que denotaremos de manera genérica por M=(Q,Σ,q0,δ,F) , donde: Q es un conjunto finito cuyos elementos llamaremos estados.  Σ es un alfabeto que llamamos alfabeto de entrada.  q0∈Q es un estado señalado que llamamos estado inicial.  F es un subconjunto de Q no vacío, cuyos elementos llamamos estados finales.  δ es una aplicación de Q×Σ→Q , que llamamos función de transición.  Para la implementación se utiliza una matriz de transición convirtiendo los símbolos y letras del alfabeto en indices de la matriz donde los estados son las FILAS y los símbolos son las COLUMNAS, por ejemplo: Tenemos un alfabeto Σ = {a, b, c}, entonces en la matriz de transición tomara la letra 'a' como indice 0 , letra 'b' indice 1 y letra 'c' indice 2. Lo mismo seria para las transiciones, pero allí no interesa que letra representa si no cuantos estados...

Collision Shapes - Box2D & SFML

En el ámbito del desarrollo de videojuegos y simulaciones interactivas, la gestión de colisiones es un componente crítico que determina la experiencia del usuario y la interactividad del entorno virtual. Desde las interacciones entre elementos del juego hasta las respuestas del entorno, las colisiones bien implementadas son esenciales para la jugabilidad y la inmersión.  En esta oportunidad, exploraremos en detalle el tema de las colisiones en 2D, centrándonos en la implementación de Collision Shapes y el uso del polimorfismo mediante dos herramientas populares: Box2D, un motor de física de código abierto, y SFML (Simple and Fast Multimedia Library), una biblioteca gráfica multiplataforma.  Con estas herramientas, podremos crear simulaciones y juegos con colisiones precisas y realistas, agregando profundidad y dinamismo a nuestros proyectos en dos dimensiones.   IDE: CodeBlocks: http://www.codeblocks.org/ v13.12 Library: SFML: http://www.sfml-dev.org/ v2.1 Box2...

Deploy a Heroku con Laravel 5