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

Obtener numeros aleatorios en C++ (rand, srand)

Es algo muy frecuente, cuando ya dominas todo eso de pedir y almacenar datos, ahora tu profesor te pedirá que tus programas generen números aleatorios para automatizar el proceso de llenar arreglos y todo eso.
Así que lo primero que tenemos que hacer es incluir la librería:
#include<stdlib.h>

Necesitamos esta libreria para usar la función time()
#include<time.h>

Luego inicializar los números aleatorios incluyendo esto:
srand(time(NULL));

Luego guardar el número aleatorio en alguna parte:
num = rand();

Para ajustar el rango de número aleatorios podemos hacer varias cosas.

- Número aleatorios entre 0 y 50:
  num=rand()%51;

- Número aleatorios entre 1 y 100:
  num=1+rand()%(101-1);

- Número aleatorios entre 250 y 420:
  num=250+rand()%(421-250);

De forma general es:
variable = limite_inferior + rand() % (limite_superior +1 - limite_inferior) ;

Así que un programa que muestre 10 números aleatorios entre 1 y 10 quedaría así:

Serie de Fibonacci en C++

Una sucesión de Fibonacci es aquella cuya ley de recurrencia es: an = an-1 + an-2. Es decir, cada término de la sucesión se obtiene sumando los dos anteriores. Para empezar a construirla necesitamos, por tanto, dos números de partida, a1 y a2. De esta forma, a3 sería a2 + a1 ; a4 sería a3 + a2 y así sucesivamente.


La más conocida es la que tiene a1 = 1 y a2 = 1, cuyos términos son: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 ... números que son conocidos como Números de Fibonacci.

Los términos de cualquier sucesión de Fibonacci tienen la particularidad de que el cociente entre dos términos consecutivos se aproxima al Número de Oro (1.6180339887499...), es decir, el límite de los cocientes an+1/an tiende al Número de Oro cuando n tiende a infinito.

Además, las series de Fibonacci cumplen otras curiosas propiedades, como por ejemplo, que la suma de n términos es igual al término n+2 menos uno:

a1 + a2 + a3 + a4 + ..... + an-1 + an = an+2 - 1

Implementación

Árboles Binarios de Búsqueda en C++ | Recorrido por niveles (Amplitud)

Hola a todos en esta ocasión compartiré sobre este tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostraré la implementación en lenguaje de programación C++. Primero una breve introducción a árboles.

¿Qué es un árbol?


Un árbol es una estructura de datos no lineal puesto que cada elemento apunta a uno o varios elementos del mismo tipo; esto es dado un elemento, no hay un único camino a seguir. El elemento que apunta a otro es llamado padre, mientras que el elemento apuntado se conoce como hijo. Todos los elementos tienen un padre a excepción de la raíz. Puede decirse que un árbol esta formado por subárboles resaltando así su naturaleza recursiva.

¿Qué es un árbol binario?

Un árbol binario es aquel es el que cada elemento apunta como máximo a otros 2 elementos, comúnmente llamados hijo izquierdo y hijo derecho.

¿Qué es un árbol binario de búsqueda?

Un árbol binario de buque da o ABB, es un árbol binario en el cual para todo elemento, …