|
Mostrar Temas
|
Páginas: [1]
|
1
|
Programación / Programación C/C++ / Ayuda con este programa
|
en: 4 Diciembre 2014, 16:01 pm
|
Hola, tengo el problema que la variable por me arroja cero siempre, les dejo el código, podría ser una tontería, pero estoy en semestrales y entre tanto no veo el problema. #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> float por,pg; int f,s,i,o,l,x,y,z,may,p,t,v,tv,sup[10],m,ng,mv1,mv2; void impr(int **dc); void cal(int **dc); void gana(int **dc); main() { int **dc; printf("\n\tCuantos distritos son? "); printf("\n\tCuantos votantes son? "); printf("\n\tCuantos candidatos son? "); int sup[s]; char ca[s][50]; dc =(int **) malloc(f *sizeof(int *)); for(i=0;i<f;i++) { *(dc +i )=(int *) malloc(s *sizeof(int)); } for(i=0;i<s;i++) { printf("\n\tIngrese el nombre del candidato %d: ",i +1); } for(l=0;l<s;l++) { for(o=0;o<f;o++) { printf("\n\tCuantos votos tuvo el candidato %s en el distrito %d: ",*(ca +l ),(o +1)); } } clrscr(); gotoxy(30,3);printf("Candidatos"); gotoxy(3,3);printf("Distrito"); x=15; for(i=0;i<s;i++) { gotoxy(x,5);printf("%s",ca[i]); x=x+15; } impr(dc); cal(dc); printf("\tEl candidato mas votado es: %s con %d",ca [p ],t ); gana(dc); printf("\tEl Candidato ganador es: %s",ca [m ]); } void impr(int **dc) { x=15; y=7; z=7; for(o=0;o<f;o++) { gotoxy(5,z);printf("%d",o+1); z=z+2; for(l=0;l<s;l++) { gotoxy (x ,y ); printf("%d",*(*(dc +o )+l )); x=x+15; } y=y+2; x=15; } } void cal(int **dc) { for(l=0;l<s;l++) { sup[l]=0; } for(o=0;o<s;o++) { for(l=0;l<f;l++) { sup[o]+=(*(*(dc+l)+o)); } tv+=sup[o]; } gotoxy(3,z);printf("Total"); for(i=0;i<s;i++) { gotoxy(x,y);printf("%d",sup[i]); x=x+15; } may=sup[0]; p=0; for(i=1;i<s;i++) { if(sup[i]>may) { may=sup[i]; p=i; } } t=sup[p]; //printf("%d %d ",tv,v); por=(tv/v)*100; //aquí esta el problema printf("\n\n\n\n\tEl porcentaje de las personas que votaron: %.2f %",por ); } void gana(int **dc) { for(i=0;i<f;i++) { pg=(sup[i]/tv)*100; if(pg>50) { m=i; ng=1; } } if(ng==0) { may=sup[0]; mv1=0; for(l=1;l<f;l++) { if(sup[l]>may) { may=sup[l]; mv1=l; } } } }
|
|
|
2
|
Programación / Programación C/C++ / Programa de arreglo de estructuras en C
|
en: 5 Octubre 2014, 18:23 pm
|
Buenos días, tengo este programa de estructuras con arreglos en C hecho en dev-c++. No me salen errores, pero al ejecutarlo no corre después de un punto y se cierra: #include <stdio.h> #include <string.h> #include<conio.h> struct fecha { int dia, mes, anyo; }; typedef struct { char nombre[30], sexo[5]; fecha nacimiento; float sueldo; }empleados; int i,p,d,m,a; float may, men; char nbr[30], sx[5]; void laf (); main() { printf("Cuantos empleados son? "); scanf("%d", p); empleados n[p]; for(i=1;i<=p;i++) { printf("\nEcriba el nombre del empleado %d :",i); scanf("%s",&n.nombre); printf("\nEscriba su fecha de nacimiento:"); printf("\nDia: "); scanf("%d",&n.nacimiento.dia); printf("\nMes: "); scanf("%d",&n.nacimiento.mes); printf("\nAnyo: "); scanf("%d",&n.nacimiento.anyo); printf("\nEscriba su sexo (f/m): "); scanf("%s",&n.sexo); printf("\nEscriba su sueldo: "); scanf("%f",&n.sueldo); } laf (); getch(); } void laf () { empleados n[p]; may=n[1].sueldo; for(i=1;i<=p;i++) { if(n.sueldo>may) { may=n.sueldo; strcpy(nbr,n.nombre); d=n.nacimiento.dia; m=n.nacimiento.mes; a=n.nacimiento.anyo; strcpy(sx,n.sexo); } } printf("\nEmpleado con mayor sueldo:\n\n "); printf("\nNombre: %s ",nbr); printf("\nFecha de nacimiento: "); printf("\nDia: %d ",d); printf("\nMes: %d ",m); printf("\nAnyo: %d ",a); printf("\nSexo: %s",sx); printf("\nSueldo: %f",may); men=n[1].sueldo; for(i=1;i<=p;i++) { if(n.sueldo<men) { men=n.sueldo; strcpy(nbr,n.nombre); d=n.nacimiento.dia; m=n.nacimiento.mes; a=n.nacimiento.anyo; strcpy(sx,n.sexo); } } printf("\nEmpleado con menor sueldo:\n\n "); printf("\nNombre: %s ",nbr); printf("\nFecha de nacimiento: "); printf("\nDia: %d ",d); printf("\nMes: %d ",m); printf("\nAnyo: %d ",a); printf("\nSexo: %s",sx); } El problema está en que se pare después de ingresar la cantidad de empleados. Agradecería cualquier sugerencia...
|
|
|
|
|
|
|