
Hola mi codigo debe imprimir una lista, debe usar l estructura y no me compila :c
Publicado por Mayela (1 intervención) el 18/10/2022 07:25:51
#include <iostream>
#include <conio.h>
#include <string.h>
#include <string>
#include <stdio.h>
using namespace std;
struct mefisto
{
string nombre, descripcion, genero, clasificacion;
int numart, n, anio;
//n=numero de serie
float preciou, iva, total;
};
int main()
{
mefisto compras[3];
int opc, buscar;
do {
printf("\t***MENU***\n");
printf("1.-Agregar Articulo \n 2.-Modificar Articulo\n 3.-Eliminar Articulo\n 4.-Lista Articulo\n 5.-Limpiar Pantalla\n 6.-Salir\n");
scanf_s(" % d", &opc);
switch (opc)
{
case 1://agregar articulo
for (int i = 0; i < 3; i++)
{
compras[i].numart = 0001 + i;
printf("Numart:%d \n", compras[i].numart);
int salida = 1;
do
{
printf("ingrese Numero de art \n");
scanf_s("%d", &compras[i].numart);
} while (compras[i].numart == compras[i - 1].numart || compras[i].numart == compras[i - 2].numart);
//Datos
printf("ingrese el nombre\n");
cin.ignore();
getline(cin, compras[i].nombre);
printf("ingrese el descripcion\n");
cin.ignore();
getline(cin, compras[i].descripcion);
printf("ingrese el genero\n");
cin.ignore();
getline(cin, compras[i].genero);
printf("ingrese el casificacion\n");
cin.ignore();
getline(cin, compras[i].clasificacion);
//gastos
printf("ingrese el subtotal \n");
scanf_s("%f", &compras[i].preciou);
compras[i].iva = compras[i].preciou * .16;
compras[i].total = compras[i].preciou + compras[i].iva;
system("cls"); //tengo duda si poner return y cls
return main();
}
break;
case 2://midificar articulo
break;
case 3://eliminar
break;
case 4://lista de articulos
//usamos otro switch
int opc2;
printf("1.-Numero de articulo\n2.-Lista vigente\n");
scanf_s("%d", &opc2);
if (opc2 == 1)
{
printf("ingrese el numero de articulo");
scanf_s("%d", &buscar);
//imprimirlista
for (int i = 0; i < 3; i++)
{
if (buscar == compras[i].numart)
{
printf("Codigo de barras:%d \n", compras[i].n);
printf("Numero de articulo:%d \n", compras[i].numart);
printf("nombre:%s \n",compras[i].nombre.c_str());
printf("Descripcion:%s \n",compras[i].descripcion.c_str());
printf("genero: %s \n",compras[i].genero.c_str());
printf("casificacion: %s \n",compras[i].clasificacion.c_str());
//gastos
printf("precio unitario:%f \n",compras[i].preciou);
printf("iva: %f \n", compras[i].iva);
printf("total %f \n", compras[i].total);
}
}
}
else
{
for (int i = 0; i < 3; i++)
{
if (compras[i].numart == !0)
{
printf("Codigo de barras:%d \n", compras[i].n);
printf("Numero de articulo:%d \n", compras[i].numart);
printf("nombre:%s \n", compras[i].nombre.c_str());
printf("Descripcion:%s \n", compras[i].descripcion.c_str());
printf("genero: %s \n", compras[i].genero.c_str());
printf("casificacion: %s \n", compras[i].clasificacion.c_str());
//gastos
printf("precio unitario:%f \n", compras[i].preciou);
printf("iva: %f \n", compras[i].iva);
printf("total %f \n", compras[i].total);
}
}
}
return main();
break;
case 5://limpiar pantalla
system("cls"); //la diferencia del clean es que este se usa en web y cls en visual
return main();
break;
case 6://Salir
printf("\t * *Gracias por consultar la_casa_de_mefisto***");
break;
default:
cout << "\t***POR FAVOR INGRESE UNA OPCION VALIDA***\n:";
return main();
}
}
while(opc != 5);
system("pause");
}
#include <conio.h>
#include <string.h>
#include <string>
#include <stdio.h>
using namespace std;
struct mefisto
{
string nombre, descripcion, genero, clasificacion;
int numart, n, anio;
//n=numero de serie
float preciou, iva, total;
};
int main()
{
mefisto compras[3];
int opc, buscar;
do {
printf("\t***MENU***\n");
printf("1.-Agregar Articulo \n 2.-Modificar Articulo\n 3.-Eliminar Articulo\n 4.-Lista Articulo\n 5.-Limpiar Pantalla\n 6.-Salir\n");
scanf_s(" % d", &opc);
switch (opc)
{
case 1://agregar articulo
for (int i = 0; i < 3; i++)
{
compras[i].numart = 0001 + i;
printf("Numart:%d \n", compras[i].numart);
int salida = 1;
do
{
printf("ingrese Numero de art \n");
scanf_s("%d", &compras[i].numart);
} while (compras[i].numart == compras[i - 1].numart || compras[i].numart == compras[i - 2].numart);
//Datos
printf("ingrese el nombre\n");
cin.ignore();
getline(cin, compras[i].nombre);
printf("ingrese el descripcion\n");
cin.ignore();
getline(cin, compras[i].descripcion);
printf("ingrese el genero\n");
cin.ignore();
getline(cin, compras[i].genero);
printf("ingrese el casificacion\n");
cin.ignore();
getline(cin, compras[i].clasificacion);
//gastos
printf("ingrese el subtotal \n");
scanf_s("%f", &compras[i].preciou);
compras[i].iva = compras[i].preciou * .16;
compras[i].total = compras[i].preciou + compras[i].iva;
system("cls"); //tengo duda si poner return y cls
return main();
}
break;
case 2://midificar articulo
break;
case 3://eliminar
break;
case 4://lista de articulos
//usamos otro switch
int opc2;
printf("1.-Numero de articulo\n2.-Lista vigente\n");
scanf_s("%d", &opc2);
if (opc2 == 1)
{
printf("ingrese el numero de articulo");
scanf_s("%d", &buscar);
//imprimirlista
for (int i = 0; i < 3; i++)
{
if (buscar == compras[i].numart)
{
printf("Codigo de barras:%d \n", compras[i].n);
printf("Numero de articulo:%d \n", compras[i].numart);
printf("nombre:%s \n",compras[i].nombre.c_str());
printf("Descripcion:%s \n",compras[i].descripcion.c_str());
printf("genero: %s \n",compras[i].genero.c_str());
printf("casificacion: %s \n",compras[i].clasificacion.c_str());
//gastos
printf("precio unitario:%f \n",compras[i].preciou);
printf("iva: %f \n", compras[i].iva);
printf("total %f \n", compras[i].total);
}
}
}
else
{
for (int i = 0; i < 3; i++)
{
if (compras[i].numart == !0)
{
printf("Codigo de barras:%d \n", compras[i].n);
printf("Numero de articulo:%d \n", compras[i].numart);
printf("nombre:%s \n", compras[i].nombre.c_str());
printf("Descripcion:%s \n", compras[i].descripcion.c_str());
printf("genero: %s \n", compras[i].genero.c_str());
printf("casificacion: %s \n", compras[i].clasificacion.c_str());
//gastos
printf("precio unitario:%f \n", compras[i].preciou);
printf("iva: %f \n", compras[i].iva);
printf("total %f \n", compras[i].total);
}
}
}
return main();
break;
case 5://limpiar pantalla
system("cls"); //la diferencia del clean es que este se usa en web y cls en visual
return main();
break;
case 6://Salir
printf("\t * *Gracias por consultar la_casa_de_mefisto***");
break;
default:
cout << "\t***POR FAVOR INGRESE UNA OPCION VALIDA***\n:";
return main();
}
}
while(opc != 5);
system("pause");
}
Valora esta pregunta


0