Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: uriel lopez en 12 Enero 2022, 01:25 am



Título: me ayudan a hacer que ande esto que usa vectores
Publicado por: uriel lopez en 12 Enero 2022, 01:25 am
este es el programa andaba hasta que le puse un vector en la variable nombre y eso hizo que no ande nada
alguien sabe que es lo que estoy haciendo mal
todo lo que tenga que ver con esta variable me salta error
ha cique creo que por ejemplo ves de ir cin<<nombre; se tiene que usar otra cosa pero no encuentro que usar

Código
  1. #include<iostream>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.  
  9. double nombre[100];
  10. int i=0, par;
  11. double codigo, precio, stock_actual, stock_minimo, promedio, stock, ABC;
  12.  
  13.  
  14. cin>>nombre;
  15. while(i < 100 && nombre!=-1);{
  16.  
  17.  
  18. i= i +1;
  19.  
  20. cin>>nombre;
  21. cin>>precio;
  22. cin>>codigo;
  23. cin>>stock_actual;
  24. cin>>stock_minimo;
  25.  
  26. if(stock_actual<stock_minimo){
  27. stock++;
  28. }
  29.  
  30. cout<<"Ingrese un producto: ";
  31. cin>>nombre;
  32.  
  33.  
  34. if(codigo/2==0){
  35. cout<<"El numero es par";
  36. }
  37. }
  38. {
  39.  
  40.  
  41. cout<<"el stock que se encuentra por debajo del stock minomo es: "<<stock<<endl;
  42.  
  43. }
  44.  
  45.  
  46. }

MOD: El código debe ir entre etiquetas de Código GeSHi


Título: Re: me ayudan a hacer que ande esto que usa vectores
Publicado por: dario01dr en 12 Enero 2022, 04:13 am
Hola, la variable nombre es de tipo string, debes declararla como tal no como double.
Cuantos datos vas a almacenar.
Salu2.


Título: Re: me ayudan a hacer que ande esto que usa vectores
Publicado por: MAFUS en 12 Enero 2022, 08:19 am
Dime de forma detallada qué debe hacer el programa y después, en cada instrucción del algoritmo, comenta qué hace.

Lo digo porque en el código que has mostrado no puedo ver la idea.


Título: Re: me ayudan a hacer que ande esto que usa vectores
Publicado por: uriel lopez en 12 Enero 2022, 17:10 pm
lo que trato de decir es que es un programa en el que pueda almacenar información de todos sus productos, que se irán cargando desde teclado. La dietética tiene como máximo 100 productos. La carga se realiza hasta que se lee el código de producto -1, el cual no debe procesarse. De cada producto se conoce precio, código, nombre, stock actual y stock mínimo.
y para calcular el precio promedio de todos los productos primero tengo que guardar lo que ingrese el usuario y eso lo estaba haciendo con un vector


Título: Re: me ayudan a hacer que ande esto que usa vectores
Publicado por: K-YreX en 12 Enero 2022, 18:30 pm
Ese código está muy muy verde y hay algunos errores conceptuales muy básicos como ya ha comentado otro usuario:
  • Te piden parar cuando el codigo introducido sea -1. Sin embargo, tú estás mezclando código (double) y nombre (double[] pero que debería ser string).
  • Tienes una variable 'par' que no usas. Además la comprobación de la línea 34 es incorrecta. Un número no es par cuando el cociente de dividirlo entre 2 sea 0, sino el resto.
  • Las variables codigo y stock... no pintan muy bien como double (aunque podría ser pero me parece muy raro que sea el caso). No creo que tengas 1.55555 productos con código 10.12345, no??

Lo suyo para tener un código más organizado sería usar un struct (o class ya que estamos en C++):
Código
  1. // Un 'Producto' se compone de los siguientes atributos
  2. struct Producto {
  3.  string nombre;
  4.  int codigo;
  5.  float precio;
  6.  int stockActual;
  7.  int stockMinimo
  8. };
  9.  
  10. // Te dicen que como mucho puede haber 100 productos:
  11. const int MAX_PRODUCTOS = 100;
  12.  
  13. // Y ahora ya empezamos el programa en si
  14. int main() {
  15.  Producto productos[MAX_PRODUCTOS]; // Array de productos para guardar cada uno de ellos
  16.  int numProductos = 0; // Variable para saber cuantos productos tenemos guardados
  17.  
  18.  // Ahora hay que pedir un codigo. Si es -1 no hacer nada y en caso contrario seguir pidiendo datos:
  19.  int codigo;
  20.  do {
  21.    cout << "Introduce un codigo: ";
  22.    cin >> codigo;
  23.  
  24.    if(codigo != -1) {
  25.      productos[numProductos].codigo = codigo;
  26.      // Aqui deberas seguir pidiendo datos y guardandolos en el elemento correspondiente del array
  27.      //...
  28.      // Al final tendras que aumentar el contador
  29.      ++numProductos;
  30.    }
  31.  } while(codigo != -1 && numProductos < MAX_PRODUCTOS); // Cuando alguna de las condiciones sea falsa, se dejaran de pedir productos
  32.  
  33.  // Y ahora ya puedes recorrer el array de productos y hacer los calculos que te pidan:
  34.  for(int i = 0; i < numProductos; ++i) {
  35.    //...
  36.  }
  37.  //...
  38. }

PD: Revisa las siguientes funciones:
Código
  1. cin.getline(char_array);
  2. getline(cin, string_var);
Seguro que te servirán...  :silbar: :silbar:


Título: Re: me ayudan a hacer que ande esto que usa vectores
Publicado por: uriel lopez en 12 Enero 2022, 22:29 pm
muchas gracias :D por ayudarme
una consulta en el párrafo 3 es normal que este sin color ? por que justo hay me sale error y tenia el mismo error en el programa que hice yo antes que lo haya mandado por acá


Título: Re: me ayudan a hacer que ande esto que usa vectores
Publicado por: K-YreX en 16 Enero 2022, 13:33 pm
muchas gracias :D por ayudarme
una consulta en el párrafo 3 es normal que este sin color ? por que justo hay me sale error y tenia el mismo error en el programa que hice yo antes que lo haya mandado por acá
No sé a qué te refieres con párrafo 3...
Si puedes especificar un poco más la porción de código que indicas... :silbar: