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
#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();
}
Tienes declarado el main como int o como void? El main debería ser un int.
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| (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:
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:
printf ("El dinero recaudado por la zona %d es: %d\n", i + 1, A3[i].acum_imp[0]);
Un saludo