Compartir

[C++] Error en ejercicio de práctica - unknown software exception

Discusión cerrada
  1. #1
    GamerTag: Alkepo360 Avatar de lxsplk
    Registración
    Nov 2006
    Mensajes
    915

    [C++] Error en ejercicio de práctica - unknown software exception

    Hola gente, posteo aca a ver si me pueden solucionar un problema que tengo cuando ejecuto en el Visual Studio c++ 6 algo que hice, me tira un error asi...

    unknown software exception (0xc00000fd) en la direccion 0x004228b7

    Les dejo el codigo en el Spoiler, agradesco mucho su ayuda de antemano
    ALE ! ! !


    Código:
    #include <iostream>
    #include <cstring>
    using namespace std;
    void main ()
    {
     int l,f,z,j,y;
     char U[8],u[3200],P[8],p[100]={0},N[100][100]={0},T[100][100]={0},o[100][100]={0},D[100][100]={0},E[100][100]={0},S[100][100]={0};
    	y=0;
        strcpy(U,"alexis");
    	strcpy(P,"polak");
     do
     {
      cout<<"ingrese usuario :";
      cin.getline(u,100);
     }
     while (strcmp(u,U)!=0);
    	cout<<"Usuario Valido"<<endl;
     do
     {
      cout<<"ingrese password :";
      cin.getline(p,100);
     }
     while(strcmp(p,P)!=0);
    	 cout<<"Password Valido"<<endl;
    	 cout<<"Elija el numero de lista que desea utilizar"<<endl<<" 1-ale 2-stephy 3-santi"<<endl;
    	 cin>>l;
     if(l==1)
     {
      cout<<"Ud eligio la lista de Ale"<<endl;
      for(f=0;f<y;f++)
    	cout<<N[y][100]<<" "<<T[y][100]<<" "<<o[y][100]<<" "<<D[y][100]<<" "<<E[y][100]<<" "<<S[y][100]<<" "<<endl;
    	cout<<"Desea agregar clientes a la lista ?, en el caso afirmativo presione 1 "<<endl;
    	cin>>z;
      if(z==1)
    	  for(f=0;f<3200;f++)
    	  {
    		  fflush(stdin);
    		  cout<<"Ingrese el Nombre: ";
    		  cin.getline(N[f],100);
    		  cout<<"Ingrese el Telefono: ";
    		  cin.getline(T[f],100);
    		  cout<<"Ingrese el Celular: ";
    		  cin.getline(o[f],100);
    		  cout<<"Ingrese la Direccion: ";
    		  cin.getline(D[f],100);
    		  cout<<"Ingrese el Encargo: ";
    		  cin.getline(E[f],100);
    		  cout<<"Ingrese el Saldo: ";
    		  cin.getline(S[f],100);
    		  cout<<"Desea agregar otro, presione N quiere salir, sino presione 1..."<<endl;
    		  cin>>j;
    	  if(j!=1)
    		f=3200;
    	  if(j==1)
    		y=y+1;
      }
     }
    
     cout<<"hola mundo"<<endl;
     for(f=0;f<5;f++)
    	cout<<N<<" "<<T<<" "<<o<<" "<<D<<" "<<E<<" "<<S<<" "<<endl;
    }
    Última edición por lxsplk : 02-02-09 el 06:44 PM

  2. #2
    Advocatus Diaboli Avatar de Dr.D
    Registración
    Feb 1984
    Mensajes
    27,312
    Ubicación
    Argentina

    Re: [PROBLEMA C++]Ayuda con problema

    Usa un tag CODE, eso que pusiste es ilegible.

    ¿Para que usas esas 6 matrices de 13 millones de elementos cada una?
    Dura lex, sed lex.
    Mi laboratorio secreto

  3. #3
    GamerTag: Alkepo360 Avatar de lxsplk
    Registración
    Nov 2006
    Mensajes
    915

    Re: [PROBLEMA C++]Ayuda con problema

    lo hice yo al ejercicio practicando pide password y clave hasta ahi bien, pide que elijas una lista de, hasta ahi bien el problema es q cuando quiero imprimir la lista no me deja y me tira numero al azar....

  4. #4
    Advocatus Diaboli Avatar de Dr.D
    Registración
    Feb 1984
    Mensajes
    27,312
    Ubicación
    Argentina

    Re: [PROBLEMA C++]Ayuda con problema

    ¿Por imprimir la lista te referis a esto?
    Código:
     for(f=0;f<5;f++)
    	cout<<N<<" "<<T<<" "<<o<<" "<<D<<" "<<E<<" "<<S<<" "<<endl;
    Eso no imprime listas, imprime las direcciones de memoria de las matrices esas locas que tenes.

    Ahora, lo que te voy a decir no te va a gustar, pero es por tu bien:

    1) Ese codigo es un pastiche horrible

    2) Esa idea de usar matrices gigantes, descartala

    3) Usa nombres de variables largos, y en minuscula. Entre T y telefonos al compilador le da lo mismo, pero a los humanos que leen el codigo no.

    4) Todo el "cliente", tiene que ser una estructura, no estar desperdigado en 6 matrices.

    5) Los do... while son una peste.

    6) Usar cin como lo estas usando es suicida.
    Última edición por Dr.D : 02-02-09 el 07:09 PM
    Dura lex, sed lex.
    Mi laboratorio secreto

  5. #5
    GamerTag: Alkepo360 Avatar de lxsplk
    Registración
    Nov 2006
    Mensajes
    915

    Re: [PROBLEMA C++]Ayuda con problema

    Dr.D gracias por tus aportes:

    1)nose q queres decir con pastiche horrible recien aprendi hasta cadena de caracteres en c++ y no entiendo punteros q tambien lo tengo q saber.

    2)el tema de las matrices q vos decis, en realidad son cadenas de caracteres, va segun lo q me explicaron si es un CHAR V[10] es una lista con 9 lugares para caracteres, y lo que hice fue hacer 100 filas con una capacidad de 99 caracteres cada uno (nose si me estoy equivocando pero eso me enseñaron) es exagerado pero toy probando

    3)no sabia que se pdia poner nombres, lo voy a utilizar gracias

    4) como te decia estoy aprendiendo la unica manera q lo puedo hacer por ahora es asi :S

    5 y 6) no entiendo xq lo decis pero agradesco tu ayuda

  6. #6
    GamerTag: Alkepo360 Avatar de lxsplk
    Registración
    Nov 2006
    Mensajes
    915

    Re: [PROBLEMA C++]Ayuda con problema

    Aca lo cambie un poco con tus consejos pero sigue sin imprimirme nada


    Código:
    #include <iostream>
    #include <cstring>
    using namespace std;
    void main ()
    {
     int l,f,z,j,y;
    f=0;
     y=0;
     char Usuario[8],usuario_pedido[10],Password[8],password_pedido[10],Nombre[100][100]={0},telefono[100][100]={0},mobil[100][100]={0},Dirrecion[100][100]={0},Encargo[100][100]={0},Saldo[100][100]={0};
    	y=0;
        strcpy(Usuario,"alexis");
    	strcpy(Password,"polak");
     do
     {
      cout<<"ingrese usuario :";
      cin.getline(usuario_pedido,100);
     }
     while (strcmp(usuario_pedido,Usuario)!=0);
    	cout<<"Usuario Valido"<<endl;
     do
     {
      cout<<"ingrese password :";
      cin.getline(password_pedido,100);
     }
     while(strcmp(password_pedido,Password)!=0);
    	 cout<<"Password Valido"<<endl;
    	 cout<<"Elija el numero de lista que desea utilizar"<<endl<<" 1-ale 2-stephy 3-santi"<<endl;
    	 cin>>l;
     if(l==1)
     {
      cout<<"Ud eligio la lista de Ale"<<endl;
      for(f=0;f<y;f++)
    	cout<<Nombre[y][100]<<" "<<telefono[y][100]<<" "<<mobil[y][100]<<" "<<Dirrecion[y][100]<<" "<<Encargo[y][100]<<" "<<Saldo[y][100]<<" "<<endl;
    	cout<<"Desea agregar clientes a la lista ?, en el caso afirmativo presione 1 "<<endl;
    	cin>>z;
      if(z==1)
    	  do
    	  {
    		  fflush(stdin);
    		  cout<<"Ingrese el Nombre: ";
    		  cin.getline(Nombre[f],100);
    		  cout<<"Ingrese el Telefono: ";
    		  cin.getline(telefono[f],100);
    		  cout<<"Ingrese el Celular: ";
    		  cin.getline(mobil[f],100);
    		  cout<<"Ingrese la Direccion: ";
    		  cin.getline(Dirrecion[f],100);
    		  cout<<"Ingrese el Encargo: ";
    		  cin.getline(Encargo[f],100);
    		  cout<<"Ingrese el Saldo: ";
    		  cin.getline(Saldo[f],100);
    		  cout<<"Desea agregar otro, presione 0 quiere salir, sino presione 1..."<<endl;
    		  cin>>j;
    		  y=y+1;
                               f=f+1;
    	  }
    	  while (j==1);
     }
     	for(f=0;f<y;f++)
    	cout<<Nombre[5][20]<<" "<<telefono[5][20]<<" "<<mobil[5][20]<<" "<<Dirrecion[5][20]<<" "<<Encargo[5][20]<<" "<<Saldo[5][20]<<" "<<endl;
    }
    Última edición por lxsplk : 02-02-09 el 07:22 PM

  7. #7
    Advocatus Diaboli Avatar de Dr.D
    Registración
    Feb 1984
    Mensajes
    27,312
    Ubicación
    Argentina

    Re: [PROBLEMA C++]Ayuda con problema

    Código:
    for (int i = 0; i < y; i++)
       cout << Nombre[i] <<" "<<telefono[i] << " " << mobil[i] <<" "<<Dirrecion[i]<<" "<<Encargo[i]<<" "<<Saldo[i]<<" "<<endl;
    Dura lex, sed lex.
    Mi laboratorio secreto

  8. #8
    GamerTag: Alkepo360 Avatar de lxsplk
    Registración
    Nov 2006
    Mensajes
    915

    Re: [PROBLEMA C++]Ayuda con problema

    gracias dr.d muy util todos tus consejos

  9. #9
    Todo vuelve Avatar de El Hombre Gris
    Registración
    Oct 2004
    Mensajes
    5,835
    Ubicación
    Argentina

    Re: [PROBLEMA C++]Ayuda con problema

    Si no lees esto hay tabla

    Ayuda en el titulo, NO. Títulos explicativos por favor.

    Citar Mensaje original enviado por lxsplk Ver Mensaje
    1)nose q queres decir con pastiche horrible recien aprendi hasta cadena de caracteres en c++ y no entiendo punteros q tambien lo tengo q saber.
    Se refiere a que es exactamente eso, un pastiche horrible. Si yo tengo que corregirte eso, te lo tiro a la basura de una, ni lo miro.

    Vos aprendiste a usar los pinceles pero tendrías que aprender a pintar. Escribir código no es programar, tenés que preocuparte por que el código se entienda a priori, sin saber cual es su propósito o contexto funcional.

    Además, q != que.
    En este foro escribí bien.

    ---

    Cómo dijo el doc, no uses do { ... } while (...); genera confusión al recontra pedo.

    ---

    Mi consejo: empeza de nuevo el ejercicio.

Discusión cerrada