1 00:00:00,110 --> 00:00:10,730 Vale, pues el ejercicio 28 va a ser el primero en el que ya sea una pequeña aplicación para gestionar cosas. Dentro de las cosas que podemos hacer, pues con consola y poco más. 2 00:00:10,730 --> 00:00:19,420 un sistema para gestionar 3 00:00:19,420 --> 00:00:20,480 notas de alumnos. 4 00:00:21,399 --> 00:00:23,079 La primera versión es 5 00:00:23,079 --> 00:00:25,039 nombres de alumnos en un array. 6 00:00:25,140 --> 00:00:27,039 El sistema tiene que poder insertar alumnos, 7 00:00:27,179 --> 00:00:29,480 eliminarlos, buscarlos, 8 00:00:30,019 --> 00:00:31,160 es decir, devolver la posición, 9 00:00:31,399 --> 00:00:32,719 pero esa versión la vamos a 10 00:00:32,719 --> 00:00:34,619 directamente ya modificar 11 00:00:34,619 --> 00:00:36,759 para que además 12 00:00:36,759 --> 00:00:38,880 vamos a hacer una aplicación que trabaje 13 00:00:38,880 --> 00:00:41,240 con alumnos y sus notas. 14 00:00:41,939 --> 00:00:42,579 Entonces, 15 00:00:42,579 --> 00:00:45,060 los alumnos van a estar en un array 16 00:00:45,060 --> 00:00:46,899 y las notas en otro 17 00:00:46,899 --> 00:00:49,399 el array de los alumnos 18 00:00:49,399 --> 00:00:50,500 será de string 19 00:00:50,500 --> 00:00:53,119 no, porque 20 00:00:53,119 --> 00:00:55,840 no podemos hacerlo bidimensional 21 00:00:55,840 --> 00:00:57,500 porque las notas son enteras 22 00:00:57,500 --> 00:00:59,579 y los nombres 23 00:00:59,579 --> 00:01:01,560 son cadenas, entonces no puede ir 24 00:01:01,560 --> 00:01:03,520 en un mismo array, son tipos de datos distintos 25 00:01:03,520 --> 00:01:05,099 vale 26 00:01:05,099 --> 00:01:05,900 entonces 27 00:01:05,900 --> 00:01:09,219 tenemos un array de nombres 28 00:01:09,219 --> 00:01:11,359 y un array de, y aparte bidimensional 29 00:01:11,359 --> 00:01:15,319 se complicaría. Bueno, y una raíz de notas. Y ya está. 30 00:01:15,599 --> 00:01:19,420 Entonces, primero, la aplicación es de gestión de notas y de alumnos. 31 00:01:20,200 --> 00:01:23,819 Bueno, funcionalidades de la aplicación. Puedes insertar un alumno 32 00:01:23,819 --> 00:01:26,840 con su nota, eliminar un alumno con su nota, 33 00:01:27,819 --> 00:01:31,400 devolvamos a hacer, dado el nombre de alumno que te diga qué nota tiene, 34 00:01:31,939 --> 00:01:35,379 una serie de funcionalidades. Buscar 35 00:01:35,379 --> 00:01:38,519 alumnos que tengan menos de una nota, 36 00:01:38,519 --> 00:01:41,159 mostrar la nota media de alumnos 37 00:01:41,159 --> 00:01:42,739 vamos a hacer una aplicación 38 00:01:42,739 --> 00:01:44,000 de alguna manera 39 00:01:44,000 --> 00:01:46,920 una aplicación que gestione alumnos y notas 40 00:01:46,920 --> 00:01:47,760 entonces 41 00:01:47,760 --> 00:01:51,000 vamos a fijar primero los datos 42 00:01:51,000 --> 00:01:52,400 ya lo hemos dicho, los datos 43 00:01:52,400 --> 00:01:55,200 colección de alumnos, colección de notas 44 00:01:55,200 --> 00:01:56,959 ¿vale? siempre 45 00:01:56,959 --> 00:01:58,859 una primera fase es 46 00:01:58,859 --> 00:02:00,400 ¿dónde vamos a guardar esos datos? 47 00:02:01,060 --> 00:02:02,480 pues si tengo un montón de alumnos 48 00:02:02,480 --> 00:02:03,819 y tengo un montón de notas 49 00:02:03,819 --> 00:02:06,060 pues el montón de alumnos en un array 50 00:02:06,060 --> 00:02:08,479 y el montón de notas en otro array 51 00:02:08,479 --> 00:02:10,340 donde para una posición 52 00:02:10,340 --> 00:02:12,819 ese alumno se corresponde con su nota. 53 00:02:13,139 --> 00:02:14,120 Alumnos de una posición 54 00:02:14,120 --> 00:02:16,580 tienen su nota en la posición 55 00:02:16,580 --> 00:02:17,800 equivalente del otro array. 56 00:02:19,020 --> 00:02:20,639 Entonces podemos decidir que esa sea 57 00:02:20,639 --> 00:02:21,840 la forma de guardar los datos. 58 00:02:22,580 --> 00:02:23,659 Nuestro listado de notas. 59 00:02:24,280 --> 00:02:26,060 Y ahora, funcionalidades que vamos a hacer. 60 00:02:26,479 --> 00:02:28,719 Vamos a incorporar varias. Insertar nota, 61 00:02:28,840 --> 00:02:30,659 calcular nota media, el alumno que tenga 62 00:02:30,659 --> 00:02:32,439 la nota más alta, cuántos han suspendido. 63 00:02:32,520 --> 00:02:33,960 Vamos a meter diferentes funcionalidades. 64 00:02:34,479 --> 00:02:36,080 Meter un alumno nuevo, sacar alumnos. 65 00:02:36,080 --> 00:02:40,819 Bueno, como si fuera un sistema de gestión de notas y alumnos. 66 00:02:41,479 --> 00:02:41,740 Vale. 67 00:02:42,080 --> 00:02:44,699 Entonces, como la aplicación va a tener varias funcionalidades 68 00:02:44,699 --> 00:02:47,620 para que se comunique con el usuario, 69 00:02:47,699 --> 00:02:48,699 lo mejor es que tenga un menú. 70 00:02:49,020 --> 00:02:49,639 Claro, un menú. 71 00:02:50,080 --> 00:02:51,659 Los menús, ¿cómo funcionan? 72 00:02:52,139 --> 00:02:53,439 Te muestra este. 73 00:02:53,560 --> 00:02:54,280 ¿Qué quiere hacer? 74 00:02:54,659 --> 00:02:56,960 Insertar alumno, eliminar, mostrar nota media, 75 00:02:57,139 --> 00:02:59,180 calcular alumnos suspensos, etcétera. 76 00:02:59,819 --> 00:03:01,680 Te muestra una serie de opciones. 77 00:03:02,740 --> 00:03:03,599 Te lee la opción. 78 00:03:04,180 --> 00:03:05,560 Y luego ya en función de la opción, 79 00:03:05,560 --> 00:03:07,599 hace lo que tenga que hacer y vuelve a mostrar 80 00:03:07,599 --> 00:03:09,599 el menú, claro, pues justo 81 00:03:09,599 --> 00:03:11,439 lo que yo he dicho ya nos suena a dos cosas 82 00:03:11,439 --> 00:03:13,740 a do while y a switch case 83 00:03:13,740 --> 00:03:15,659 un do while que te 84 00:03:15,659 --> 00:03:17,840 hace, do, muestra menú 85 00:03:17,840 --> 00:03:19,460 ¿por qué do while? porque 86 00:03:19,460 --> 00:03:21,840 la primera vez entras seguro para mostrar menú 87 00:03:21,840 --> 00:03:23,639 claro, do 88 00:03:23,639 --> 00:03:25,479 while, dentro del do, muestras 89 00:03:25,479 --> 00:03:27,659 menú, les opción y un switch 90 00:03:27,659 --> 00:03:29,699 case que en función de la opción hace una cosa u otra 91 00:03:29,699 --> 00:03:31,539 mientras la opción diferente de 92 00:03:31,539 --> 00:03:33,379 salir y para arriba otra vez 93 00:03:33,379 --> 00:03:35,879 luego esa es la estructura de una aplicación 94 00:03:35,879 --> 00:03:37,879 con menú, pues vamos a hacer primero 95 00:03:37,879 --> 00:03:39,419 nuestro menú con las opciones 96 00:03:39,419 --> 00:03:41,439 y luego ya nos ponemos a programar cada opción 97 00:03:41,439 --> 00:03:44,159 claro, y nos quedará un programa pues muy largote 98 00:03:44,159 --> 00:03:45,960 venga 99 00:03:45,960 --> 00:03:48,259 ejercicio 28 100 00:03:48,259 --> 00:03:48,840 hemos quedado 101 00:04:08,020 --> 00:04:08,979 vale, pues venga 102 00:04:08,979 --> 00:04:09,620 los datos 103 00:04:09,620 --> 00:04:12,219 los datos hemos dicho que van a estar 104 00:04:12,219 --> 00:04:12,800 en 105 00:04:12,800 --> 00:04:15,599 dos arrays 106 00:04:15,599 --> 00:04:18,459 un array con los nombres 107 00:04:18,459 --> 00:04:19,480 de los alumnos 108 00:04:19,480 --> 00:04:26,870 vale 109 00:04:26,870 --> 00:04:27,910 entonces 110 00:04:27,910 --> 00:04:32,579 de cuantas posiciones 111 00:04:32,579 --> 00:04:35,300 pues como tenemos 112 00:04:35,300 --> 00:04:36,579 que decidirlo desde ya 113 00:04:36,579 --> 00:04:37,939 tenemos que decidirlo 114 00:04:37,939 --> 00:04:40,579 nosotros no sabemos cuantos alumnos hay 115 00:04:40,579 --> 00:04:42,620 de hecho se van a estar insertando 116 00:04:42,620 --> 00:04:44,600 eliminando, no sabemos 117 00:04:44,600 --> 00:04:46,160 entonces una opción que tenemos 118 00:04:46,160 --> 00:04:48,600 una opción que tenemos, luego ya modificaremos 119 00:04:48,600 --> 00:04:49,339 para hacer una 120 00:04:49,339 --> 00:04:52,660 mejor, pero una opción que tenemos 121 00:04:52,660 --> 00:04:54,300 fácil es 122 00:04:54,300 --> 00:04:56,920 me declaro una caja de alumnos muy grandota 123 00:04:56,920 --> 00:04:58,740 por ejemplo hasta 100 124 00:04:58,740 --> 00:05:00,420 y como mucho 125 00:05:00,420 --> 00:05:01,480 me van a caber 100 126 00:05:01,480 --> 00:05:04,019 entonces yo pues ahí 127 00:05:04,019 --> 00:05:06,480 tendré en cada momento los alumnos que tenga 128 00:05:06,480 --> 00:05:08,519 a lo mejor tengo relleno solo 5 129 00:05:08,519 --> 00:05:10,180 que me dicen insertar 1 130 00:05:10,180 --> 00:05:11,899 pues ya tengo 1 más 6 131 00:05:11,899 --> 00:05:13,660 que me dicen eliminar 1 132 00:05:13,660 --> 00:05:15,819 pues me quedo con 1 menos 133 00:05:15,819 --> 00:05:18,360 Pero en mi caja como caben hasta 100 134 00:05:18,360 --> 00:05:19,120 Pues no hay problema 135 00:05:19,120 --> 00:05:21,399 Entonces nos podemos quedar ahí con 100 136 00:05:21,399 --> 00:05:22,339 Venga 137 00:05:22,339 --> 00:05:25,540 Y ahora las notas pues lo mismo 138 00:05:25,540 --> 00:05:34,560 Cada posición tiene 139 00:05:34,560 --> 00:05:37,379 La nota del alumno que está en esa misma posición 140 00:05:37,379 --> 00:05:41,680 Vale 141 00:05:41,680 --> 00:05:43,860 Como vamos a tener que leer por teclado 142 00:05:43,860 --> 00:05:46,560 En algún momento 143 00:05:46,560 --> 00:05:53,519 Ahora vamos a ponerlo 144 00:05:53,519 --> 00:05:55,180 Cuando hagamos el menú las vamos escribiendo. 145 00:05:55,540 --> 00:05:57,740 Cuando escribamos las... 146 00:05:57,740 --> 00:05:58,519 Vale, entonces. 147 00:05:59,220 --> 00:06:01,079 Ahora, ¿el programa en qué va a constar? 148 00:06:01,639 --> 00:06:03,579 Pues en un menú que se muestra menú. 149 00:06:04,399 --> 00:06:05,300 Le opción... 150 00:06:05,300 --> 00:06:06,819 Pues venga, esto es un do while. 151 00:06:10,339 --> 00:06:11,180 Un do while. 152 00:06:11,319 --> 00:06:12,319 Aquí vamos a hacer un do while. 153 00:06:13,519 --> 00:06:14,939 ¿El bucle cuándo va a terminar? 154 00:06:15,500 --> 00:06:18,240 Cuando la opción metida sea la diferente de salir. 155 00:06:19,180 --> 00:06:21,160 Esto ya lo comprobaremos, esa condición. 156 00:06:21,160 --> 00:06:22,899 Ya lo comprobaremos, esa condición. 157 00:06:23,519 --> 00:06:25,160 Por el dual, ¿qué va a hacer? ¿Mostrar menú? 158 00:06:25,620 --> 00:06:27,720 Pues mostrar menú es 159 00:06:27,720 --> 00:06:30,220 un rollo 160 00:06:30,220 --> 00:06:33,439 porque tenemos que escribir todas las opciones. 161 00:06:33,439 --> 00:06:33,920 ¡Joder! 162 00:06:35,079 --> 00:06:35,980 Se me ha ido. 163 00:06:42,649 --> 00:06:44,509 Vale, pues a ver opciones. 164 00:06:44,689 --> 00:06:45,290 Vamos a poner 165 00:06:45,290 --> 00:06:48,009 insertar alumno. 166 00:06:48,970 --> 00:06:50,569 Vamos a inventarnos unas cuantas 167 00:06:50,569 --> 00:06:51,350 interesantes. 168 00:06:53,329 --> 00:06:54,430 He puesto 28 169 00:06:54,430 --> 00:06:56,750 pero va a ser una cosa tuneada 170 00:06:56,750 --> 00:06:58,949 a nuestros intereses. 171 00:07:02,110 --> 00:07:03,550 Eliminar alumno. 172 00:07:04,550 --> 00:07:05,029 Vale. 173 00:07:06,149 --> 00:07:08,110 Poner nota a un alumno. 174 00:07:19,560 --> 00:07:21,199 Porque cuando insertamos un alumno, 175 00:07:21,279 --> 00:07:22,779 inicialmente lo insertamos sin nota. 176 00:07:22,879 --> 00:07:23,980 Nota cero podemos poner. 177 00:07:24,399 --> 00:07:25,699 Y luego ya, cuando ese alumno está, 178 00:07:25,759 --> 00:07:26,860 le vamos poniendo sus notas. 179 00:07:27,959 --> 00:07:29,240 Poner nota a un alumno. 180 00:07:29,620 --> 00:07:29,879 Vale. 181 00:07:29,959 --> 00:07:31,519 ¿Qué más funcionalidades nos pueden interesar? 182 00:07:32,040 --> 00:07:35,100 Pues, por ejemplo, sacar listado. 183 00:07:35,100 --> 00:07:37,360 porque si sacamos un listado será la forma 184 00:07:37,360 --> 00:07:39,139 que comprobemos si estamos insertando bien o mal 185 00:07:39,139 --> 00:07:39,459 claro 186 00:07:39,459 --> 00:07:45,000 sacar listado de notas 187 00:07:45,000 --> 00:07:47,439 y así será la forma de comprobar que lo estamos haciendo 188 00:07:47,439 --> 00:07:49,319 bien, bueno, no estoy poniendo el número 189 00:07:49,319 --> 00:07:51,160 de la opción, entonces el tío no va a saber 190 00:07:51,160 --> 00:07:52,439 claro 191 00:07:52,439 --> 00:07:55,420 2, 3, o podéis poner 192 00:07:55,420 --> 00:07:56,879 A, B, C, la que os dé la gana 193 00:07:56,879 --> 00:07:59,459 2, 3, 4 194 00:07:59,459 --> 00:08:00,879 sacar listado de notas 195 00:08:00,879 --> 00:08:03,660 vale, por ejemplo 196 00:08:03,660 --> 00:08:05,860 vamos a hacer una opción que sea 197 00:08:05,860 --> 00:08:08,079 ratio 198 00:08:08,079 --> 00:08:09,300 de suspensos 199 00:08:09,300 --> 00:08:11,819 para ver si tienen que expulsar 200 00:08:11,819 --> 00:08:12,839 al profe o no 201 00:08:12,839 --> 00:08:14,500 vale 202 00:08:14,500 --> 00:08:17,180 ni de coña 203 00:08:17,180 --> 00:08:19,339 así que no os hagáis ilusiones 204 00:08:19,339 --> 00:08:21,600 digo porque nos ponemos a suspender a propósito 205 00:08:21,600 --> 00:08:22,459 no, no, no 206 00:08:22,459 --> 00:08:24,779 pero te pagan menos algo 207 00:08:24,779 --> 00:08:27,019 ¿qué va? te van a pagar menos 208 00:08:27,019 --> 00:08:29,639 te pagan lo mismo, ¿que para qué sigan 209 00:08:29,639 --> 00:08:31,620 todos suspensos? pues para información 210 00:08:31,620 --> 00:08:33,639 para ti decir, ostras, suspenden muchos 211 00:08:33,639 --> 00:08:34,539 ¿qué hacemos? 212 00:08:37,500 --> 00:08:38,360 hombre, a ver 213 00:08:38,360 --> 00:08:40,399 pues sirve para cosas, en mi caso 214 00:08:40,399 --> 00:08:41,639 para que grabe las clases 215 00:08:41,639 --> 00:08:45,440 para que repita las cosas 216 00:08:45,440 --> 00:08:47,100 200.000 veces 217 00:08:47,100 --> 00:08:49,120 para todo, que sigue sin funcionar 218 00:08:49,120 --> 00:08:50,360 pues ya no se me ocurre nada más 219 00:08:50,360 --> 00:08:52,519 no se me ocurre más 220 00:08:52,519 --> 00:08:56,419 relájate 221 00:08:56,419 --> 00:08:58,740 ratio de suspensos 222 00:08:58,740 --> 00:09:00,559 ¿qué más funcionalidades pueden ser interesantes? 223 00:09:02,460 --> 00:09:03,320 nota media 224 00:09:03,320 --> 00:09:05,059 Nota media del curso 225 00:09:05,059 --> 00:09:07,460 Enviar un mail 226 00:09:07,460 --> 00:09:09,240 Al alumno con menos nota 227 00:09:09,240 --> 00:09:10,000 Para reírnos de él 228 00:09:10,000 --> 00:09:12,600 Pues mira, eso se haría en cuatro líneas 229 00:09:12,600 --> 00:09:14,700 Se coge una librería, pim, y se envía el email 230 00:09:14,700 --> 00:09:16,200 Y llega tu email a tu bandeja de entrada 231 00:09:16,200 --> 00:09:17,759 Pero eso más adelante 232 00:09:17,759 --> 00:09:19,419 ¿Vale? 233 00:09:20,100 --> 00:09:21,399 Mojarnos de alumnos 234 00:09:21,399 --> 00:09:23,679 Vale, no, y la de salir 235 00:09:23,679 --> 00:09:25,259 Mojarnos de Pedro 236 00:09:25,259 --> 00:09:29,019 Mi madre está bien 237 00:09:29,019 --> 00:09:32,419 Venga, y salir 238 00:09:32,419 --> 00:09:33,960 Ahora 239 00:09:33,960 --> 00:09:36,059 una vez que hemos mostrado el menú 240 00:09:36,059 --> 00:09:37,559 hay que leer la opción 241 00:09:37,559 --> 00:09:40,279 pues por ejemplo la opción 242 00:09:40,279 --> 00:09:42,159 la podemos leer así 243 00:09:42,159 --> 00:09:45,980 bueno 244 00:09:45,980 --> 00:09:48,299 opción como queráis 245 00:09:48,299 --> 00:09:49,340 llamar a esa variable 246 00:09:49,340 --> 00:09:52,340 entonces ahora ya en función 247 00:09:52,340 --> 00:09:54,460 de si la opción es 1, 2, 3, 4, 5, 6 248 00:09:54,460 --> 00:09:56,120 y 7 pues se hace una cosa u otra 249 00:09:56,120 --> 00:09:57,700 entonces ahora ya 250 00:09:57,700 --> 00:10:00,139 si que tiene sentido hacer esto 251 00:10:00,139 --> 00:10:02,340 en el caso 252 00:10:02,340 --> 00:10:03,419 de que la opción sea 253 00:10:03,419 --> 00:10:05,820 Case 1 254 00:10:05,820 --> 00:10:07,039 Pues bla bla bla 255 00:10:07,039 --> 00:10:08,419 Tendremos que hacer lo que toque 256 00:10:08,419 --> 00:10:14,500 Y así con las 7 257 00:10:14,500 --> 00:10:17,840 Siguientes 258 00:10:17,840 --> 00:10:37,529 Vale, no sé cuántas llevo 259 00:10:37,529 --> 00:10:39,970 Case 1 lo que sea, case 2 lo que sea 260 00:10:39,970 --> 00:10:41,929 Case 3 lo que sea 261 00:10:41,929 --> 00:10:43,309 4 262 00:10:43,309 --> 00:10:46,539 5 263 00:10:46,539 --> 00:10:49,120 6, 7 264 00:10:49,120 --> 00:10:50,179 En el caso 7 265 00:10:50,179 --> 00:10:53,279 Pues ya sabemos que lo que vamos a hacer va a ser un mensajito 266 00:10:53,279 --> 00:10:54,779 Vale, adiós 267 00:10:54,779 --> 00:10:56,759 Para que el tío sepa que se va. 268 00:10:58,759 --> 00:11:00,519 Cerrando aplicación, por ejemplo. 269 00:11:02,970 --> 00:11:05,009 Ala, en el caso 7 cerramos aplicación. 270 00:11:08,950 --> 00:11:10,629 No, porque es que ya el programa va a terminar. 271 00:11:10,750 --> 00:11:11,529 Va a terminar el bucle. 272 00:11:13,230 --> 00:11:14,850 Y podemos poner un default. 273 00:11:15,049 --> 00:11:17,649 Porque imaginaos que el tío la mete mal, la opción. 274 00:11:18,750 --> 00:11:20,029 Entonces, pues le decimos. 275 00:11:22,429 --> 00:11:23,429 Opción incorrecta. 276 00:11:23,629 --> 00:11:24,710 Para que se vaya a mostrar el menú. 277 00:11:26,899 --> 00:11:27,700 ¿Qué ocurre? 278 00:11:27,919 --> 00:11:29,519 Voy, voy, voy 279 00:11:29,519 --> 00:11:33,110 Pero no hay nada arriba 280 00:11:33,110 --> 00:11:36,929 Vale, entonces ahora ya 281 00:11:36,929 --> 00:11:39,990 Sí que podemos marcar la condición 282 00:11:39,990 --> 00:11:41,730 Este bucle se va a estar ejecutando 283 00:11:41,730 --> 00:11:43,809 Muestra menú, lee opción, procesa 284 00:11:43,809 --> 00:11:45,990 Muestra menú, lee opción, procesa 285 00:11:45,990 --> 00:11:48,529 Se va a estar ejecutando todo el rato 286 00:11:48,529 --> 00:11:49,529 Mientras la opción 287 00:11:49,529 --> 00:11:51,970 Sea diferente de la 7 288 00:11:51,970 --> 00:11:52,789 Que es la de salir 289 00:11:52,789 --> 00:11:54,350 ¿Verdad? 290 00:11:54,830 --> 00:11:57,009 Mientras la opción sea diferente de la de salir 291 00:11:57,009 --> 00:11:58,750 Va a estar 292 00:11:58,750 --> 00:12:00,730 entonces cuando el tío dé la opción de salir 293 00:12:00,730 --> 00:12:02,929 este do while termina y el programa 294 00:12:02,929 --> 00:12:03,769 ya no hace nada más 295 00:12:03,769 --> 00:12:05,929 con lo cual habrá salido 296 00:12:05,929 --> 00:12:08,009 bueno, como quieras 297 00:12:08,009 --> 00:12:10,690 entonces, pero aquí que ocurre 298 00:12:10,690 --> 00:12:12,409 que el compilador me dice 299 00:12:12,409 --> 00:12:14,610 eh, opción, no tengo ni idea de cuál es opción 300 00:12:14,610 --> 00:12:17,090 claro que no tiene ni idea, porque la he declarado 301 00:12:17,090 --> 00:12:18,250 dentro de este bloque 302 00:12:18,250 --> 00:12:20,090 por eso yo había hecho un boolean salir 303 00:12:20,090 --> 00:12:22,789 y luego en la opción 7 le meto un 304 00:12:22,789 --> 00:12:23,490 igual a 3 305 00:12:23,490 --> 00:12:26,169 claro, la he declarado dentro de este bloque 306 00:12:26,169 --> 00:12:27,990 pues claro, no pasa nada 307 00:12:27,990 --> 00:12:29,929 es que lo que tienes es que declararla fuera 308 00:12:29,929 --> 00:12:31,809 entonces la declaramos fuera 309 00:12:31,809 --> 00:12:33,210 y ahora ya soluciona el problema 310 00:12:33,210 --> 00:12:35,830 ¿vale? la opción se declara 311 00:12:35,830 --> 00:12:37,990 fuera y se lee dentro 312 00:12:37,990 --> 00:12:41,929 es que se usa 313 00:12:41,929 --> 00:12:43,690 en esta condición y esto está fuera 314 00:12:43,690 --> 00:12:44,350 de estas llaves 315 00:12:44,350 --> 00:12:46,789 entonces la declaras fuera 316 00:12:46,789 --> 00:12:48,110 pero la lees aquí 317 00:12:48,110 --> 00:12:50,950 entonces este es un dual que está todo el rato 318 00:12:50,950 --> 00:12:53,370 muestra menú, lee opción 319 00:12:53,370 --> 00:12:54,309 y haz lo que toque 320 00:12:54,309 --> 00:12:56,950 muestra menú, lee opción y haz lo que toque 321 00:12:56,950 --> 00:12:58,710 si la opción es la 7 322 00:12:58,710 --> 00:13:01,450 lo que tocará será cerrando aplicación 323 00:13:01,450 --> 00:13:03,309 y cuando nos vayamos a 324 00:13:03,309 --> 00:13:05,330 la condición 325 00:13:05,330 --> 00:13:06,929 dirá, uy es la 7, pues ya está 326 00:13:06,929 --> 00:13:08,649 ya no hará más, vale 327 00:13:08,649 --> 00:13:17,529 ya está, ahora nos falta rellenar las opciones 328 00:13:17,529 --> 00:13:19,590 entonces si ejecutamos 329 00:13:19,590 --> 00:13:21,690 esto, pues ahora mismo 330 00:13:21,690 --> 00:13:23,190 las opciones del menú no harán nada 331 00:13:23,190 --> 00:13:24,789 pero al menos ya funcionará esto como 332 00:13:24,789 --> 00:13:27,330 insertar al 1, 1, ya está 333 00:13:27,330 --> 00:13:29,169 no me hace nada, pero 334 00:13:29,169 --> 00:13:30,870 me muevo, me muestra el menú 335 00:13:30,870 --> 00:13:33,330 Venga, ahora voy a poner nota a un alumno 336 00:13:33,330 --> 00:13:35,570 No hace nada porque no tengo nada puesto 337 00:13:35,570 --> 00:13:36,610 Pero me vuelvo a mostrar el menú 338 00:13:36,610 --> 00:13:38,889 6, vale, no hace nada 339 00:13:38,889 --> 00:13:39,830 Me vuelvo a mostrar el menú 340 00:13:39,830 --> 00:13:42,830 7, ala, cerrando aplicación y se acabó el programa 341 00:13:42,830 --> 00:13:46,070 Bueno, pues la estructura del menú funciona 342 00:13:46,070 --> 00:13:48,029 Pero claro 343 00:13:48,029 --> 00:13:49,769 Ahora viene 344 00:13:49,769 --> 00:13:52,049 Lo conflictivo 345 00:13:52,049 --> 00:13:54,750 Que se acerca a una de las opciones 346 00:13:54,750 --> 00:13:56,370 ¿Vale? 347 00:13:58,500 --> 00:13:58,899 Vale 348 00:13:58,899 --> 00:14:02,159 Yo creo que me he dejado el teléfono en el baño 349 00:14:02,159 --> 00:14:12,980 No está mi teléfono por ahí, ¿verdad? 350 00:14:16,179 --> 00:14:18,080 A ver, que creo que me lo deja en el baño 351 00:14:18,080 --> 00:14:20,360 Porque se ha ido el internet este 352 00:14:20,360 --> 00:14:21,840 Seguimos 353 00:14:21,840 --> 00:14:29,080 Venga, vamos con las 354 00:14:29,080 --> 00:14:30,000 Funcionalidades 355 00:14:30,000 --> 00:14:34,139 Este programa se nos va a alargar 356 00:14:34,139 --> 00:14:37,740 se nos va a alargar en líneas 357 00:14:37,740 --> 00:14:39,240 un montón. 358 00:14:40,220 --> 00:14:42,059 ¿Vale? Silencio. 359 00:14:42,519 --> 00:14:43,919 Claro, ¿por qué? Porque no sabemos 360 00:14:43,919 --> 00:14:46,179 todavía hacer métodos de librería. 361 00:14:46,740 --> 00:14:47,620 No sabemos. 362 00:14:48,000 --> 00:14:49,940 Cuando sepamos hacer métodos de librería, en lugar 363 00:14:49,940 --> 00:14:51,159 de tener un programa enorme, 364 00:14:51,940 --> 00:14:54,100 dividiremos esas porciones que yo he 365 00:14:54,100 --> 00:14:55,539 dicho. Pues la de ver si algo está o no está. 366 00:14:55,620 --> 00:14:57,899 A ver si no sé qué. Lo dividiremos en funciones distintas. 367 00:14:58,299 --> 00:14:59,759 Entonces, mi programa será llamar 368 00:14:59,759 --> 00:15:01,940 a esas funciones, pero como ahora mismo no sabemos 369 00:15:01,940 --> 00:15:03,340 hacerlo, se nos va a quedar un programa 370 00:15:03,340 --> 00:15:05,259 enormísimo, ¿vale? 371 00:15:06,019 --> 00:15:07,440 Venga, pues vamos al caso 1 372 00:15:07,440 --> 00:15:12,100 No, no es difícil hacerlo, pero vamos 373 00:15:12,100 --> 00:15:13,600 a ver primero esta parte 374 00:15:13,600 --> 00:15:16,320 Eso, eso 375 00:15:16,320 --> 00:15:18,379 Vale, insertar 376 00:15:18,379 --> 00:15:20,240 alumno, insertar alumno 377 00:15:20,240 --> 00:15:20,759 Pues venga 378 00:15:20,759 --> 00:15:24,039 Para insertar alumno habrá que decirle 379 00:15:24,039 --> 00:15:26,360 al usuario, introduzca 380 00:15:26,360 --> 00:15:27,620 el nombre del alumno, ¿verdad? 381 00:15:27,620 --> 00:15:33,059 veis que aplicación más bonita nos queda 382 00:15:33,059 --> 00:15:37,000 introduzca nombre del alumno 383 00:15:37,000 --> 00:15:39,100 vale, leemos el nombre del alumno 384 00:15:39,100 --> 00:15:48,669 vale 385 00:15:48,669 --> 00:15:50,529 y ahora, este nombre donde se coloca 386 00:15:50,529 --> 00:15:52,370 en la primera 387 00:15:52,370 --> 00:15:54,110 posición libre de este array 388 00:15:54,110 --> 00:15:56,389 este array es la 389 00:15:56,389 --> 00:15:58,370 caja que hemos hecho para guardar 390 00:15:58,370 --> 00:15:58,750 los alumnos 391 00:15:58,750 --> 00:16:01,529 claro, está al principio 392 00:16:01,529 --> 00:16:03,190 vale, es que 393 00:16:03,190 --> 00:16:05,289 de la barrita 394 00:16:05,289 --> 00:16:13,730 vale 395 00:16:13,730 --> 00:16:20,269 Entonces, este array de aquí inicialmente tiene nul, nul, nul, nul, nul en la primera posición que esté libre. 396 00:16:20,590 --> 00:16:22,190 ¿Cuál es la primera posición que esté libre? 397 00:16:22,710 --> 00:16:31,169 No lo sabemos, pues necesitamos una variable adicional que lleve un registro de la primera posición libre. 398 00:16:31,830 --> 00:16:36,909 Entonces, a variable adicional, pues una variable posiciono como sea que inicialmente es cero. 399 00:16:37,970 --> 00:16:39,690 Cero, la declaro aquí. 400 00:16:39,690 --> 00:16:42,309 entonces ahora ya, este alumno 401 00:16:42,309 --> 00:16:46,419 le podemos guardar ya en 402 00:16:46,419 --> 00:16:48,480 alumnos de post 403 00:16:48,480 --> 00:16:50,379 y dejamos este incrementado 404 00:16:50,379 --> 00:16:51,860 para el siguiente que creemos 405 00:16:51,860 --> 00:16:53,379 nombre 406 00:16:53,379 --> 00:16:58,480 vale, y la nota hemos dicho que cuando a un alumno 407 00:16:58,480 --> 00:17:00,120 se le crea por primera vez 408 00:17:00,120 --> 00:17:01,899 se le pone nota 0 409 00:17:01,899 --> 00:17:04,279 pues venga, vamos a ponerle 410 00:17:04,279 --> 00:17:06,420 notas 411 00:17:06,420 --> 00:17:10,319 este igual a 0 412 00:17:10,319 --> 00:17:12,859 hemos insertado ya un alumno 413 00:17:12,859 --> 00:17:14,460 ah, perdón, no, no, no, cuidado 414 00:17:14,460 --> 00:17:17,259 notas, no lo puedo incrementar aquí 415 00:17:17,259 --> 00:17:18,700 porque notas tiene que ir al mismo sitio 416 00:17:18,700 --> 00:17:23,670 es decir 417 00:17:23,670 --> 00:17:25,650 pos es la posición 418 00:17:25,650 --> 00:17:27,910 hasta la que hay rellenos, tanto alumnos 419 00:17:27,910 --> 00:17:29,309 como notas, porque van en paralelo 420 00:17:29,309 --> 00:17:31,930 si hay un alumno está su nota, si hay un alumno está su nota 421 00:17:31,930 --> 00:17:33,670 vale, pues inicialmente 422 00:17:33,670 --> 00:17:34,329 pos es cero 423 00:17:34,329 --> 00:17:37,589 entonces, cuando yo inserto un alumno 424 00:17:37,589 --> 00:17:38,829 lo guardo en esa posición 425 00:17:38,829 --> 00:17:41,710 pongo su nota correspondiente 426 00:17:41,710 --> 00:17:43,470 que está en esa misma posición, pongo su nota 427 00:17:43,470 --> 00:17:45,569 a cero y dejo esto 428 00:17:45,569 --> 00:17:47,750 incrementado para que el siguiente 429 00:17:47,750 --> 00:17:49,089 alumno que se introduzca 430 00:17:49,089 --> 00:17:50,789 se quede en la siguiente posición. 431 00:17:51,569 --> 00:17:53,490 He quitado esto que había puesto yo así 432 00:17:53,490 --> 00:17:55,549 muy rápidamente, porque si ponía 433 00:17:55,549 --> 00:17:57,569 esto, las notas se ponían en la siguiente, 434 00:17:57,710 --> 00:17:59,569 en la que no era. No, se tiene que poner 435 00:17:59,569 --> 00:17:59,990 en la misma. 436 00:18:03,680 --> 00:18:04,779 Vale, pues el alumno 437 00:18:04,779 --> 00:18:05,500 ya está metido. 438 00:18:08,130 --> 00:18:08,910 El alumno ya está. 439 00:18:12,170 --> 00:18:13,430 Vale, ¿qué vamos a hacer después? 440 00:18:13,430 --> 00:18:14,450 ¿Puedes repetir un poco? 441 00:18:14,450 --> 00:18:15,750 Espera, me acuerdo del 1 del 2. 442 00:18:16,829 --> 00:18:17,750 Yo también me he rayado. 443 00:18:18,450 --> 00:18:27,109 A ver, yo tengo un array pensado para meter alumnos y sus notas en posiciones idénticas que inicialmente no tiene nada. 444 00:18:27,890 --> 00:18:34,930 Entonces voy a usar esta variable adicional para indicar cuál es la posición en la que me toca meter un alumno nuevo. 445 00:18:34,990 --> 00:18:37,089 La primera vacía, la primera vacía. 446 00:18:37,289 --> 00:18:40,029 Inicialmente la primera vacía es la cero, la primera vacía. 447 00:18:40,650 --> 00:18:44,230 Entonces cuando yo inserto un alumno, lo insertaré en la primera vacía. 448 00:18:44,230 --> 00:18:46,490 y dejo post incrementado 449 00:18:46,490 --> 00:18:48,609 para que la primera vacía se quede incrementada 450 00:18:48,609 --> 00:18:49,089 en una unidad. 451 00:18:53,890 --> 00:18:54,829 Bueno, cada uno 452 00:18:54,829 --> 00:18:56,630 lleva su nota. Entonces, los requisitos 453 00:18:56,630 --> 00:18:58,529 de la aplicación me dicen, cuando insertes 454 00:18:58,529 --> 00:19:00,589 un alumno, ponle nota cero. Luego ya hay una funcionalidad 455 00:19:00,589 --> 00:19:02,089 después que es ponerle una nota a ese. 456 00:19:03,369 --> 00:19:03,609 ¿Vale? 457 00:19:08,039 --> 00:19:09,559 Bueno, pues entonces, vamos a 458 00:19:09,559 --> 00:19:10,720 saltarnos la de eliminar. 459 00:19:11,980 --> 00:19:13,440 Vamos a saltarnos la de eliminar. 460 00:19:14,019 --> 00:19:15,579 Vamos a hacer la de ponerle nota a un 461 00:19:15,579 --> 00:19:16,720 alumno. Ahora ya sí. 462 00:19:17,200 --> 00:19:20,359 la de eliminar, por ahora nos la saltamos, 463 00:19:20,500 --> 00:19:22,299 vamos a poner la funcionalidad de poner nota 464 00:19:22,299 --> 00:19:24,299 a un alumno. Vale, pues esta es 465 00:19:24,299 --> 00:19:26,259 la opción 3. Habrá que 466 00:19:26,259 --> 00:19:27,460 preguntarle primero 467 00:19:27,460 --> 00:19:30,319 nombre del alumno 468 00:19:30,319 --> 00:19:31,359 al que vamos a poner nota. 469 00:19:34,529 --> 00:19:35,529 Nombre de alumno. 470 00:19:36,430 --> 00:19:37,970 Vale, estamos en la funcionalidad 471 00:19:37,970 --> 00:19:39,849 de poner nota a un alumno. Nombre 472 00:19:39,849 --> 00:19:41,750 de alumno. Leemos la nota 473 00:19:41,750 --> 00:19:43,970 de ese alumno. Perdón, el nombre de ese alumno 474 00:19:43,970 --> 00:19:45,009 al que hay que ponerle nota. 475 00:19:45,009 --> 00:19:56,170 Vale, nombre como ya está declarado 476 00:19:56,170 --> 00:19:57,670 No hace falta que lo redeclare 477 00:19:57,670 --> 00:20:00,309 Ahora, ¿qué tengo que hacer con ese alumno 478 00:20:00,309 --> 00:20:01,410 Al que le tengo que poner nota? 479 00:20:01,890 --> 00:20:03,950 Voy a tener que buscar en el array de alumnos 480 00:20:03,950 --> 00:20:06,170 Y cuando encuentre en qué posición está 481 00:20:06,170 --> 00:20:08,470 En esa misma posición 482 00:20:08,470 --> 00:20:10,390 De notas, le pongo la nota 483 00:20:10,390 --> 00:20:10,890 Que me den 484 00:20:10,890 --> 00:20:13,549 Nombre de alumno y qué nota quiere poner 485 00:20:13,549 --> 00:20:14,450 Vamos a pedirle 486 00:20:14,450 --> 00:20:22,329 Nota que quiere poner al alumno 487 00:20:22,329 --> 00:20:24,950 el mensajito para que quede claro 488 00:20:24,950 --> 00:20:25,829 lo que queremos hacer 489 00:20:25,829 --> 00:20:30,890 y leemos pues eso 490 00:20:30,890 --> 00:20:32,069 una nota cualquiera 491 00:20:32,069 --> 00:20:37,920 vale, pues ahora, ahora ya sí que 492 00:20:37,920 --> 00:20:39,980 hay que recorrer el array 493 00:20:39,980 --> 00:20:41,740 hasta encontrar la 494 00:20:41,740 --> 00:20:44,119 posición en la que está ese alumno 495 00:20:44,119 --> 00:20:45,680 y cuando la encontremos 496 00:20:45,680 --> 00:20:47,960 en esa misma posición del array notas 497 00:20:47,960 --> 00:20:48,940 ir a esa nota 498 00:20:48,940 --> 00:20:51,539 pues venga, vamos a recorrer el array de alumnos 499 00:20:51,539 --> 00:20:55,140 mientras si sea menor 500 00:20:55,140 --> 00:21:04,660 Porque alumnos.lens, voy a dejarlo así a ver si alguno se pone nervioso. 501 00:21:05,920 --> 00:21:08,480 A ver, recorro la raíz de alumnos. 502 00:21:08,480 --> 00:21:19,579 Ahora, para cada alumno, si ese alumno resulta que es igual al que me han pasado que busque, 503 00:21:19,900 --> 00:21:21,119 si es igual, ¿qué ocurre? 504 00:21:21,779 --> 00:21:24,779 Que en esta posición y es en la que está ese alumno. 505 00:21:24,779 --> 00:21:26,180 es en esta posicioni 506 00:21:26,180 --> 00:21:29,460 pues entonces será en esta 507 00:21:29,460 --> 00:21:31,359 posicioni en la que yo tenga 508 00:21:31,359 --> 00:21:33,160 que poner dentro de la array notas 509 00:21:33,160 --> 00:21:34,880 la nota que me han dado 510 00:21:34,880 --> 00:21:38,519 ¿verdad? 511 00:21:39,460 --> 00:21:41,420 no, en mi cabeza no piensa así 512 00:21:41,420 --> 00:21:43,799 si hombre, que si, que si, ¿cómo no va a pensar así? 513 00:21:43,859 --> 00:21:44,539 claro que piensa así 514 00:21:44,539 --> 00:21:47,440 a ver, estamos recorriendo 515 00:21:47,440 --> 00:21:48,420 el array de alumnos 516 00:21:48,420 --> 00:21:52,940 para cada alumno 517 00:21:52,940 --> 00:21:55,200 en cuanto encontramos el alumno 518 00:21:55,200 --> 00:21:56,480 ¿Cuyo nombre es el que me han dado? 519 00:21:56,700 --> 00:21:58,140 Pues es el que está en esa posición. 520 00:21:58,619 --> 00:21:59,819 Vale, pero ¿por qué la de nota sí? 521 00:22:00,559 --> 00:22:04,839 Vale, porque si este alumno es igual al nombre que me han dado, 522 00:22:05,420 --> 00:22:08,339 es que el alumno de posición i es igual al nombre que me han dado. 523 00:22:09,000 --> 00:22:12,079 Pues el alumno de posición i tiene que tener su nota 524 00:22:12,079 --> 00:22:14,200 en la posición i del otro array. 525 00:22:15,059 --> 00:22:18,759 Pues entonces en la posición i del otro array le pongo su nota. 526 00:22:19,319 --> 00:22:20,940 En la posición i del otro array. 527 00:22:21,200 --> 00:22:21,640 Ah, vale. 528 00:22:23,299 --> 00:22:23,779 ¿Vale? 529 00:22:23,980 --> 00:22:24,220 Ok. 530 00:22:26,900 --> 00:22:28,680 Vale, ahora sí, pero no. 531 00:22:30,980 --> 00:22:32,059 Casi, pero no. 532 00:22:32,579 --> 00:22:33,420 Aquí hay un problema. 533 00:22:34,279 --> 00:22:36,980 Que estoy recorriendo el array de alumnos entero. 534 00:22:37,799 --> 00:22:40,839 Y tengo que recorrer el array de alumnos ancianos. 535 00:22:40,920 --> 00:22:43,920 Tengo que recorrer solo los que hay rellenos de verdad. 536 00:22:44,619 --> 00:22:45,880 ¿Y cuántos hay rellenos de verdad? 537 00:22:46,819 --> 00:22:47,259 Pos. 538 00:22:48,180 --> 00:22:49,579 Estos son los que hay rellenos de verdad. 539 00:22:50,740 --> 00:22:52,519 Cuando he rellenado uno, pos vale uno. 540 00:22:52,759 --> 00:22:54,480 Cuando he rellenado dos, pos vale dos. 541 00:22:54,480 --> 00:22:57,319 luego aquí nada de alumnos.le 542 00:22:57,319 --> 00:22:59,440 aquí post, que son los que realmente 543 00:22:59,440 --> 00:23:01,039 están rellenos, claro 544 00:23:01,039 --> 00:23:03,859 los que realmente están rellenos 545 00:23:03,859 --> 00:23:08,740 vale, pues ya le hemos puesto 546 00:23:08,740 --> 00:23:09,700 la nota al alumno 547 00:23:09,700 --> 00:23:15,170 vamos a 548 00:23:15,170 --> 00:23:18,069 vamos a hacer este programa profesional 549 00:23:18,069 --> 00:23:20,230 de forma que si yo le he metido un alumno que no está 550 00:23:20,230 --> 00:23:22,390 que el programa me diga, uy no he encontrado 551 00:23:22,390 --> 00:23:24,349 el alumno, vamos a hacer una variable 552 00:23:24,349 --> 00:23:26,150 boolean, para que quede esto 553 00:23:26,150 --> 00:23:27,390 mucho más bonito y profesional 554 00:23:27,390 --> 00:23:29,369 encontrado 555 00:23:29,369 --> 00:23:32,230 que inicialmente 556 00:23:32,230 --> 00:23:32,890 está a falso. 557 00:23:33,950 --> 00:23:35,809 Y si yo ya he encontrado el alumno, 558 00:23:35,970 --> 00:23:37,890 es decir, si entro en este if alguna vez, 559 00:23:39,130 --> 00:23:40,250 si yo ya lo he encontrado, 560 00:23:41,109 --> 00:23:41,890 ahora ya ponemos 561 00:23:41,890 --> 00:23:42,809 encontrado a true. 562 00:23:46,230 --> 00:23:48,970 Entonces, ¿para qué nos sirve esta variable que hemos puesto aquí? 563 00:23:49,569 --> 00:23:50,509 La hemos añadido. 564 00:23:51,269 --> 00:23:52,549 Esta, a la hora de meter la nota, 565 00:23:52,549 --> 00:23:53,609 no hace falta, ¿no? 566 00:23:54,049 --> 00:23:56,450 Pero la hemos añadido para que cuando hemos 567 00:23:56,450 --> 00:23:58,269 acabado este for, sepamos 568 00:23:58,269 --> 00:24:00,410 si hemos encontrado alumno o no lo hemos encontrado. 569 00:24:00,829 --> 00:24:02,369 De forma que si no lo hemos encontrado 570 00:24:02,369 --> 00:24:04,130 la aplicación sea un poco más amigable 571 00:24:04,130 --> 00:24:05,829 y nos diga, uy, no encontré a ese alumno. 572 00:24:05,970 --> 00:24:08,430 Mucho mejor, ¿verdad? Porque si no se va a quedar callada. 573 00:24:10,799 --> 00:24:12,039 Si no has encontrado 574 00:24:12,039 --> 00:24:13,279 al alumno, pues dices 575 00:24:13,279 --> 00:24:15,339 no existe el alumno. 576 00:24:15,779 --> 00:24:16,619 Punto pelota. 577 00:24:20,700 --> 00:24:21,099 Vale. 578 00:24:21,599 --> 00:24:23,720 Ya tenéis que iros acostumbrando a aplicaciones 579 00:24:23,720 --> 00:24:25,960 ya más grandes. Más grandes, aplicaciones 580 00:24:25,960 --> 00:24:26,579 que hacen cosas. 581 00:24:29,240 --> 00:24:30,319 Esto y más. 582 00:24:30,319 --> 00:24:33,700 Mucho más, no hay límites 583 00:24:33,700 --> 00:24:36,380 Para la imaginación 584 00:24:36,380 --> 00:24:38,319 Este cuesta un punto 585 00:24:38,319 --> 00:24:40,759 Vale 586 00:24:40,759 --> 00:24:45,700 Y para qué nos vale el encontrado 587 00:24:45,700 --> 00:24:47,420 Uy, nos vale el encontrado 588 00:24:47,420 --> 00:24:49,759 Para ya usarlo y salimos de este for también 589 00:24:49,759 --> 00:24:51,819 Ya que hemos puesto el encontrado 590 00:24:51,819 --> 00:24:53,000 Para avisar al usuario 591 00:24:53,000 --> 00:24:55,599 Si no había ninguno con ese nombre 592 00:24:55,599 --> 00:24:58,039 Ya de paso, vamos a usarlo en este for 593 00:24:58,039 --> 00:24:59,579 Para que una vez encontrado 594 00:24:59,579 --> 00:25:01,019 no siga haciendo iteraciones hasta el infinito 595 00:25:01,019 --> 00:25:03,980 entonces, mientras recorras el array 596 00:25:03,980 --> 00:25:05,940 y además no me hayas 597 00:25:05,940 --> 00:25:06,599 encontrado 598 00:25:06,599 --> 00:25:12,039 porque una vez que lo hayas encontrado ya no sigas mirando 599 00:25:12,039 --> 00:25:13,200 alumnos, pues nos sirve 600 00:25:13,200 --> 00:25:15,319 tiene un uso doble este boolean 601 00:25:15,319 --> 00:25:16,880 tiene un uso doble 602 00:25:16,880 --> 00:25:20,359 el parar el for cuando ya lo hemos encontrado 603 00:25:20,359 --> 00:25:21,940 y además darle un aviso 604 00:25:21,940 --> 00:25:22,460 al usuario 605 00:25:22,460 --> 00:25:25,420 además darle un aviso 606 00:25:25,420 --> 00:25:26,579 ¿en español? 607 00:25:28,259 --> 00:25:29,960 en español estás jodido 608 00:25:29,960 --> 00:25:35,480 Que no, que es broma 609 00:25:35,480 --> 00:25:41,779 Sí, vamos a hacer el listado de notas 610 00:25:41,779 --> 00:25:43,140 Para poder usar la aplicación 611 00:25:43,140 --> 00:25:44,480 Y ver si realmente funciona 612 00:25:44,480 --> 00:25:47,299 Porque si no tenemos una opción para que nos muestre el resultado 613 00:25:47,299 --> 00:25:48,880 No sabemos si ha metido notas o no ha metido 614 00:25:48,880 --> 00:25:53,619 Claro, no, no, lo vais a completar esta tarde 615 00:25:53,619 --> 00:25:56,779 Vamos a hacer la opción 4 616 00:25:56,779 --> 00:26:00,539 A ver, sois perfectísimamente capaces 617 00:26:00,539 --> 00:26:02,980 Si sois unos vagos, eso ya es otro tema 618 00:26:02,980 --> 00:26:04,059 Pero capaces sois 619 00:26:04,059 --> 00:26:06,680 Vale, hemos listado 620 00:26:06,680 --> 00:26:08,039 Vamos a recorrer el for y ya está 621 00:26:08,039 --> 00:26:10,079 Tú solito 622 00:26:10,079 --> 00:26:11,460 De esto y mucho más 623 00:26:11,460 --> 00:26:15,559 Vamos a 624 00:26:15,559 --> 00:26:17,859 La opción de listado 625 00:26:17,859 --> 00:26:19,279 Es simplemente 626 00:26:19,279 --> 00:26:22,220 Recorrer los for y ya está 627 00:26:22,220 --> 00:26:24,619 Desde igual a cero, mientras si sea menor a post 628 00:26:24,619 --> 00:26:27,059 Venga, que no vamos a tener que ir 629 00:26:27,059 --> 00:26:30,759 Esta es la opción de listado 630 00:26:30,759 --> 00:26:31,519 Vamos a mostrar 631 00:26:31,519 --> 00:26:38,500 Vamos a mostrar 632 00:26:38,500 --> 00:26:41,220 Alumnos 633 00:26:41,220 --> 00:26:43,680 Espera, es todo seguidito 634 00:26:43,680 --> 00:26:44,420 Con un guión 635 00:26:44,420 --> 00:26:47,380 Alumnos, que es 636 00:26:47,380 --> 00:26:48,579 Alumnos de I 637 00:26:48,579 --> 00:26:50,339 Y separado 638 00:26:50,339 --> 00:26:52,539 Con 639 00:26:52,539 --> 00:26:55,339 Un guioncito o dos 640 00:26:55,339 --> 00:26:56,400 Su nota 641 00:26:56,400 --> 00:27:01,559 Notas de I 642 00:27:01,559 --> 00:27:03,859 Pues mira, a mí me han entrado los calores 643 00:27:03,859 --> 00:27:04,960 A ver 644 00:27:04,960 --> 00:27:08,539 La opción del listado ya está 645 00:27:08,539 --> 00:27:09,119 Es este for 646 00:27:09,119 --> 00:27:12,339 El for que recorre a raíz de alumnos 647 00:27:12,339 --> 00:27:14,400 Y sus notas, pero solo hasta el relleno 648 00:27:14,400 --> 00:27:16,460 Vale, pues vamos a hacer 649 00:27:16,460 --> 00:27:18,339 Nos falta la funcionalidad de 650 00:27:18,339 --> 00:27:20,940 Eliminar alumnos, la ratio de suspensos 651 00:27:20,940 --> 00:27:22,359 Y la nota media, que es fácil 652 00:27:22,359 --> 00:27:23,440 Lo podéis hacer perfectamente 653 00:27:23,440 --> 00:27:25,720 Pero vamos a ejecutar 654 00:27:25,720 --> 00:27:27,740 ¿Me repites el caso 4, por favor? 655 00:27:28,900 --> 00:27:30,460 ¿Cómo que te lo repita el caso 4? 656 00:27:30,460 --> 00:27:31,759 El caso 4 es el listado. 657 00:27:31,859 --> 00:27:32,599 Sacar un listado. 658 00:27:34,039 --> 00:27:35,180 Estos son dos líneas. 659 00:27:37,720 --> 00:27:39,640 Este for es... 660 00:27:39,640 --> 00:27:41,299 Pero fue una cosa. 661 00:27:41,420 --> 00:27:42,819 He visto en el caso 3 662 00:27:42,819 --> 00:27:44,799 en donde 663 00:27:44,799 --> 00:27:47,819 lo de... 664 00:27:47,819 --> 00:27:49,559 Ay, perdón, perdón. 665 00:27:49,680 --> 00:27:50,920 Pero si es un for número de corriente. 666 00:27:51,299 --> 00:27:51,519 Dime. 667 00:27:54,240 --> 00:27:55,099 Ah, sí, sí. 668 00:27:55,140 --> 00:27:55,619 Tienes razón. 669 00:27:56,619 --> 00:27:59,160 Hay que tener cuidado porque después de un next int 670 00:27:59,160 --> 00:28:00,579 Que aquí tenemos un next in 671 00:28:00,579 --> 00:28:03,359 Luego ya tenemos un next line 672 00:28:03,359 --> 00:28:04,039 Para el nombre 673 00:28:04,039 --> 00:28:05,980 Entonces aquí después de este next in 674 00:28:05,980 --> 00:28:06,640 Un next line 675 00:28:06,640 --> 00:28:09,980 Porque si no esto se va a la porra 676 00:28:09,980 --> 00:28:15,640 A ver con el escáner 677 00:28:15,640 --> 00:28:17,319 Si cuando hay espacios 678 00:28:17,319 --> 00:28:19,460 Con el buffer reader que es otro objeto no 679 00:28:19,460 --> 00:28:23,259 Es que lo estamos haciendo todo muy muy muy a mano 680 00:28:23,259 --> 00:28:25,299 Pero mejor 681 00:28:25,299 --> 00:28:26,180 Es como hay que empezar 682 00:28:26,180 --> 00:28:27,839 Porque luego si no 683 00:28:27,839 --> 00:28:29,819 vale 684 00:28:29,819 --> 00:28:32,900 pero vamos, con el escáner es que es así 685 00:28:32,900 --> 00:28:35,039 te puedes cambiar el token 686 00:28:35,039 --> 00:28:36,859 a ver, que el escáner 687 00:28:36,859 --> 00:28:38,619 tiene muchas cosas para configurarlo, pero bueno 688 00:28:38,619 --> 00:28:40,980 estamos, como no conocemos objetos, estamos dando lo básico 689 00:28:40,980 --> 00:28:42,779 vale, después de este next 690 00:28:42,779 --> 00:28:44,720 int, ya no hay problema porque después de 691 00:28:44,720 --> 00:28:46,039 este next int leemos la opción 692 00:28:46,039 --> 00:28:48,759 entonces después de este next int ya iremos al menú 693 00:28:48,759 --> 00:28:50,640 que vuelve a hacer un next int, luego esa combinación no es 694 00:28:50,640 --> 00:28:52,900 problemática, entonces vamos a probarlo 695 00:28:52,900 --> 00:28:54,839 venga, paramos esto 696 00:28:54,839 --> 00:28:56,680 y ahora vamos a volver a ejecutarlo 697 00:28:56,680 --> 00:28:58,619 Entonces, si ponéis el pasado 698 00:28:58,619 --> 00:29:00,819 Y te enfrentas a una persona 699 00:29:00,819 --> 00:29:01,920 De la edad media 700 00:29:01,920 --> 00:29:03,960 Le dirías, ¿qué sabes hacer? 701 00:29:04,140 --> 00:29:04,680 ¿Cómo? 702 00:29:06,680 --> 00:29:11,859 Vamos a 703 00:29:11,859 --> 00:29:14,779 Insertar un alumno 704 00:29:14,779 --> 00:29:16,440 Venga, Pepe 705 00:29:16,440 --> 00:29:19,160 Hemos insertado a Pepe 706 00:29:19,160 --> 00:29:20,920 Vamos a insertar a otro más 707 00:29:20,920 --> 00:29:23,099 A Juan 708 00:29:23,099 --> 00:29:24,099 Ya tenemos a dos 709 00:29:24,099 --> 00:29:25,519 Vamos a poner 710 00:29:25,519 --> 00:29:26,779 Nota 711 00:29:26,779 --> 00:29:30,539 Vamos a poner nota 712 00:29:30,539 --> 00:29:32,160 A Juan 713 00:29:32,160 --> 00:29:34,240 ¿A quién le quieres poner a Juan? ¿Qué le vamos a poner? 714 00:29:34,440 --> 00:29:34,940 Un 10 715 00:29:34,940 --> 00:29:36,599 Venga 716 00:29:36,599 --> 00:29:40,160 Vamos a poner nota al Pepe este 717 00:29:40,160 --> 00:29:42,059 ¿Qué nota le ponemos? 718 00:29:42,240 --> 00:29:42,880 Un 0 719 00:29:42,880 --> 00:29:46,279 Venga, vamos a ver el listado de notas 720 00:29:46,279 --> 00:29:47,859 Que llevamos puestas 721 00:29:47,859 --> 00:29:49,880 Pues llevamos... Uy, que si este notprint 722 00:29:49,880 --> 00:29:51,980 Me ha faltado ahí, pero vamos, está bien 723 00:29:51,980 --> 00:29:55,640 Un Pepe tiene un 0 724 00:29:55,640 --> 00:29:56,599 Y Juan tiene un 10 725 00:29:56,599 --> 00:29:57,339 Y luego el menú 726 00:29:57,339 --> 00:29:59,519 Claro, es que luego esto es del menú 727 00:29:59,519 --> 00:30:01,059 Es que me ha faltado un pedazo System.out 728 00:30:01,059 --> 00:30:02,660 Println 729 00:30:02,660 --> 00:30:07,079 Me falta un 730 00:30:07,079 --> 00:30:09,140 Joder, me ha puesto un 10 a mí 731 00:30:09,140 --> 00:30:10,819 Toma ya, di que sí 732 00:30:10,819 --> 00:30:13,039 Voy Pedro 733 00:30:13,039 --> 00:30:14,240 Voy a poner un menos 10 734 00:30:14,240 --> 00:30:18,940 Me falta aquí 735 00:30:18,940 --> 00:30:20,779 Un System.out 736 00:30:20,779 --> 00:30:21,539 Println 737 00:30:21,539 --> 00:30:23,339 Y ahora ya sí quedaría bonito 738 00:30:23,339 --> 00:30:25,680 Pero vale, ya está, funciona 739 00:30:25,680 --> 00:30:28,980 A ver, pues intentad 740 00:30:28,980 --> 00:30:30,319 Eliminar 741 00:30:30,319 --> 00:30:32,480 Con eliminar el problema que tenemos es 742 00:30:32,480 --> 00:30:34,079 Que el alumno que queremos quitar 743 00:30:34,079 --> 00:30:36,299 Los de abajo, hay que subirlos 744 00:30:36,299 --> 00:30:38,279 Una posición hacia arriba, pero eso ya lo hemos hecho 745 00:30:38,279 --> 00:30:40,460 No, a ver, es un bucle 746 00:30:40,460 --> 00:30:41,440 Que pi, pi, pi, ya está 747 00:30:41,440 --> 00:30:43,640 Es un bucle, eliminar 748 00:30:43,640 --> 00:30:45,240 Ratio de suspenso 749 00:30:45,240 --> 00:30:48,059 Contar suspensos, dividir entre el total 750 00:30:48,059 --> 00:30:49,039 Dividir entre pos 751 00:30:49,039 --> 00:30:51,259 Como el de moverlo 752 00:30:51,259 --> 00:30:52,900 Como el del circular 753 00:30:52,900 --> 00:30:56,579 Claro, te mueves desde pos 754 00:30:56,579 --> 00:30:58,839 Hasta el que la posición a eliminar 755 00:30:58,839 --> 00:31:00,279 Y ya está, o sea, es muy cortito 756 00:31:00,279 --> 00:31:01,799 Ratio de suspensos 757 00:31:01,799 --> 00:31:03,940 Cuentas los suspensos y divides entre pos 758 00:31:03,940 --> 00:31:05,079 Pues ya está, nota media 759 00:31:05,079 --> 00:31:06,599 La media de la RAI 760 00:31:06,599 --> 00:31:09,119 O sea, lo que queda se hace en nada, en realidad 761 00:31:09,119 --> 00:31:11,299 Pues venga, intentad hacerlo 762 00:31:11,299 --> 00:31:12,420 ¿Vale? 763 00:31:13,240 --> 00:31:13,960 ¿Cómo que no? 764 00:31:13,960 --> 00:31:15,960 Bueno, sí, sí, sí 765 00:31:15,960 --> 00:31:19,559 Ah, hombre, por Dios 766 00:31:19,559 --> 00:31:20,740 Vale 767 00:31:20,740 --> 00:31:22,839 Uff