Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: joseanh en 4 Noviembre 2013, 02:01 AM

Título: AYUDA con este registro con matrices
Publicado por: joseanh en 4 Noviembre 2013, 02:01 AM
El registro me corre, pero no me muestra los datos almacenados en el void mostrar, ayuda por favor. Asi empieza:

#include <iostream>
#include <stdlib.h>

using namespace std;
int ce,cv;

void ingresar (struct carros registro[500][8]);
void consultar(struct carros registro[500][8])  ;
void reporteganancia(struct carros registro[500][8])  ;
void ventas (struct carros registro[500][8]);
void mostrar(struct carros registro[500][8])  ;

struct carros
{
char placa[20];
char mod[20];
char marca[20];
char color[20];
char mes[20];
float precio;
};


int main(){
   struct carros registro[500][8];
int opcion;
do
{
cout<<" Menu Principal "<<endl;  
    cout<<"1 ingresar"<<endl;    
    cout<<"2 consultar"<<endl;    
    cout<<"3 reporteganancia"<<endl;    
    cout<<"4 ventas"<<endl;  
    cout<<"5 mostrar"<<endl;    
    cout<<"6 salir"<<endl;
cout<<"indique la opcion"<<endl;
cin>>opcion;
   
switch (opcion){  
 case 1:
    system("cls");
    ingresar (registro);
      break;      
 case 2:
    system("cls");
    consultar (registro);
      break;
 case 3:  
    system("cls");
    reporteganancia (registro);
      break;
  case 4:  
   system("cls");
    ventas (registro);
      break;
   
     case 5:  
      system("cls");
       mostrar (registro);
      break;
     
     }
}while (opcion <= 6);              
}

void ingresar (struct carros registro[500][8]){  
 char placa[20],mod[20],marca[20],color[20],mes[20];
 double precio;
 int x;
 
  cout<<"catidad de carro de entrada "<<endl;
  cin>>ce;
 
     for (int x=0; x<ce ; x++){  
   
         cout<<"registro "<<x+1<<endl;
         cout<<"ingrese placa"<<endl;
         cin>>placa;
         registro
Título: Re: AYUDA con este registro con matrices
Publicado por: rir3760 en 4 Noviembre 2013, 16:10 PM
Cuando publiques el código fuente de un programa por favor utiliza las etiquetas GeSHi: en la pagina de composición de mensajes hay un cuadro desplegable con ese nombre y ahí puedes seleccionar el lenguaje adecuado (C o C++).

Problemas con el programa hay bastantes.

* No necesitas de un array de arrays, por sencillez deberías utilizar un array y con un numero de elementos pequeño. Por ejemplo:
Código (cpp) [Seleccionar]
struct carros registro[8];

* Al pedir la entrada en la función "ingresar" tienes bloques como este:
Código (cpp) [Seleccionar]
cout << "registro " << x + 1 << endl;
cout << "ingrese placa" << endl;
cin >> placa;
registro[x][1].placa;

Ellos no tienen efecto y se deberían cambiar a:
Código (cpp) [Seleccionar]
cout << "registro " << x + 1 << endl;
cout << "ingrese placa" << endl;
cin >> registro[x][1].placa;

Y si se utiliza un array de ocho elementos seria mas o menos así:
Código (cpp) [Seleccionar]
cout << "registro " << x + 1 << endl;
cout << "ingrese placa" << endl;
cin >> registro[x].placa;


* En la función "mostrar" la variable "x" controla la ejecución del bucle con un valor inicial de 1 cuando debería ser 0 (como en la función ingresar).

* En la función "main" en la sentencia de selección "switch" todos los casos inician con:
Código (cpp) [Seleccionar]
system("cls");
Hay que eliminar esa sentencia de todos los casos, en su lugar basta con llamar a system justo antes del "switch".

Un saludo
Título: Re: AYUDA con este registro con matrices
Publicado por: joseanh en 5 Noviembre 2013, 16:49 PM
Muchas gracias Amigo, lo probare y veré si funciona.