Autor
|
Tema: Ayuda con este programa (Leído 1,949 veces)
|
daz08
Desconectado
Mensajes: 4
|
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; } } } }
|
|
« Última modificación: 4 Diciembre 2014, 16:09 pm por Eternal Idol »
|
En línea
|
|
|
|
Kherom
Desconectado
Mensajes: 40
|
1: Tu código es una chapuza ilegible. 2: No deberías usar variables globales, y menos con nombres de *****. 3: Da la información del fallo en el texto, no en un comentario que he visto de pura casualidad. Y explica antes qué has hecho para intentar solucionarlo, etc. 4: Estás usando C: tv/v, siendo tv y v de tipo int, es una división entera y produce valores enteros. Tienes que hacer un casting a float de alguna de las dos variables (preferiblemente ambas) para realizar una división con decimales. Tal que así: por = (float)( tv ) / (float)( v );
|
|
« Última modificación: 5 Diciembre 2014, 00:23 am por Kherom »
|
En línea
|
|
|
|
daz08
Desconectado
Mensajes: 4
|
1: Tu código es una chapuza ilegible.
2: No deberías usar variables globales, y menos con nombres de *****.
3: Da la información del fallo en el texto, no en un comentario que he visto de pura casualidad. Y explica antes qué has hecho para intentar solucionarlo, etc.
4: Estás usando C: tv/v, siendo tv y v de tipo int, es una división entera y produce valores enteros. Tienes que hacer un casting a float de alguna de las dos variables (preferiblemente ambas) para realizar una división con decimales. Tal que así:
Gracias por la ayuda, en comparación a ti, no te contestaré con aires de grandeza ni nada. Solo diré gracias: Gracias, Bill Gates.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
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. por=(tv/v)*100; //aquí esta el problema printf("\n\n\n\n\tEl porcentaje de las personas que votaron: %.2f %",por );
O en vez del explícito cast sencillamente multiplica uno de los enteros por 1. : ( (1.*tv/v)*100; //ya no esta aquí esta el problema printf("\n\n\n\n\tEl porcentaje de las personas que votaron: %.2f %",por);
¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 5 Diciembre 2014, 03:08 am por leosansan »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con este programa
Programación C/C++
|
daxelmejor
|
1
|
2,390
|
13 Mayo 2010, 16:00 pm
por Akai
|
|
|
Ayuda con este programa en C++
Programación C/C++
|
miguelb18
|
1
|
2,204
|
25 Agosto 2010, 17:23 pm
por Littlehorse
|
|
|
Ayuda con este programa
Programación C/C++
|
nosotros12
|
1
|
2,094
|
18 Noviembre 2011, 09:06 am
por s00rk
|
|
|
ayuda con este programa
Dudas Generales
|
ZXILER
|
1
|
2,634
|
16 Marzo 2012, 23:16 pm
por Aprendiz-Oscuro
|
|
|
ayuda con este programa
Java
|
hairam
|
2
|
2,164
|
9 Julio 2012, 20:56 pm
por rommel89
|
|