codigo
Publicado por sofia (1 intervención) el 10/06/2024 04:19:28
#include <iostream>
using namespace std;
struct categoria {
int ISBN, antiguedad;
string editorial, nombre;
float precio;
};
int opcion, tamanoa, tamanob, tamanoc, opcionanti, total, sumaa, sumab, sumac,
prome;
char opcioncate, mostrarca, eliminarcate;
categoria *catea = NULL, *cateb = NULL, *catec = NULL;
void ingreso(categoria a[], int t);
int promedio(categoria a[], int t);
void mostrarcate(categoria a[], int t);
void mostraranti(categoria a[], int t, int anti);
int main() {
do {
cout << endl << "Bienvenid@" << endl;
cout << "1. Ingresar información de una categoria específica" << endl;
cout << "2. Mostrar la información de todos los libros registrados" << endl;
cout
<< "3. Mostrar la información de los libros de una categoría específica"
<< endl;
cout << "4. Mostrar nombre y precio de los libros de una antigüedad "
"específica"
<< endl;
cout << "5. Ver precio promedio de los libros de la librería" << endl;
cout << "6. Eliminar información de una categoria específica" << endl;
cout << "7. Salir" << endl<<endl;
cin >> opcion;
switch (opcion) {
case 1: {
do {
cout << endl << "Seleccione la categoria: " << endl;
cout << "A. Escolar" << endl;
cout << "B. Ficción" << endl;
cout << "C. Novela" << endl;
cin >> opcioncate;
} while (opcioncate != 'A' && opcioncate != 'B' && opcioncate != 'C');
switch (opcioncate) {
case 'A': {
if (catea == NULL) {
do {
cout << "Cantidad de libros que se va a ingresar: ";
cin >> tamanoa;
} while (tamanoa < 0);
catea = new categoria[tamanoa];
ingreso(catea, tamanoa);
} else {
cout << "la categoria ya tiene datos, ";
cout << "si desea ingresar nueva infromacion ingrese a la opción 6"
<< endl;
}
} break;
case 'B': {
if (cateb == NULL) {
do {
cout << "Cantidad de libros que se va a ingresar: ";
cin >> tamanob;
} while (0 > tamanob);
cateb = new categoria[tamanob];
ingreso(cateb, tamanob);
} else {
cout << "la categoria ya tiene datos, ";
cout << "si desea ingresar nueva infromacion ingrese a la opción 6"
<< endl;
}
} break;
case 'C': {
if (catec == NULL) {
do {
cout << endl << "Cantidad de libros que se va a ingresar: ";
cin >> tamanoc;
} while (0 > tamanoc);
catec = new categoria[tamanoc];
ingreso(catec, tamanoc);
} else {
cout << "la categoria ya tiene datos, ";
cout << "si desea ingresar nueva infromacion ingrese a la opción 6"
<< endl;
}
} break;
}
} break;
case 2: {
if (catea == NULL) {
cout << endl << "*";
cout << endl << "la categoria A esta vacia" << endl;
cout << endl << "*";
} else {
cout << endl << "*";
cout << endl << "Categoria A: " << endl;
mostrarcate(catea, tamanoa);
cout << endl << "*";
}
if (cateb == NULL) {
cout << endl << "*";
cout << endl << "la categoria B esta vacia" << endl;
cout << endl << "*";
} else {
cout << endl << "*";
cout << endl << "Categoria B: " << endl;
mostrarcate(cateb, tamanob);
cout << endl << "*";
}
if (catec == NULL) {
cout << endl << "*";
cout << endl << "la categoria C esta vacia" << endl;
cout << endl << "*";
} else {
cout << endl << "*";
cout << "Categoria C:" << endl;
mostrarcate(catec, tamanoc);
cout << endl << "*";
}
} break;
case 3: {
do {
cout << "mostar los libros de la categoria: " << endl;
cout << "A. Escolar" << endl;
cout << "B. Ficción" << endl;
cout << "C. Novela" << endl;
cin >> mostrarca;
} while (mostrarca != 'A' && mostrarca != 'B' && mostrarca != 'C');
switch (mostrarca) {
case 'A': {
if (catea == NULL) {
cout << endl << "La categoria A esta vacia" << endl;
} else {
mostrarcate(catea, tamanoa);
}
} break;
case 'B': {
if (cateb == NULL) {
cout << endl << "La categoria B esta vacia" << endl;
} else {
mostrarcate(cateb, tamanob);
}
} break;
case 'C': {
if (catec == NULL) {
cout << endl << "La categoria C esta vacia" << endl;
} else {
mostrarcate(catec, tamanoc);
}
} break;
default: {
cout << "Ingrese una opción valida por favor" << endl;
}
}
} break;
case 4: {
do {
cout << "seleccione la antiduedad: " << endl;
cout << "1. Menos de un año" << endl;
cout << "2. De uno a tres años" << endl;
cout << "3. Mas de tres años" << endl << endl;
cin >> opcionanti;
} while (1 > opcionanti || opcionanti > 3);
switch (opcionanti) {
case 1: {
if (catea == NULL) {
cout << "No hay datos registrados en la categoria A" << endl;
} else {
mostraranti(catea, tamanoa, opcionanti);
}
if (cateb == NULL) {
cout << "No hay datos registrados en la categoria B" << endl;
} else {
mostraranti(cateb, tamanob, opcionanti);
}
if (catec == NULL) {
cout << "No hay datos registrados en la categoria C" << endl;
} else {
mostraranti(catec, tamanoc, opcionanti);
}
} break;
case 2: {
if (catea == NULL) {
cout << "No hay datos de antiguedad en la categoria A" << endl;
} else {
mostraranti(catea, tamanoa, opcionanti);
}
if (cateb == NULL) {
cout << "No hay datos de antiguedad en la categoria B" << endl;
} else {
mostraranti(cateb, tamanob, opcionanti);
}
if (catec == NULL) {
cout << "No hay datos de antiguedad en la categoria C" << endl;
} else {
mostraranti(catec, tamanoc, opcionanti);
}
} break;
case 3: {
if (catea == NULL) {
cout << "No hay datos de antiguedad en la categoria A" << endl;
} else {
mostraranti(catea, tamanoa, opcionanti);
}
if (cateb == NULL) {
cout << "No hay datos de antiguedad en la categoria B" << endl;
} else {
mostraranti(cateb, tamanob, opcionanti);
}
if (catec == NULL) {
cout << "No hay datos de antiguedad en la categoria C" << endl;
} else {
mostraranti(catec, tamanoc, opcionanti);
}
} break;
default: {
cout << "ingrese una opción valida" << endl;
}
}
} break;
case 5:
{
total = (tamanoa + tamanob + tamanoc);
if (catea == NULL) {
cout << "No hay datos en la categoria A" << endl;
}
else
{
sumaa = promedio(catea, tamanoa);
}
if (cateb == NULL) {
cout << "No hay datos en la categoria B" << endl;
} else
{
sumab = promedio(cateb, tamanob);
}
if (catec == NULL) {
cout << "No hay datos en la categoria C" << endl;
} else
{
sumac = promedio(catec, tamanoc);
}
prome = (sumaa + sumab + sumac) / total;
cout << "El promedio de todos los libros en libreria es de: " << prome
<< endl;
}
break;
case 6: {
do {
cout << "seleccione la categoria que desea eliminar: " << endl;
cout << endl << "Seleccione la categoria: " << endl;
cout << "A. Escolar" << endl;
cout << "B. Ficción" << endl;
cout << "C. Novela" << endl;
cin >> eliminarcate;
} while (eliminarcate != 'A' && eliminarcate != 'B' &&
eliminarcate != 'C');
switch (eliminarcate) {
case 'A': {
if (catea == NULL) {
cout << "La categoria esta vacia, no hay nada que eliminar" << endl;
} else {
delete[] catea;
catea = NULL;
cout << "los datos han sido eliminados correctamente :) " << endl
<< endl;
}
} break;
case 'B': {
if (cateb == NULL) {
cout << "La categoria esta vacia, no hay nada que eliminar" << endl;
} else {
delete[] cateb;
cateb = NULL;
cout << "los datos han sido eliminados correctamente :) " << endl
<< endl;
}
} break;
case 'C': {
if (catec == NULL) {
cout << "La categoria esta vacia, no hay nada que eliminar" << endl;
} else {
delete[] catec;
catec = NULL;
cout << "los datos han sido eliminados correctamente :) " << endl
<< endl;
}
} break;
default: {
cout << "ingrese una opción valida por favor " << endl;
}
}
} break;
default: {
cout << "ingrese una opción valida por favor" << endl;
}
}
} while (opcion != 7);
}
void ingreso(categoria a[], int t) {
for (int i = 0; i < t; i++) {
cout << endl << "----------------------------------" << endl;
cout << endl << "ingrese los datos del libro: " << i + 1 << endl;
do {
cout << endl << "ingrese el numero ISBN: ";
cin >> a[i].ISBN;
} while (1 > a[i].ISBN || a[i].ISBN > 9);
cout << endl << "ingrese el nombre del libro: ";
cin >> a[i].nombre;
do {
cout << endl << "ingrese el precio de venta: ";
cin >> a[i].precio;
} while (a[i].precio < 1);
cout << endl << "ingrese la editorial del libro: ";
cin >> a[i].editorial;
do {
cout << endl << "Seleccione la antiguedad del libro: " << endl;
cout << "1. Menos de un año" << endl;
cout << "2. De uno a tres años" << endl;
cout << "3. Mas de tres años" << endl << endl;
cin >> a[i].antiguedad;
} while (1 > a[i].antiguedad || a[i].antiguedad > 3);
cout << endl
<< "Datos del libro " << i + 1 << " registrados existosamente" << endl;
}
}
void mostrarcate(categoria a[], int t) {
for (int x = 0; x < t; x++) {
cout << endl << "----------------------------------" << endl;
cout << "libro " << x + 1 << endl;
cout << "Codigo ISBN: " << a[x].ISBN << endl;
cout << "Nombre: " << a[x].nombre << endl;
cout << "Precio: " << a[x].precio << endl;
cout << "Editorial: " << a[x].editorial << endl;
cout << "Antiguedad: " << a[x].antiguedad << endl;
}
}
void mostraranti(categoria a[], int t, int anti) {
for (int x = 0; x < t; x++) {
if (a[x].antiguedad == anti) {
cout << endl << "----------------------------------" << endl;
cout << "Nombre: " << a[x].nombre << endl;
cout << "Precio: " << a[x].precio << endl;
cout << endl << "----------------------------------" << endl;
}
}
}
int promedio(categoria a[], int t) {
int dato;
for (int x = 0; x < t; x++) {
dato = dato + a[x].precio;
}
return dato;
}
using namespace std;
struct categoria {
int ISBN, antiguedad;
string editorial, nombre;
float precio;
};
int opcion, tamanoa, tamanob, tamanoc, opcionanti, total, sumaa, sumab, sumac,
prome;
char opcioncate, mostrarca, eliminarcate;
categoria *catea = NULL, *cateb = NULL, *catec = NULL;
void ingreso(categoria a[], int t);
int promedio(categoria a[], int t);
void mostrarcate(categoria a[], int t);
void mostraranti(categoria a[], int t, int anti);
int main() {
do {
cout << endl << "Bienvenid@" << endl;
cout << "1. Ingresar información de una categoria específica" << endl;
cout << "2. Mostrar la información de todos los libros registrados" << endl;
cout
<< "3. Mostrar la información de los libros de una categoría específica"
<< endl;
cout << "4. Mostrar nombre y precio de los libros de una antigüedad "
"específica"
<< endl;
cout << "5. Ver precio promedio de los libros de la librería" << endl;
cout << "6. Eliminar información de una categoria específica" << endl;
cout << "7. Salir" << endl<<endl;
cin >> opcion;
switch (opcion) {
case 1: {
do {
cout << endl << "Seleccione la categoria: " << endl;
cout << "A. Escolar" << endl;
cout << "B. Ficción" << endl;
cout << "C. Novela" << endl;
cin >> opcioncate;
} while (opcioncate != 'A' && opcioncate != 'B' && opcioncate != 'C');
switch (opcioncate) {
case 'A': {
if (catea == NULL) {
do {
cout << "Cantidad de libros que se va a ingresar: ";
cin >> tamanoa;
} while (tamanoa < 0);
catea = new categoria[tamanoa];
ingreso(catea, tamanoa);
} else {
cout << "la categoria ya tiene datos, ";
cout << "si desea ingresar nueva infromacion ingrese a la opción 6"
<< endl;
}
} break;
case 'B': {
if (cateb == NULL) {
do {
cout << "Cantidad de libros que se va a ingresar: ";
cin >> tamanob;
} while (0 > tamanob);
cateb = new categoria[tamanob];
ingreso(cateb, tamanob);
} else {
cout << "la categoria ya tiene datos, ";
cout << "si desea ingresar nueva infromacion ingrese a la opción 6"
<< endl;
}
} break;
case 'C': {
if (catec == NULL) {
do {
cout << endl << "Cantidad de libros que se va a ingresar: ";
cin >> tamanoc;
} while (0 > tamanoc);
catec = new categoria[tamanoc];
ingreso(catec, tamanoc);
} else {
cout << "la categoria ya tiene datos, ";
cout << "si desea ingresar nueva infromacion ingrese a la opción 6"
<< endl;
}
} break;
}
} break;
case 2: {
if (catea == NULL) {
cout << endl << "*";
cout << endl << "la categoria A esta vacia" << endl;
cout << endl << "*";
} else {
cout << endl << "*";
cout << endl << "Categoria A: " << endl;
mostrarcate(catea, tamanoa);
cout << endl << "*";
}
if (cateb == NULL) {
cout << endl << "*";
cout << endl << "la categoria B esta vacia" << endl;
cout << endl << "*";
} else {
cout << endl << "*";
cout << endl << "Categoria B: " << endl;
mostrarcate(cateb, tamanob);
cout << endl << "*";
}
if (catec == NULL) {
cout << endl << "*";
cout << endl << "la categoria C esta vacia" << endl;
cout << endl << "*";
} else {
cout << endl << "*";
cout << "Categoria C:" << endl;
mostrarcate(catec, tamanoc);
cout << endl << "*";
}
} break;
case 3: {
do {
cout << "mostar los libros de la categoria: " << endl;
cout << "A. Escolar" << endl;
cout << "B. Ficción" << endl;
cout << "C. Novela" << endl;
cin >> mostrarca;
} while (mostrarca != 'A' && mostrarca != 'B' && mostrarca != 'C');
switch (mostrarca) {
case 'A': {
if (catea == NULL) {
cout << endl << "La categoria A esta vacia" << endl;
} else {
mostrarcate(catea, tamanoa);
}
} break;
case 'B': {
if (cateb == NULL) {
cout << endl << "La categoria B esta vacia" << endl;
} else {
mostrarcate(cateb, tamanob);
}
} break;
case 'C': {
if (catec == NULL) {
cout << endl << "La categoria C esta vacia" << endl;
} else {
mostrarcate(catec, tamanoc);
}
} break;
default: {
cout << "Ingrese una opción valida por favor" << endl;
}
}
} break;
case 4: {
do {
cout << "seleccione la antiduedad: " << endl;
cout << "1. Menos de un año" << endl;
cout << "2. De uno a tres años" << endl;
cout << "3. Mas de tres años" << endl << endl;
cin >> opcionanti;
} while (1 > opcionanti || opcionanti > 3);
switch (opcionanti) {
case 1: {
if (catea == NULL) {
cout << "No hay datos registrados en la categoria A" << endl;
} else {
mostraranti(catea, tamanoa, opcionanti);
}
if (cateb == NULL) {
cout << "No hay datos registrados en la categoria B" << endl;
} else {
mostraranti(cateb, tamanob, opcionanti);
}
if (catec == NULL) {
cout << "No hay datos registrados en la categoria C" << endl;
} else {
mostraranti(catec, tamanoc, opcionanti);
}
} break;
case 2: {
if (catea == NULL) {
cout << "No hay datos de antiguedad en la categoria A" << endl;
} else {
mostraranti(catea, tamanoa, opcionanti);
}
if (cateb == NULL) {
cout << "No hay datos de antiguedad en la categoria B" << endl;
} else {
mostraranti(cateb, tamanob, opcionanti);
}
if (catec == NULL) {
cout << "No hay datos de antiguedad en la categoria C" << endl;
} else {
mostraranti(catec, tamanoc, opcionanti);
}
} break;
case 3: {
if (catea == NULL) {
cout << "No hay datos de antiguedad en la categoria A" << endl;
} else {
mostraranti(catea, tamanoa, opcionanti);
}
if (cateb == NULL) {
cout << "No hay datos de antiguedad en la categoria B" << endl;
} else {
mostraranti(cateb, tamanob, opcionanti);
}
if (catec == NULL) {
cout << "No hay datos de antiguedad en la categoria C" << endl;
} else {
mostraranti(catec, tamanoc, opcionanti);
}
} break;
default: {
cout << "ingrese una opción valida" << endl;
}
}
} break;
case 5:
{
total = (tamanoa + tamanob + tamanoc);
if (catea == NULL) {
cout << "No hay datos en la categoria A" << endl;
}
else
{
sumaa = promedio(catea, tamanoa);
}
if (cateb == NULL) {
cout << "No hay datos en la categoria B" << endl;
} else
{
sumab = promedio(cateb, tamanob);
}
if (catec == NULL) {
cout << "No hay datos en la categoria C" << endl;
} else
{
sumac = promedio(catec, tamanoc);
}
prome = (sumaa + sumab + sumac) / total;
cout << "El promedio de todos los libros en libreria es de: " << prome
<< endl;
}
break;
case 6: {
do {
cout << "seleccione la categoria que desea eliminar: " << endl;
cout << endl << "Seleccione la categoria: " << endl;
cout << "A. Escolar" << endl;
cout << "B. Ficción" << endl;
cout << "C. Novela" << endl;
cin >> eliminarcate;
} while (eliminarcate != 'A' && eliminarcate != 'B' &&
eliminarcate != 'C');
switch (eliminarcate) {
case 'A': {
if (catea == NULL) {
cout << "La categoria esta vacia, no hay nada que eliminar" << endl;
} else {
delete[] catea;
catea = NULL;
cout << "los datos han sido eliminados correctamente :) " << endl
<< endl;
}
} break;
case 'B': {
if (cateb == NULL) {
cout << "La categoria esta vacia, no hay nada que eliminar" << endl;
} else {
delete[] cateb;
cateb = NULL;
cout << "los datos han sido eliminados correctamente :) " << endl
<< endl;
}
} break;
case 'C': {
if (catec == NULL) {
cout << "La categoria esta vacia, no hay nada que eliminar" << endl;
} else {
delete[] catec;
catec = NULL;
cout << "los datos han sido eliminados correctamente :) " << endl
<< endl;
}
} break;
default: {
cout << "ingrese una opción valida por favor " << endl;
}
}
} break;
default: {
cout << "ingrese una opción valida por favor" << endl;
}
}
} while (opcion != 7);
}
void ingreso(categoria a[], int t) {
for (int i = 0; i < t; i++) {
cout << endl << "----------------------------------" << endl;
cout << endl << "ingrese los datos del libro: " << i + 1 << endl;
do {
cout << endl << "ingrese el numero ISBN: ";
cin >> a[i].ISBN;
} while (1 > a[i].ISBN || a[i].ISBN > 9);
cout << endl << "ingrese el nombre del libro: ";
cin >> a[i].nombre;
do {
cout << endl << "ingrese el precio de venta: ";
cin >> a[i].precio;
} while (a[i].precio < 1);
cout << endl << "ingrese la editorial del libro: ";
cin >> a[i].editorial;
do {
cout << endl << "Seleccione la antiguedad del libro: " << endl;
cout << "1. Menos de un año" << endl;
cout << "2. De uno a tres años" << endl;
cout << "3. Mas de tres años" << endl << endl;
cin >> a[i].antiguedad;
} while (1 > a[i].antiguedad || a[i].antiguedad > 3);
cout << endl
<< "Datos del libro " << i + 1 << " registrados existosamente" << endl;
}
}
void mostrarcate(categoria a[], int t) {
for (int x = 0; x < t; x++) {
cout << endl << "----------------------------------" << endl;
cout << "libro " << x + 1 << endl;
cout << "Codigo ISBN: " << a[x].ISBN << endl;
cout << "Nombre: " << a[x].nombre << endl;
cout << "Precio: " << a[x].precio << endl;
cout << "Editorial: " << a[x].editorial << endl;
cout << "Antiguedad: " << a[x].antiguedad << endl;
}
}
void mostraranti(categoria a[], int t, int anti) {
for (int x = 0; x < t; x++) {
if (a[x].antiguedad == anti) {
cout << endl << "----------------------------------" << endl;
cout << "Nombre: " << a[x].nombre << endl;
cout << "Precio: " << a[x].precio << endl;
cout << endl << "----------------------------------" << endl;
}
}
}
int promedio(categoria a[], int t) {
int dato;
for (int x = 0; x < t; x++) {
dato = dato + a[x].precio;
}
return dato;
}
Valora esta pregunta


0