C/Visual C - como eliminar los datos del producto segun su codigo

 
Vista:

como eliminar los datos del producto segun su codigo

Publicado por jose (2 intervenciones) el 03/10/2020 03:09:30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
struct Producto{
 int codigo;
 string nombre;
 string descripcion;
 string presentacion;
float precio;
};
 
void menu();
void ingresar(vector<Producto> &v);
void modificar(vector<Producto> &v, int i);
int buscar(vector<Producto> v, int cod);
void mostrar(vector<Producto> v, int i);
void eliminar(vector<Producto> &v);
 
void menu(){
	   printf("\n----MENU DE OPCIONES----"
	         "\n***********************"
			 "\n1.- Ingresar Producto"
			 "\n2.- Modificar Producto"
			 "\n3.- Buscar Producto"
			 "\n4.- Eliminar Producto"
			 "\n5.- Salir"
			 "\n***********************"
			 "\nSU OPCION: ");
		}
 
 int main(){
int cod, id;
int opcion;
vector<Producto> productos;
 
do {
 menu();
		scanf( "%s",&opcion);
  			switch(opcion) {
				case '1':
 					ingresar(productos);
 					break;
 				case '2':
 					printf("\nCodigo a modificar: ");
					scanf("%d",&cod);
 					id = buscar(productos, cod);
  						if (id != -1) {
  							system("cls");
 						mostrar(productos, id);
						  modificar(productos, id);
									} 	else
 							printf("\n\nPRODUCTO NO ENCONTRADO");
 										break;
				case '3':
 					printf( "\nCodigo a buscar: ");
					scanf("%d",&cod);
 
 					id = buscar(productos, cod);
 					if (id != -1) mostrar(productos, id);
 
 					else
					  printf("\n\nPRODUCTO NO ENCONTRADO" );
 						break;
				case '4':
 					eliminar(productos);
 						break;
				case '5':
 					printf("\n\nFIN DEL PROGRAMA");
					 return EXIT_SUCCESS;
  					default:
						printf("\n\nOPCION NO VALIDA"); break;
			}
 } while (opcion >= 5);
 return 0;}
 
 
 
void ingresar(vector<Producto> &v)
{
	system("cls");
 Producto p;
	printf( "\nNuevo Producto:\n");
 
		printf("Codigo: ");
			cin >> p.codigo;
			cin.ignore(80, '\n');
 		printf("Nombre: ");
			getline(cin, p.nombre);
		printf("Descripcion: ");
 			getline(cin, p.descripcion);
 		printf("Presentacion: ");
			getline(cin, p.presentacion);
		printf("Precio: ");
		cin>>p.precio;
 		v.push_back(p);
 		system("cls");
}
 
 void modificar(vector<Producto> &v,int i)
{
 
 			cin.ignore(80, '\n');
		printf( "\n\nNuevo Nombre: ");
 			getline(cin, v[i].nombre);
	    printf( "Nueva Descripcion: ");
			getline(cin, v[i].descripcion);
		printf( "Nueva Presentacion: ");
			getline(cin, v[i].presentacion);
 		printf( "Nuevo Precio: ");
		 scanf("%f",&v[i].precio);
		 system("cls");
		 }
 
int buscar(vector<Producto> v, int cod)
{
	int pos = 0;
  	while (pos < v.size() && v[pos].codigo != cod)
	  pos++;
	if (pos >= v.size())
	  pos = -1;
  	return pos;
 }
 
 void mostrar(vector<Producto> v, int i)
{
 
   cout << "\nNombre: "
 		<< v[i].nombre
		<< "\nDescripcion: "
		<< v[i].descripcion
		<< "\nPresentacion: "
		<< v[i].presentacion
		<< "\nPreccio: "
		<< v[i].precio << endl;
 
}
 
void eliminar(vector<Producto> &v)
{
 
 
 }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 367
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

como eliminar los datos del producto segun su codigo

Publicado por Rodrigo (108 intervenciones) el 03/10/2020 05:07:40
Usa tu funcion buscar() para encontrar el indice del elemento a borrar.
Luego borras del vector, usando el indice, si el elemento esta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar