Está en la página 1de 8

Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

Práctica No. 3.3: Venta de CD’s


Escribir un programa en Lenguaje C:
1. Se requiere almacenar datos de una colección de discos compactos (CD) de música. Estos datos
serán: título, artista, número de canciones, precio y fecha de compra. Para ello necesitará crear dos
estructuras:
a) La estructura Fecha que tenga como enteros: año, mes y día.
b) La estructura Disco que tenga: arreglo de caracteres para el título y artista, un entero para el
número de canciones, un flotante para el precio y la fecha de creación
2. Para uso de las estructuras anteriores escriba las siguientes funciones:
a) Función que permita solicitar al usuario los datos, cuyo prototipo sería:
b) Una función que muestre en pantalla los datos de un CD
c) Una función que calcule un descuento del 25% del precio de un CD
d) Escriba una función que reciba un arreglo de CD’s y realice la suma de sus precios de venta.
3. Declare en el main un arreglo de 5 estructuras CD, las cuales el usuario podrá usar a través de
un menú que contengas las opciones de:
a. Ingresar datos
b. Mostrar datos
c. Aplicar descuento
d. Obtener ganancia (suma).

 Código
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <clocale>

/*
* Este programa es capaz de asignar datos a cinco diferentes discos
* utilizando el tipo de variable "struct"
*/

using namespace std;

struct Fecha{ // Esctructura de la Fecha del disco


int Anio = 0;
int Mes = 0;
int Dia = 0;
};
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

struct Disco{ // Esctructura de los datos del disco anidando "Fecha"


char Titulo[32] = {'\0'};
char Artista[32] = {'\0'};
int NumCan = 0;
float Precio = 0;
struct Fecha F;
};

void Menu(); // Función que muestra el menu del programa


void Ingresar(Disco V[5]); // Función encargada de ingresar los datos de los discos
void Mostrar(Disco V[5]); // Función encargada de mostrar los datos de los discos
void Descuento(Disco V[5]); // Función encargada de aplicar un descuento a un disco
void Ganancia(Disco V[5]); // Función encargada de calcular la ganancia de los discos

int main()
{
setlocale(LC_CTYPE,"Spanish"); // Comando que permite mostrar la letra 'Ñ' o acentos

struct Disco Disc[5]; // Arreglo de 5 estructuras Disco


char Q = '0'; // Variable para elegir en el menú

do
{
Menu();
Q = getch();

switch(Q)
{
case 'a': case 'A':
Ingresar(Disc);
break;

case 'b': case 'B':


Mostrar(Disc);
break;

case 'c': case 'C':


Descuento(Disc);
break;

case 'd': case 'D':


Ganancia(Disc);
break;

case 'e': case 'E':


break;

default: cout << "Selecciona una de las opciones mostradas.";


getch();
}
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

}while ((Q != 'e') && (Q != 'E'));

return 0;
}

void Menu()
{
system("cls");
cout << "Tienda de Discos" << "\n\n";
cout << "a. Ingresar Datos" << "\n";
cout << "b. Mostrar Datos" << "\n";
cout << "c. Aplicar Descuentos del 25%" << "\n";
cout << "d. Obtener ganancia" << "\n";
cout << "e. Salir" << "\n\n";
}

void Ingresar(Disco V[5])


{

for (int i = 0; i < 5; i++)


{
system("cls");

cout << "Tienda de Discos" << "\n\n";

cout << "Ingrese los datos del Disco " << i + 1 << "\n\n";
cout << "Ingrese año de creación: " ;
cin >> V[i].F.Anio;
cout << "Ingrese mes de creación: ";
cin >> V[i].F.Mes;
cout << "Ingrese día de creación: ";
cin >> V[i].F.Dia;

cout << "Ingrese el nombre del disco: ";


fflush(stdin);
gets (V[i].Titulo);
cout << "Ingrese el nombre del artista: ";
fflush(stdin);
gets (V[i].Artista);
cout << "Ingrese el número de canciones del disco: ";
cin >> V[i].NumCan;
cout << "Ingrese el precio del Disco: ";
cin >> V[i].Precio;

}
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

void Mostrar(Disco V[5])


{
system("cls");

int x;

system("cls");

cout << "Tienda de Discos" << "\n\n";

cout << "Elige el disco para mostrar los datos: ";


cin >> x;

cout << "Disco " << x << "\n\n";

cout << "Nombre del disco: " << V[x-1].Titulo;


cout << "\n" << "Nombre del artista: " << V[x-1].Artista;
cout << "\n" << "Número de canciones del disco: " << V[x-1].NumCan;
cout << "\n" << "Precio del Disco: " << V[x-1].Precio;
cout << "\n" << "Fecha de creación: " << V[x-1].F.Anio << "/" << V[x-1].F.Mes << "/" << V[x-
1].F.Dia << "\n\n";

cout << "Presiona cualquier tecla para continuar";


getch();
}

void Descuento(Disco V[5])


{
int x;

system("cls");

cout << "Tienda de Discos" << "\n\n";

cout << "Elige el disco a aplicar el descuento: ";


cin >> x;

V[x-1].Precio = V[x-1].Precio * 0.75;

cout << "Al disco " << x << " se le ha aplicado el descuento de 25%.";
getch();
}
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

void Ganancia(Disco V[5])


{
float Suma = 0;

system("cls");

cout << "Tienda de Discos" << "\n\n";

for(int i = 0; i < 5; i++)


{
Suma = Suma + V[i].Precio;
}

cout << "La ganancia obtenida por los 5 discos es: " << Suma;

getch();
}
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

 Resultado
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020
Martínez Maldonado Sebastián Grupo: 1MV1 23/11/2020

También podría gustarte