Después de haber visto los bucles, vamos a pasar a su fieles compañeros, las estructuras condicionales. Vamos a utilizar las estructuras condicionales para realizar acciones cuando nosotros lo queramos bajo una condicion que nosotros pongamos. Prestad atención a esta información, es una de las cosas más importantes a la hora de programar y que sin duda os arrepentireis si no lo sabéis utilizar bien, asi que, a prestar atención. ¡Vamos allá!
Autor: klozz.
Esta estructura se utiliza cuando queremos evitarnos las llamadas escaleras de decisiones. La estructura if nos puede proporcionar, únicamente, dos resultados, uno para verdadero y otro para falso. Una estructura switch, por su parte, nos permite elegir entre muchas opciones.
Ejemplo:
#include <pspkernel.h> #include <pspdebug.h> PSP_MODULE_INFO("uso de switch", 0, 1, 1); #define printf pspDebugScreenPrintf int main() { int opcion=1; switch(opcion){ case 1: printf("Seleccionaste la opcion 1 del menu"); break; case 2: printf("Seleccionaste la opcion 2 del menu"); break; } }
Si despues de un case, no se encuentra un break, pasará al siguiente, y si en el ultimo no lo hay, se repetirá infinitamente.
Su sintaxis es la siguiente:
if (condicion) { sentencia } else { sentencia }
Ejemplo:
#include <pspkernel.h> #include <pspdebug.h> #include <pspctrl.h> PSP_MODULE_INFO("ejemplo de if else", 0, 1, 1); #define printf pspDebugScreenPrintf int main(){ opcion = 1; pspDebugScreenInit(); SceCtrlData pad; if(pad.Buttons & PSP_CTRL_CROSS){ opcion++; } if (opcion==2){ printf("Hola D:"); } else { printf("no era igual a 2 "); } return 0; } // La traducción al español de "else" es "si no". Se utiliza para hacer una acción si no se cumplen los requisitos del if.
Esto ha sido todo en cuento a estructuras condicionales. ¡Hasta la próxima entrega!
Comentarios
Problema con el SRC
me marca error, tengo aki el codigo, el error es en la linea 11, es el ejemplo poqeu no lo hago funcionar...
y aqui dejo una captura,http://i44.tinypic.com/2005so0.png
Editado: El límite del ancho de las imágenes es de 500 pixeles, sobrepasar este límite puede descolocar la web e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| Rober Galarga
El error lo dice todo: No
El error lo dice todo: No declaraste la variable opcion:
Recuerda que cuando declaras variables siempre debes anteponer el tipo de dato que almacenarás en ellas.
Grax
se lo digo cuando se levante de la cama mañana, son las 2 y 10 de la mañana xD, le dire que le han respondido el comentario, y me ha preguntao, que que parte habia que definir ¬¬, yo no lo se responder poque hay se pone el int, somos nuevos en esto XD
switch
Aparte de lo que ya han dicho que cuando un case no tiene un break y acaba pasa al siguiente, habría que añadir que sería recomendable poner un defalt, aunque sea default:break; para evitar warnings, además de señalar que existe por si no se cumple ninguna condición de los cases.
break
esta bien, aunque no estoy de acuerdo con esto que has puesto en el case: "Cada case debe tener un break SIEMPRE, porque si no se repetiría infinitamente el case."
Por supuesto que un case puede no tener un break, y de no tenerlo no se va a repetir infinitamente el case, simplemente va a pasar a ejecutar el siguiente case que encuentre y asi sucesivamente, hasta que encuentre un break o el final del case.
Simplemente corregir eso.
Y si no encuentra un break se
Y si no encuentra un break se tildará :P.
Quien paso a portada el tuto
Quien paso a portada el tuto ha puesto mal o quizá si me equivoque pero abajo aclaro lo que comentas y entanto al default está correcto lo que dices(al user que puso eso xD) Saludos.. espero que puedan acomodar eso en la noticia saludos..
TEAM MEX Homebrew y desarrollo PSP
Metal TrooperV.Pre-Alpha (15%)Lua , 10% C .
Ubunshell VProof. (45%)C
RPG Magues (35%)Lua , 5% C
Android development for Xperia X8 ^^ mis roms en XDA-Developers ya que en Scenebeta no las publican xD
Xperience | MIUI Pikachu | Semc debrand engine | Froyexp | Xperience walkman mod | Android 4.0.4 CN9 Crema de nieve
-- KLOZZ
:D solo una nota =/ si no se
:D solo una nota =/ si no se pone Break en los case se salteArá al siguiente case hasta encontrar un break y si no encuentra algún break y ningun case el programa crasheara! salu2
TEAM MEX Homebrew y desarrollo PSP
Metal TrooperV.Pre-Alpha (15%)Lua , 10% C .
Ubunshell VProof. (45%)C
RPG Magues (35%)Lua , 5% C
Android development for Xperia X8 ^^ mis roms en XDA-Developers ya que en Scenebeta no las publican xD
Xperience | MIUI Pikachu | Semc debrand engine | Froyexp | Xperience walkman mod | Android 4.0.4 CN9 Crema de nieve
-- KLOZZ
Muy bueno, Gracias por otro
Muy bueno, Gracias por otro tuto de C :DDD
xD.//
Estan que se salen con tanto TUTO pero sirben asi que siga la funcion