Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Pepote21 en 09 de Agosto 2017, 16:26
-
Hola a todos. Os paso mí código del ejercicio CU00825B del curso básico de programación web en PHP.
Con respecto a la segunda parte, comentar que para las variables $a y $b he tenido que quitar los acentos cuando creí que podían llevarlos, ya que no me funcionaba. Esto me ha costado un poco. Y como error creo que se me ha quedado la (,) final en ruso que solucionaremos a medida que vayamos aprendiendo.
Con respecto a las variables $a y $b de la última fila yo creía que era más lógico utilizar las variables contadoras $i y $j, las cuales me llevarían a los corchetes que sería lo más lógico y así utilizar las variables $a y $b como variables string pudiendo utilizar los acentos, porque simplemente eran variables a utilizar en texto y que no dependían del array. Espero haberme explicado.
Gracias. Un saludo.
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio tema CU00824B aprenderaprogramar.com</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script type="text/javascript">
</script>
</head>
<body>
<?php
$nalumnos[0]['ingles']=1;
$nalumnos[0]['frances']=14;
$nalumnos[0]['aleman']=8;
$nalumnos[0]['ruso']=3;
$nalumnos[1]['ingles']=6;
$nalumnos[1]['frances']=19;
$nalumnos[1]['aleman']=7;
$nalumnos[1]['ruso']=2;
$nalumnos[2]['ingles']=3;
$nalumnos[2]['frances']=13;
$nalumnos[2]['aleman']=4;
$nalumnos[2]['ruso']=1;
$nivel=array('basico','medio','avanzado');
for($i=0;$i<3;$i++){
echo "En el nivel ".$nivel[$i].' hay:<br/>';
echo $nalumnos[$i]['ingles'].($nalumnos[$i]['ingles']==1?' alumno':' alumnos').' en inglés,<br/>';
echo $nalumnos[$i]['frances'].($nalumnos[$i]['frances']==1?' alumno':' alumnos').' en francés,<br/>';
echo $nalumnos[$i]['aleman'].($nalumnos[$i]['aleman']==1?' alumno':' alumnos').' en alemán y<br/>';
echo $nalumnos[$i]['ruso'].($nalumnos[$i]['ruso']==1?' alumno':' alumnos').' en ruso.<br/>';
}
echo "<br/>";
?>
<?php
$nalumnos['basico']['ingles']=1;
$nalumnos['basico']['frances']=14;
$nalumnos['basico']['aleman']=8;
$nalumnos['basico']['ruso']=3;
$nalumnos['medio']['ingles']=6;
$nalumnos['medio']['frances']=19;
$nalumnos['medio']['aleman']=7;
$nalumnos['medio']['ruso']=2;
$nalumnos['avanzado']['ingles']=3;
$nalumnos['avanzado']['frances']=13;
$nalumnos['avanzado']['aleman']=4;
$nalumnos['avanzado']['ruso']=1;
for($i=0;$i<3;$i++){
if($i==0){$b='basico';
}else if($i==1){$b='medio';
}else{$b='avanzado';
}
echo "En el nivel ".$b.' hay:<br/>';
for($j=0;$j<4;$j++){
if($j==0){$a='ingles';
}else if($j==1){$a='frances';
}else if($j==2){$a='aleman';
}else {$a='ruso';
}
echo $nalumnos[$b][$a].($nalumnos[$b][$a]==1?' alumno':' alumnos').' en '.$a.',<br/>';
}
}
?>
</body>
</html>
-
Buenas, ejercicio bien resuelto
Aclarar para quien tenga dificultades con una expresión como esta:
echo $nalumnos[$b][$a].($nalumnos[$b][$a]==1?' alumno':' alumnos').' en '.$a.',<br/>';
Que lo que se consigue aquí es que si el valor $nalumnos[$b][$a] es 1, se muestre "alumno" en singular, mientras que si es distinto de 1 se mostrará "alumnos" en plural. Este operador condicional se explica en la entrega CU00817B del curso.
Salu2