Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: fede196 en 23 Mayo 2015, 00:54 am



Título: (Ayuda) Error de ejecución Exited with return value 3221225477
Publicado por: fede196 en 23 Mayo 2015, 00:54 am
Este es el error que me sale y no me deja seguir ingresando datos y ejecutando el programa  alguien sabe a que se debe?
(http://i61.tinypic.com/20h24d5.png)
muchas gracias por su ayuda!, acá esta el archivo  .cpp por si alguien lo quiere ver sino subo foto de cada parte si me desan ayudar lo agradeceria muchisimo https://mega.nz/#!Z40iGK4Q!Tj9w_WgTMUJCrpCMX7ClJjz-xJDRwtUjeBXyJMEJe_s (https://mega.nz/#!Z40iGK4Q!Tj9w_WgTMUJCrpCMX7ClJjz-xJDRwtUjeBXyJMEJe_s)
Sino acá esta el codigo
Código:
#include<stdio.h>
#include<conio.h>
#define N 1230
#define L 4
#define I 10
struct Zona
{
int acum_imp[L];
int cont_mov[L];
};


void carga_imp(int imp1[I])
{
int i;
for(i=0;i<=I-1;i++)
{
    printf("\ningrese importe comenzando por el primer tipo de infraccion\n");
scanf("%d",&imp1[i]);
fflush(stdin);
}
return;
}

void inicializa(Zona A1[L])
{
int i,j;
for(i=0;i<=L-1;i++)
    {
    for(j=0;j<=L-1;i++)
        {
        A1[i].acum_imp[j]=0;
        A1[i].cont_mov[j]=0;
        }
    }
return;
}
void carga(Zona A2[L],int imp2[I])
{
int i,zone,tip_mov,tip_imp;
for(i=1;i<=N;i++)
{
printf("\nIngrese zona(1,2,3o4)\n");
scanf("%d",&zone);   
fflush(stdin);
switch (zone)
{
    case 1:
        printf("\nIngrese tipo de movil(1,2,3o4)\n");
        scanf("d",&tip_mov);
        fflush(stdin);
        printf("\nIngrese tipo de importe(1,2,3,4,5,6,7,8,9o10)\n");
        scanf("d",&tip_imp);
        fflush(stdin);
        A2[zone-1].acum_imp[tip_mov-1]+=imp2[tip_imp-1];
        A2[zone-1].cont_mov[tip_mov-1]++;
        break;
    case 2:
        printf("\nIngrese tipo de movil(1,2,3o4)\n");
        scanf("d",&tip_mov);
        fflush(stdin);
        printf("\nIngrese tipo de importe(1,2,3,4,5,6,7,8,9o10)\n");
        scanf("d",&tip_imp);
        fflush(stdin);
        A2[zone-1].acum_imp[tip_mov-1]+=imp2[tip_imp-1];
        A2[zone-1].cont_mov[tip_mov-1]++;
        break;
    case 3:
        printf("\nIngrese tipo de movil(1,2,3o4)\n");
        scanf("d",&tip_mov);
        fflush(stdin);
        printf("\nIngrese tipo de importe(1,2,3,4,5,6,7,8,9o10)\n");
        scanf("d",&tip_imp);
        fflush(stdin);
        A2[zone-1].acum_imp[tip_mov-1]+=imp2[tip_imp-1];
        A2[zone-1].cont_mov[tip_mov-1]++;
        break;
    case 4:
        printf("\nIngrese tipo de movil(1,2,3o4)\n");
        scanf("d",&tip_mov);
        fflush(stdin);
        printf("\nIngrese tipo de importe(1,2,3,4,5,6,7,8,9o10)\n");
        scanf("d",&tip_imp);
        fflush(stdin);
        A2[zone-1].acum_imp[tip_mov-1]+=imp2[tip_imp-1];
        A2[zone-1].cont_mov[tip_mov-1]++;
        break;
    }
}
return;
}


void motos_tip2(Zona A3[L])
{
int i;
for(i=0;i<L-1;i++)
{
printf("\nEl dinero recaudado por la zona %d",i+1," es: %d",A3[i].acum_imp[0]);
}
return;
}   


void menor_inf(Zona A4[L])
{
    int i,j,men,num;
men=1000000;
for(i=0;i<L-1;i++)
{
  for(j=0;j<L-1;i++)
            if(A4[i].cont_mov[j]<men)
             {
                    men=A4[i].cont_mov[j];
                    num=j+1;
             }

    printf("\nEl tipo de movil que registra mayor numero de infracciones de la zona %d",i+1,"es movil tipo; %d\n",num);
}
return;
}
void tot_infr_xtipo(Zona A5[L])
{
    int tipo,i,sum;
    printf("Por favor ingrese tipo de movil para conocer el total de infracciones del mismo\n");
    scanf("%d",&tipo);
    fflush(stdin);
    sum=0;
    for(i=0;i<L-1;i++)
      {
            sum+=A5[i].cont_mov[tipo-1];
        }
    printf("\nLa cantidad de infracciones del tipo de movil %d",tipo,"es: %d",sum);
return;
}
void muestra(Zona A6[L])
{
    int i,j,acum;
    acum=0;
    for(i=0;i<L-1;i++)
    {
        for(j=0;i<L-1;i++)
        {
        acum+=A6[i].acum_imp[j];
        }
    }
printf("\nEl importe total recaudado por la Municipalidad en concepto de multas de transito es: %d\n",acum);
return;
}
main()     //algoritmo principal//
{
Zona A[L];
int imp[I];
carga_imp(imp);
inicializa(A);
carga(A,imp);
motos_tip2(A);
menor_inf(A);
tot_infr_xtipo(A);
muestra(A);
getchar();
getchar();
}


Título: Re: (Ayuda) Error de ejecución Exited with return value 3221225477
Publicado por: Stakewinner00 en 23 Mayo 2015, 11:26 am
Tienes declarado el main como int o como void? El main debería ser un int.


Título: Re: (Ayuda) Error de ejecución Exited with return value 3221225477
Publicado por: rir3760 en 2 Junio 2015, 05:16 am
Este es el error que me sale y no me deja seguir ingresando datos
Ademas de los comentado por Stakewinner00 lo primero que debes hacer es evitar el uso de la biblioteca conio de Borland y fflush(stdin), las razones de ello en el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html). También deberias utilizar la biblioteca estándar de C++ empezando por la clase string (http://www.cplusplus.com/reference/string/string/).

La mayoría de los errores son de dos tipos, el primero es utilizar "d" como la cadena de formato de scanf cuando debería ser "%d". El segundo es tratar de intercalar la cadena de formato de printf con sus argumentos:
Código
  1. printf("\nEl dinero recaudado por la zona %d", i + 1, " es: %d", A3[i].acum_imp[0]);
En su lugar debes indicar primero la cadena de formato y después de ella cada uno de los argumentos adicionales:
Código
  1. printf ("El dinero recaudado por la zona %d es: %d\n", i + 1, A3[i].acum_imp[0]);

Un saludo