Dev - C++ - arreglo bidimensional - factura

 
Vista:

arreglo bidimensional - factura

Publicado por PRIMIPARa (5 intervenciones) el 07/11/2018 23:17:57
Hola buenas,

soy primipara en c++ y el profesor nos dejo el siguiente ejercicio para resolver exclusivamente con matrices y asi hay otros mas, el meollo es que no soy diestra ni se utilizar mucho matrices. Por eso recurro a su pronta ayuda!, por favor auxilio....

1) Haga un programa que incluya las estructuras: producto y cliente, realice una función que permita calcular el costo total (para este cálculo considere los datos unidades vendidas y precio unitario del producto). Imprima un mensaje que combine los datos del producto y los datos del cliente, agregue el costo total. (En los datos de los mensajes incluya la información que considere pertinente, mínimo 4 datos por estructura).

he estado chequeando otras fuentes pero no se muy bien como implementarlas, ya que hablan de punteros si quiero proyectar la informacion almacenada en la matriz.

por ejemplo:

aqui yo recojo parte de una información... pero debo mostrarla y usarla en otro metodo segun mi logica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void venta::RealizarVenta(int cant){
    //declaramos la matriz
    string productos [cant][4];
    string codigo, nombre, referencia, valor;
    cout<<"\nIngrese datos de los productos que estan en venta:"<<endl;
    //recorremos las filas y pedimos los cuatro datos
    for(int i=0;i<cant;i++){
        cout<<"\n*****Producto#"<<i+1<<"*****"<<endl;
        cout<<"Codigo: "; cin>>codigo;
        cout<<"Nombre: "; cin>>nombre;
        cout<<"Referencia: "; cin>>referencia;
        cout<<"Valor: "; cin>>valor;
        //alimentamos la matriz
        productos[i][0]=codigo;
        productos[i][1]=nombre;
        productos[i][2]=referencia;
        productos[i][3]=valor;
    }
    cout<<""<<endl;
}

hay todo bien al llenar la matriz, pero como la retorno o la muestro o la uso en otro metodo? por favor.
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
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

arreglo bidimensional - factura

Publicado por dario (718 intervenciones) el 11/11/2018 15:13:36
Hola, tengo esto espero te ayude.
Salu2.

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
#include <iostream>
 
using namespace std;
 
struct {
    string codigo;
    string nombreProducto;
    float precio=0,cantidad;
} productos[4];
 
struct {
    string nombreCliente;
    int codigo;
    int dni,telefono;
} clientes[4];
 
int main() {
    int i;
 
    //Llenar datos
    for (i=0; i<4; i++) {
        //datos del producto
        cout << "Codigo del producto: ";
        getline(cin,productos[i].codigo);
        cout << "Nombre del producto: ";
        getline(cin,productos[i].codigo);
        cout << "Precio del producto: ";
        cin >> productos[i].precio;
        cout << "Unidades vendidas: ";
        cin >> productos[i].cantidad;
        cin.ignore();
        //datos del cliente
        cout << "Nombre del Cliente: ";
        getline(cin,clientes[i].nombreCliente);
        cout << "Codigo del cliente: ";
        cin >> clientes[i].codigo;
        cout << "DNI del cliente: ";
        cin >> clientes[i].dni;
        cout << "Telefono: ";
        cin >> clientes[i].telefono;
        cin.ignore();
        cout << endl;
    }
 
 
	return 0;
}
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

arreglo bidimensional - factura

Publicado por Primipara (5 intervenciones) el 13/11/2018 15:07:38
Hola muchas gracias.
Lo implementare en el ejercicio pero duda, ¿para mostrar la informacion ya almacenada, simplemente muestro la matriz con el cout? o hay alguna ciencia diferente en c++?
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
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

arreglo bidimensional - factura

Publicado por dario (718 intervenciones) el 14/11/2018 04:16:20
Hola, cout es un comando de C++ que sirve para mostrar mensajes de texto, si estas en C usas printf("Mensaje")
Salu2.
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

arreglo bidimensional - factura

