Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2012, 19:24
Avatar de carlos_18araque
carlos_18araque
 
Fecha de Ingreso: julio-2012
Ubicación: Tovar, Mérida, Venezuela, Venezuela
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Exclamación programa en php me tiene que imprimir una tabla y darme los porcentajes

escribir un programa en php que ingrese las ultimas elecciones a alcalde del pueblox, en la cual se tienen 4 candidatos y 5 distritos. se desea lo siguiente:
a)imprimir la tabla con los datos y sus cabeceras incluidas.
b)calcular en imprimir el numero total de votos por cada candidato y el porcentaje de total de votos emitidos.
c)si algun candidato recibe mas del 50% de los datos, el programa imprimira un mensaje declarandolo ganador.
d)si ningun candidato recibe mas del 50% de los datos, el programa debe imprimir el nombre de los candidatos mas votados, que seran los que pasen a la segunda ronda de las elecciones.


ya monte la tabla me da el total de votos por candidato pero me falta el resto no se como hacerlo ayuda por fa aqui va el codigo

class elecciones{

private $result;
static $_instance;

public static function getInstance(){
if(!(self::$_instance instanceof self)){
self::$_instance = new self();
}
return self::$_instance;
}

public function total_votos($arr, $idx){
$sum = 0;
for($i=1; $i<6; $i++){
$sum += $arr[$idx][$i];
}
return $sum;
}

public function mayor_compra($arr){
$mayor = $this->total_votos($arr, 0);
$idx = 0;
for($i=1; $i<6; $i++){
if($this->total_votos($arr, $i) > $mayor){
$mayor = $this->total_votos($arr, $i);
$idx = $i;
}
}
echo 'Producto cuya compra es la mayor '.$arr[$idx]['nom'].' con '.$mayor.' Productos vendidos <br>';
}

public function mayor_descripcion($arr){
$mayor = $this->total_votos($arr, 1);
$idx = 1;
for($i=2; $i<6
; $i++){
if($this->total_votos($arr, $i) > $mayor){
$mayor = $this->total_votos($arr, $i);
$idx = $i;
}
}
echo 'La Mayor Venta por Marca es '.$mayor.' Autos Vendidos <br>';
}

public function menor_marca($arr){
$menor = $this->total_marca($arr, 1);
$idx = 1;
for($i=2; $i<6; $i++){
if($this->total_marca($arr, $i) < $menor){
$menor = $this->total_marca($arr, $i);
$idx = $i;
}
}
echo 'La Menor Venta por Marca es '.$menor.' Autos Vendidos <br>';
}

public function tabla_elecciones($arr){
echo '<table border="6" bordercolor="FF0000#255.0.0">';
echo '<td>Elecciones Pueblo CSM</td>';
echo '<td>Municipios </td>';
echo '<tr>';
echo '<td>Candidatos</td>';
echo '<td>Tovar</td>';
echo '<td>Guaraque</td>';
echo '<td>Bailadores</td>';
echo '<td>Santa cruz</td>';
echo '<td>Zea</td>';
echo '<td>Total votantes</strong></td>';
echo '<td>Porcentaje de Votos</strong></td>';
echo '</tr>';



for($i=0; $i<6; $i++){
echo '<tr>';
echo '<td>'.$arr[$i]['nom'].'</td>';
echo '<td>'.$arr[$i][1].'</td>';
echo '<td>'.$arr[$i][2].'</td>';
echo '<td>'.$arr[$i][3].'</td>';
echo '<td>'.$arr[$i][4].'</td>';
echo '<td>'.$arr[$i][5].'</td>';
echo '<td>'.$this->total_votos($arr, $i).'</td>';
echo '</tr>';

}
function porcentaje($total, $parte, $redondear = 2) {
return round($parte / $total * 100, $redondear);
}

$n1 = 234;
$n2 = 170;
$n3 = 235;
$n4 = 103;


$total = $n1+$n2+$n3+$n4;

echo "$n1 es el " . porcentaje($total, $n1, 2) . "% de 'Luis Capino' <br>";
echo "$n2 es el " . porcentaje($total, $n2, 2) . "% de 'Henry Candanga' <br>";
echo "$n3 es el " . porcentaje($total, $n3, 2) . "% de 'Juan copei' <br>";
echo "$n4 es el " . porcentaje($total, $n4, 2) . "% de 'Maria muu' <br>";

echo '</table>';
echo '<tr>';
echo '<td><strong>Totales</strong></td>';
echo '<td>'.$this->total_votos($arr, 1).'</td>';
echo '<td>'.$this->total_votos($arr, 2).'</td>';
echo '<td>'.$this->total_votos($arr, 3).'</td>';

'</td>';
echo '<td>'.$this->total_votos($arr).'</td>';
echo '</tr>';



}
}
?>

y este es el index


include('factura.php');

$obj = elecciones::getInstance();

$matriz = array(0 => array('nom' => 'Luis Capino',
1 => 100,
2 => 50,
3 => 40,
4 => 24,
5 => 20),
1 => array('nom' => 'Henry Candanga',
1 => 50,
2 => 60,
3 => 40,
4 => 10,
5 => 10),
2 => array('nom' => 'Juan copei',
1 => 50,
2 => 150,
3 => 10,
4 => 10,
5 => 15),
3 => array('nom' => 'Maria muu',
1 => 30,
2 => 30,
3 => 20,
4 => 20,
5 => 03)
);


$obj->tabla_elecciones($matriz);
$obj->total_votos($matriz);
$obj->porcentaje($matriz);
$obj->mayor_vendedor($matriz);
$obj->menor_vendedor($matriz);
$obj->menor_marca($matriz);
$obj->mayor_marca($matriz);




?>