Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: imperial7 en 22 Agosto 2011, 05:38 am



Título: problema con ciclo for!!! en visual c++ 2010
Publicado por: imperial7 en 22 Agosto 2011, 05:38 am
¿por que se salta el ciclo for?

hola a todos!
 tengo un problema con la parte del ciclo for, ya que cuando se ejecuta el programa, se lo salta todo. que´puedo hacer??
 alguien que me ayude.
 
void inserta_modelo(empresa empresas[], int cont)
 {
 char emp[5]; //el nombre que entre en consola
 //cont = 0; // donde pretendemos guardar la posicion de la empresa en base_datos
 //cout<<"============================…
//cout<<"| Insercion de modelo |"<<endl;
 //cout<<"|___________________________…
//cout<<"| Para ingresar el modelo es necesario que indique el nombre |"<<endl;
 //cout<<"| de la empresa en la que lo quiere ingresar: "<<endl;
cin>>emp;
cout<< empresas[cont].cant_modelo;
 for (int i = 0; i<empresas[cont].cant_modelo;i++){
 char temporal[5];
cout<<" ****** absurda";
strcpy(temporal, empresas[cont].nombre);

 if (strcmp(temporal,emp) == 0){
 char descripcion[50];
 int cantidad;
 int precio;
 int codigo_barras;
 cout<<"============================…
cout<<"| El nombre de la empresa es correcto, ahora puede ingresar"<<endl;
 cout<<"| los datos del modelo "<<endl;
 cout<<"|_________________________"<…
cout<<"| descripcion del modelo: "<<endl;
 cin>>descripcion;
 cout<<"| cantidad de articulos disponibles: "<<endl;
 cin>>cantidad;
 cout<<"| precio para el cliente: "<<endl;
 cin>>precio;
 cout<<"| codigo de referencia: "<<endl;
 cin>>codigo_barras;
 int nuevo_modelo = empresas[cont].cant_modelo;
 

empresas[cont].cant_modelo = nuevo_modelo++; //aumenta la cantidad de modelos de esa empresa
 model [cont].descripcion[nuevo_modelo];// descripcion; //asigna la descripcion del modelo que se esta ingresando
 empresas[cont].lista[nuevo_modelo].… = precio; //asigna el precio del modelo que se esta ingresando
 empresas[cont].lista[nuevo_modelo].… = cantidad; //asigna la cantidad disponible del modelo que se esta ingresando
 empresas[cont].lista[nuevo_modelo].… = codigo_barras; //asigna el codigo
}

 }
 cont++;
 getch();
 
cout<< "modelo numero: "<<endl;
 cout << cont<<endl;
 cout<<"Presione cualquier tecla para continuar..."<<endl;
 getch();
 
}
 si alguien me puede ayudar y necesita todo el codigo, aqui esta mi correo, dengo_13_@hotmail.com
 es urgente!!!!
 

graciaas
 
felipe dengo


Título: Re: problema con ciclo for!!! en visual c++ 2010
Publicado por: Kherom en 22 Agosto 2011, 14:08 pm
No entiendo nada :P (Estoy aprendiendo). En cualquier caso deberías usar las etiquetas "code=cpp" y "/code" (cambiando los paréntesis por corchetes) para que quede más claro y se vean bien las tabulaciones:

Código
  1. void inserta_modelo(empresa empresas[], int cont)
  2. {
  3. char emp[5]; //el nombre que entre en consola
  4. //cont = 0; // donde pretendemos guardar la posicion de la empresa en base_datos
  5. //cout<<"============================…
  6. //cout<<"| Insercion de modelo |"<<endl;
  7. //cout<<"|___________________________…
  8. //cout<<"| Para ingresar el modelo es necesario que indique el nombre |"<<endl;
  9. //cout<<"| de la empresa en la que lo quiere ingresar: "<<endl;
  10. cin>>emp;
  11. cout<< empresas[cont].cant_modelo;
  12. for (int i = 0; i<empresas[cont].cant_modelo;i++){
  13. char temporal[5];
  14. cout<<" ****** absurda";
  15. strcpy(temporal, empresas[cont].nombre);
  16.  
  17. if (strcmp(temporal,emp) == 0){
  18. char descripcion[50];
  19. int cantidad;
  20. int precio;
  21. int codigo_barras;
  22. cout<<"============================…
  23. cout<<"| El nombre de la empresa es correcto, ahora puede ingresar"<<endl;
  24. cout<<"| los datos del modelo "<<endl;
  25. cout<<"|_________________________"<…
  26. cout<<"| descripcion del modelo: "<<endl;
  27. cin>>descripcion;
  28. cout<<"| cantidad de articulos disponibles: "<<endl;
  29. cin>>cantidad;
  30. cout<<"| precio para el cliente: "<<endl;
  31. cin>>precio;
  32. cout<<"| codigo de referencia: "<<endl;
  33. cin>>codigo_barras;
  34. int nuevo_modelo = empresas[cont].cant_modelo;
  35.  
  36.  
  37. empresas[cont].cant_modelo = nuevo_modelo++; //aumenta la cantidad de modelos de esa empresa
  38. model [cont].descripcion[nuevo_modelo];// descripcion; //asigna la descripcion del modelo que se esta ingresando
  39. empresas[cont].lista[nuevo_modelo].… = precio; //asigna el precio del modelo que se esta ingresando
  40. empresas[cont].lista[nuevo_modelo].… = cantidad; //asigna la cantidad disponible del modelo que se esta ingresando
  41. empresas[cont].lista[nuevo_modelo].… = codigo_barras; //asigna el codigo
  42. }
  43.  
  44. }
  45. cont++;
  46. getch();
  47.  
  48. cout<< "modelo numero: "<<endl;
  49. cout << cont<<endl;
  50. cout<<"Presione cualquier tecla para continuar..."<<endl;
  51. getch();
  52.  
  53. }

De todas formas si empresas[cont].cant_modelo es superior a 0 debería ejecutar el bucle. Y creo que te faltan unas comillas sin las cuales como ves sale todo en rojo.