Este es un ejercicio de propuesto en clase
Solo tengo un error que no me devuelve los porcentajes de hombres y mujeres desde la función, si alguien sabe el error me lo hace saber....
#include <stdio.h>
#include <stdlib.h>
///Funcion opcion 1___________________________________________________________________________________________________________
void IngresarDatosEstudiantes(int t,int m[150][4]){
int f,c;
printf("Ingrese los datos del estudiante en este orden seguido de la tecla ENTER: \n");
printf("Sexo: Masculino-->0.\n Femenino--->1.\n\nEstado Civil:Soltero--->0.\n Casado--->1.\n Viudo--->2.\n\nTrabaja Si--->0.\n NO--->1.\n\nSUELDO(sin decimales).\n\n");
for(f=1;f<=t;f++){///Filas
for(c=1;c<=4;c++){///Columnas
if(m[f][c]==m[f][1]){
printf("Ingrese sexo del alumno #%d: \n",f);
scanf("%d",&m[f][c]);
}
if(m[f][c]==m[f][2]){
printf("Ingrese estado civil del alumno #%d: \n",f);
scanf("%d",&m[f][c]);
}
if(m[f][c]==m[f][3]){
printf("Ingrese si trabaja el alumno #%d: \n",f);
scanf("%d",&m[f][c]);
}///Fin si
if(m[f][c]==m[f][4] ){
printf("Ingrese el salario del alumno #%d (sindecimales): \n",f);
scanf("%d",&m[f][c]);
}
}///Fin columnas
}///Fin filas
}///Fin Funcion
///Funcion que devuelve un float opcion 2______________________________________________________________________________________
float CalcularPor1(int t,int m[150][4]){
int f,cont=0;
float p,porce;
for(f=1;f<=t;f++){
if(m[f][1]==0){
cont=cont+1;
}
}
p=cont/t;
porce=p*100;
return porce;
}
///__________________________________________________________________________________________________________________________
float CalcularPor2(int t,int m[150][4]){
int f,cont=0;
float p;
for(f=1;f<=t;f++){
if(m[f][1]==1){
cont=cont+1;
}
}
p=(cont/t)*100;
return p;
}
///__________________________________________________________________________________________________________________________
void CantidadHMEC( int t,int e,int m[t][4]){///Calcular cantidad de hombres y mujeres para un estado civil ingresado
int f,contM=0,contF=0;
for(f=1;f<=t;f++){
if(m[f][1]==0 && m[f][2]==e){
contM=contM+1;
}else if(m[f][1]==1 && m[f][2]==e){///Abre else
contF=contF+1;
}///Fin sino.
}///Fin for
printf("La cantidad de hombres para el estado civil ingresado es de: %d \n",contM);
printf("La cantidad de mujeres para el estado civil ingresado es de: %d \n",contF);
}///Fin funcion
///__________________________________________________________________________________________________________________________
void SueldoMujeres(int salario,int t,int m[t][4]){///Calcula las mujeres que devengan un sueldo igual o mayor al ingresado.
int f,contF=0;
for(f=1;f<=t;f++){
if(m[f][1]==1 && m[f][4]>=salario){
contF=contF+1;
}///Fin si
}///Fin for
if(contF==0){
printf("No hay mujeres que devengan un sueldo igual o mayor a %d\n",salario);
}else if(contF!=0){
printf("el numero de mujeres que trabajan y ganan un salario igual o mayor a %d es de %d\n",salario,contF);
}///Fin sino
}///Fin Funcion
///___________________________________________________________________________________________________________________________
void MostrarMatriz(int t,int m[t][4]){
int f,c;
printf(" ");
for(f=1;f<=t;f++){
for(c=1;c<=4;c++){
printf("matriz[%d][%d] %d ",f,c,m[f][c]);
}
printf("\n");
}
printf(" ");
}
///***************************************************************************************************************************
///_____________________________________________________________________________________________________________________________
int main()
{
int matriz[150][4],opc=0,numE=0,eCivil=0,sueldoU=0;
float p1;
//int p2=0;
do{
printf("\t\t***MANEJO DE LOS DATOS PERSONALESDE LOS ESTUDIANTES DEL PROGRAMA \t\tDE TECNOLOGIA EN SISTEMAS DE LA UCP.***\n");
printf("1.Ingrese el numero de estudiantes\n");
printf("2.Calcular el porcentaje de hombres y mujeres.\n");
printf("3.Calcular cantidad de hombres y mujeres para un estado civil.\n");
printf("4.Calcular y mostrar la distribución de mujeres solteras que trabajan\n");
printf("5.Salir.\n");
scanf("%d",&opc);
switch(opc){
case 1:
printf("Cuantos estudiantes va a ingresar?\n");
scanf("%d",&numE);
IngresarDatosEstudiantes(numE,matriz);
printf("\n");
break;
case 2:
MostrarMatriz(numE,matriz);
printf("\n");
p1=CalcularPor1(numE,matriz);
printf("El procentage de hombres es de: %.2f",p1);
printf("\n");
int p2=CalcularPor2(numE,matriz);
printf("El procentage de mujeres es de: %d",p2);
printf("\n");
break;
case 3:
printf("Ingrese estado civil:\nRecuerde Soltero=0,Casado=1,Viudo=2.\n");
scanf("%d",&eCivil);
CantidadHMEC(numE,eCivil,matriz);
printf("\n");
break;
case 4:
printf("Ingrese sueldo:\n");
scanf("%d",&sueldoU);
SueldoMujeres(sueldoU,numE,matriz);
printf("\n");
MostrarMatriz(numE,matriz);
printf("\n");
break;
case 5:
printf("HASTA LUEGO!!!!");
printf("\n");
break;
}///Fin segun
}while(opc!=5);
return 0;
}
No hay comentarios:
Publicar un comentario