Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - strancok

#1
Hola a todos, quisiera que me colaboraran para poder encontrar mi error al ejecutar este codigo. Al compilarlo no muestra errores ni advertencias y de hecho funciona bien cuando defino la variable cantidadClientes = 2, con ese valor realiza exactamente lo que deseo que haga, pero con un valor de 1 (aqui falla al ingresar el primer nombre) o 3 (aqui falla al ingresar el tercer nombre), sencillamente no me deja ingresar el nombre del cliente y se sale del codigo arrojando return value 3221225477 y no return 0 como se indica.

Adicional, tambien observe que sale este mensaje al depurar el codigo, Program received signal SIGSEGV segmentation fault.

Soy algo principiante con este lenguaje, espero me puedan colaborar. De antemano gracias por su atencion.

Codigo


#include <iostream>
#include <string>

using namespace std;


int main()
{
int cantidadClientes;

cout << "Cantidad de clientes: ";
cin >> cantidadClientes;

string cliente[cantidadClientes];
int cantidadArticulos[cantidadClientes];
double precioUnitario, subtotal[cantidadClientes], total;

for (int i = 1; i <= cantidadClientes; i++)
{
cout << "Nombre del cliente #"<< i << ": ";
cin >> cliente[i];

cout << "Cantidad de articulos comprados: ";
cin >> cantidadArticulos[i];

for (int j = 1; j<= cantidadArticulos[i]; j++)
{
cout << "Precio unitario del articulo #" << j << " $";
cin >> precioUnitario;
cout << endl;

subtotal[i] = subtotal[i] + precioUnitario;
}

total = total + subtotal[i];
}

for (int k = 1; k <= cantidadClientes; k++)
{
//total = total + subtotal;
cout << "Nombre   " << cliente[k] << " Cantidad Articulos:   " << cantidadArticulos[k] << "  Total Cliente:   " << subtotal[k] << endl;

}

cout << "Total:   " << total;

return 0;
}





Esto es lo que se supone deberia hacer pero solo funciona cuando el numero de clientes es 2, 4 y asi... no se el porque ---->