(Ayuda) Error de ejecución Exited with return value 3221225477

Iniciado por fede196, 23 Mayo 2015, 00:54 AM

0 Miembros y 1 Visitante están viendo este tema.

fede196

Este es el error que me sale y no me deja seguir ingresando datos y ejecutando el programa  alguien sabe a que se debe?

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
Sino acá esta el codigo
#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();
}

Stakewinner00

Tienes declarado el main como int o como void? El main debería ser un int.

rir3760

Cita de: fede196 en 23 Mayo 2015, 00:54 AMEste 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|. También deberias utilizar la biblioteca estándar de C++ empezando por la clase 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 (cpp) [Seleccionar]
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 (cpp) [Seleccionar]
printf ("El dinero recaudado por la zona %d es: %d\n", i + 1, A3[i].acum_imp[0]);

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language