Publicado por Primipara (5 intervenciones) el 15/11/2018 23:58:22
Hola!, resulta que ando probando la estructura que me pasate en otro ejercecio, y el codigo que tengo es el siguiente:

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
void concesionario::datosConcesionario(int cant){
    //creamos la matriz
    struct{
        int codigo;
        string nombre;
        string ciudad;
        int cod_postal;
    }conces[4];
    //llenamos los datos con un ciclo
    cout<<"INGRESE PORFAVOR LOS DATOS DEL CONCESIONARIO:"<<endl;
    cout<<"----------------------------------------------"<<endl;
    for(int i=0;i<cant;i++){
        cout<<"Codigo del concesionario:"<<endl;
        cin>>conces[i].codigo;
        cout<<"Nombre del concesionario:"<<endl;
        getline(cin,conces[i].nombre);
        cout<<"Ciudad donde esta ubicado:"<<endl;
        getline(cin,conces[i].ciudad);
        cout<<"Codigo postal de la ciudad:"<<endl;
        cin>>conces[i].cod_postal;
        cout<<"-----------------------------------"<<endl;
    }
    cout<<"Los concesionarios registrados fueron: "<<endl;
    cout<<"-----------------------------------"<<endl;
    for(int i=0;i<cant;i++){
        cout<<i+1<<". "<<conces[i].codigo<<" "<<conces[i].nombre<<endl;
    }
}

el cual llamo en el main y corre perfecto, pero la salida no es lo esperado y arroja esta falla:

Ingrese la cantidad de concesionarios que desea registrar:
2
INGRESE PORFAVOR LOS DATOS DEL CONCESIONARIO:
----------------------------------------------
Codigo del concesionario:
4364
Nombre del concesionario:
Ciudad donde esta ubicado:


EL ERROR ES ESTE:
Nombre del concesionario:
Ciudad donde esta ubicado:

Ya que no me deja escribir el nombre, tienes alguna idea porque se presente, ya he mirado que puede ser, necesito tu ayuda. mil gracias.
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
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

arreglo bidimensional - factura

Publicado por dario (718 intervenciones) el 16/11/2018 03:48:37
Hola, prueba colocando esta instruccion cin.ignore(); despues de cin>>conces[i].codigo;
Asi:
cin>>conces[i].codigo;
cin.ignore();

Salu2.
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

arreglo bidimensional - factura

Publicado por Primipara (5 intervenciones) el 16/11/2018 17:11:01
Hola ya lo probe y se corre a la siguiente linea y asi con todos los demas datos.
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
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

arreglo bidimensional - factura

Publicado por dario (718 intervenciones) el 17/11/2018 03:48:20
Hola, lo he probado asi y no salta ninguna linea. Pruebalo tu.
Salu2.

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
#include <iostream>
 
using namespace std;
 
struct{
  int codigo;
  string nombre;
  string ciudad;
  int cod_postal;
} conces[4];
 
int main() {
  int cant;
 
  cout << "Cuantos concesionarios desea regitrar:";
  cin >> cant;
    //llenamos los datos con un ciclo
  cout<<"\nINGRESE PORFAVOR LOS DATOS DEL CONCESIONARIO:"<<endl;
  cout<<"----------------------------------------------"<<endl;
 
  for(int i=0;i<cant;i++){
    cout<<"Codigo del concesionario:"<<endl;
    cin>>conces[i].codigo;
    cin.ignore();
    cout<<"Nombre del concesionario:"<<endl;
    getline(cin,conces[i].nombre);
    cout<<"Ciudad donde esta ubicado:"<<endl;
    getline(cin,conces[i].ciudad);
    cout<<"Codigo postal de la ciudad:"<<endl;
    cin>>conces[i].cod_postal;
    cout<<"-----------------------------------"<<endl;
  }
 
    cout<<"Los concesionarios registrados fueron: "<<endl;
    cout<<"-----------------------------------"<<endl;
 
  for(int i=0;i<cant;i++){
    cout<<i+1<<". "<<conces[i].codigo<<" "<<conces[i].nombre<<endl;
  }
 
  return 0;
}
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

arreglo bidimensional - factura

Publicado por primipara (5 intervenciones) el 17/11/2018 14:17:31
ok. Has sido muy amable gracias. le anexare el return 0 que no lo tiene, el resto esta igual.
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