0votos

ejercicio de vectores de struct en Java

por alvaro sanz llorente hace 5 días

Así lo he hecho

alguien que me pueda ayudar a terminar este ejercicio ya hice una parte, es sobre el tema de vectores de struct

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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
package ejerciciodevectoresdestruct; 
 
public class producto { 
    int codigo; 
    float pcompra; 
    float pventa; 
    int cantidad; 
    public producto(int codigo, float pcompra, float pventa, int cantidad) { 
        this.codigo = codigo; 
        this.pcompra = pcompra; 
        this.pventa = pventa; 
        this.cantidad = cantidad; 
    public int getCodigo() { 
        return codigo; 
    public void setCodigo(int codigo) { 
        this.codigo = codigo; 
    public float getPcompra() { 
        return pcompra; 
    public void setPcompra(float pcompra) { 
        this.pcompra = pcompra; 
    public float getPventa() { 
        return pventa; 
    public void setPventa(float pventa) { 
        this.pventa = pventa; 
    public int getCantidad() { 
        return cantidad; 
    public void setCantidad(int cantidad) { 
        this.cantidad = cantidad; 
     
     
package ejerciciodevectoresdestruct; 
 
import java.util.*; 
 
public class Appproducto { 
 
    public static void registroproducto(ArrayList<producto> productos) { 
        Scanner sc = new Scanner(System.in); 
        int codigo = 0; 
        float pcompra; 
        float pventa; 
        int cantidad; 
        int cont=0; 
        System.out.println("Introduce codigo:"); 
        codigo = sc.nextInt(); 
        System.out.println("Introduce precio de compra:"); 
        pcompra = sc.nextFloat(); 
        System.out.println("Introduce precio de venta:"); 
        pventa = sc.nextFloat(); 
        System.out.println("Introduce cantidad:"); 
        cantidad = sc.nextInt(); 
         
        for(int f=0;f<productos.size();f++){ 
            if(codigo==productos.get(f).getCodigo()){ 
                cont++; 
        if(cont==1){ 
            System.out.println("ya existe el codigo del producto,debes introducir un codigo diferente"); 
             
        }else{ 
            producto p = new producto(codigo, pcompra, pventa, cantidad); 
            productos.add(p); 
            System.out.println("Insertado correctamente"); 
             
 
    public static void buscarproducto(ArrayList<producto> productos) { 
        Scanner sc = new Scanner(System.in); 
        int codigobuscar = 0; 
        int cont=0; 
        int cont2=0; 
        System.out.println("Introduce un codigo para buscar producto"); 
        codigobuscar = sc.nextInt(); 
 
        for (int f = 0; f < productos.size(); f++) { 
            if (productos.get(f).getCodigo() == codigobuscar) { 
                System.out.println(productos.get(f).getCodigo()); 
                System.out.println(productos.get(f).getPcompra()); 
                System.out.println(productos.get(f).getPventa()); 
                System.out.println(productos.get(f).getCantidad()); 
                 
            }else{ 
                cont++; 
        if(productos.size()==0){ 
            System.out.println("debes introducir algun producto,por que no hay producto"); 
             
        }else  if(cont==1){ 
            System.out.println("No existe ningun producto con ese codigo"); 
     
    public static void invierteycuantoseganaporlacomercializaciondecadaproducto(ArrayList<producto> productos){ 
        float inversionporproducto=0; 
        float ganaporproducto=0; 
        for (int f = 0; f < productos.size(); f++) { 
            inversionporproducto=productos.get(f).getCantidad()* productos.get(f).getPcompra(); 
            System.out.println(productos.get(f).getCodigo()+" se ha invertido "+inversionporproducto+"€"); 
            inversionporproducto=0; 
            ganaporproducto=productos.get(f).getCantidad()* productos.get(f).getPventa(); 
            System.out.println(productos.get(f).getCodigo()+" se ha ganado  "+ganaporproducto+"€"); 
         
         
    public static void productoconmasaltocosto(ArrayList<producto> productos) { 
        float mayor=0; 
         
        for(int f=0;f<productos.size();f++){ 
            if(mayor<productos.get(f).getPcompra()){ 
                mayor=productos.get(f).getPcompra(); 
        System.out.println("el producto con mas alto costo es"+mayor); 
         
    public static void inversiontotaldelaempresa(ArrayList<producto> productos) { 
        float inversiontotal=0; 
        for(int f=0;f<productos.size();f++){ 
            inversiontotal=productos.get(f).getPcompra()*productos.get(f).getCantidad(); 
        System.out.println("la inversion total de la empresa es "+inversiontotal); 
     
     
    public static void gananciatotaldelaempresa(ArrayList<producto> productos) { 
        float gananciatotal=0; 
        for(int f=0;f<productos.size();f++){ 
            gananciatotal=productos.get(f).getPventa()*productos.get(f).getCantidad(); 
        System.out.println("la ganancia total de la empresa es "+gananciatotal); 
    public static void preciopromedio(ArrayList<producto> productos) { 
        float promedio=0; 
        float promediofinal=0; 
        for(int f=0;f<productos.size();f++){ 
            promedio+=productos.get(f).getPventa(); 
            promediofinal=promedio/productos.size(); 
        System.out.println("el precio promedio de los productos es:"+promediofinal); 
    public static void actualizarlosdatos(ArrayList<producto> productos) { 
    int codigo=0; 
    int cont=0; 
    int posicion=0; 
    int nuevoprecio=0; 
    int nuevopreciodeventa=0; 
    int nuevacantidad=0; 
    Scanner sc = new Scanner(System.in); 
    System.out.println("Introduce el codigo del producto que quieres modificar");     
    codigo=sc.nextInt(); 
     
    System.out.println("Introduce el nuevo precio compra del producto ");     
    nuevoprecio=sc.nextInt(); 
     
    System.out.println("Introduce el nuevo precio de venta  del producto ");     
    nuevopreciodeventa=sc.nextInt(); 
     
    System.out.println("Introduce la nueva cantidad  del producto ");     
    nuevacantidad=sc.nextInt(); 
     
    for(int f=0;f<productos.size();f++){ 
        if(codigo==productos.get(f).getCodigo()){ 
            posicion=f; 
        }else{ 
            cont++; 
     
    if(cont==1){ 
        System.out.println("debes introducir un codigo de producto que exista"); 
    }else{ 
        productos.remove(posicion); 
        producto pn=new producto(codigo,nuevoprecio,nuevopreciodeventa,nuevacantidad); 
        productos.add(posicion,pn); 
        System.out.println("actualizado correctamente"); 
     
    public static void productostienencostoporencimadelpromedio(ArrayList<producto> productos){ 
        float promedio=0; 
        float promediofinal=0; 
        int cont=0; 
        for(int f=0;f<productos.size();f++){ 
            promedio+=productos.get(f).getPventa(); 
            promediofinal=promedio/productos.size(); 
        for(int f=0;f<productos.size();f++){ 
            if(productos.get(f).getPventa()> promediofinal){ 
                cont++; 
        System.out.println("hay "+cont+" productos que tienen un costo por encima del promedio"); 
public static void menu(){ 
    System.out.println("1-registro de productos"); 
    System.out.println("2-buscar un producto"); 
    System.out.println("3-determinar cuanto se invierte y cuanto se gana  por la comercializacion de cada producto"); 
    System.out.println("4-el producto con mas alto costo"); 
    System.out.println("5-la imbersion total de la empresa"); 
    System.out.println("6-la ganancia total de la empresa"); 
    System.out.println("7-el precio promedio de los productos"); 
    System.out.println("8-actualizar los datos de un producto excepto el codigo"); 
    System.out.println("9-determinar cuantos productos tienen costo por encima del promedio"); 
    System.out.println("10-salir"); 
    public static void main(String[] args) { 
        int opcion=0; 
        Scanner sc = new Scanner(System.in); 
        ArrayList<producto> productos = new ArrayList<producto>(); 
         
        while(opcion!=10){ 
            menu(); 
            System.out.println("Introduce opcion"); 
            opcion=sc.nextInt(); 
            switch(opcion){ 
            case 1: 
                registroproducto(productos); 
            break; 
             
            case 2: 
                 buscarproducto(productos); 
                break; 
                 
            case 3: 
                invierteycuantoseganaporlacomercializaciondecadaproducto(productos); 
                break; 
                 
            case 4: 
                productoconmasaltocosto(productos); 
                 
                break; 
            case 5: 
                inversiontotaldelaempresa(productos); 
                 
                break; 
                 
            case 6: 
                gananciatotaldelaempresa(productos); 
                break; 
                 
            case 7: 
                preciopromedio(productos); 
                 
                break; 
            case 8: 
                actualizarlosdatos(productos); 
                break; 
                 
            case 9: 
                productostienencostoporencimadelpromedio(productos);     
                 
            break; 
             
             
            case 10: 
            productos.clear(); 
            System.out.println("fin"); 
            break; 
             
            default: 
            System.out.println("Opcion Incorrecta,debes introducir un numero entre 1 y el 10"); 
            break; 
 
1 comentario
0votos

Escrito por karen Cuava hace 5 días

Gracias. Pero yo sólo sé trabajar hasta el momento en c++ todavía no manejo el lenguaje De java

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.