Discusión:Programación en C/Instrucciones de control

De Wikilibros, la colección de libros de texto de contenido libre.
Saltar a: navegación, buscar

Sobre el adjetivo "maldito" aplicado a la sentencia "goto":

En C se considera de mal gusto utilizar la sentencia "goto", debido a que se trata de un lenguaje de Programación Estructurada. De hecho, el uso de la sentencia "goto", además de producir "código espagueti" (así llamado porque el flujo de control del programa parece un plato de espaguetis), es completamente innecesario en C. No hay absolutamente ningúna construcción con la sentencia "goto" que no se pueda realizar sin utilizarla.

Como nota adicional, en la mayor parte de las asignaturas de programación en C que conozco, el uso de la sentencia "goto" en una práctica significa directamente una puntuación negativa en la misma.

--Envite 01:10 19 oct, 2004 (UTC)



Sobre "variables booleanas":

En la edición de El bucle for, en el párrafo final creo que no seria bueno decir que se puede implementar con una variable de tipo booleana ya que C no maneja variables de tipo booleanas.

junto con otro valor; esta parte del bucle también se puede implementar 
con una variable de tipo booleano.

--Zerohours 19:27 13 jun 2009 (UTC)

C99 define variables del tipo bool, en bool.h se define true y false. Habiendo pasado 10 años de la estandarización creo que se puede decir que C soporta variables de tipo booleano.

Hay que agregar la explicación a tipos de variables numéricos simples.

--Maxy 13:25 21 jun 2009 (UTC)

Texto de titular[editar]

este codigo ''#include<stdio.h> #include<conio.h> main() { int nivel; float salario, slanuevo; printf("introduce tu nivel\n"); scanf("%d",&nivel); printf("dame tu salario\n "); scanf("%f",&salario); switch (nivel) { case 1: slanuevo=salario+(salario*.035); printf("tu salario es:%f\n",slanuevo); break; case 2: slanuevo=salario+(salario*.041); printf("tu salario es:%f\n",slanuevo); break; case 3: slanuevo=salario+(salario*.048); printf("tu salario es:%f\n",slanuevo); break; case 4: slanuevo=salario+(salario*.053); printf("tu salario es:%f\n",slanuevo); break; default: printf("tu salario es:%f\n",salario); } getch(); } switch(semaforo) { case 1: printf("El semTexto de titularáforo está verde.\n"); break; case 0: printf("El semáforo está rojo.\n"); break; case 2: printf("El semáforo está anaranjado.\n"); break; case 3: printf("El semáforo está anaranjado parpadeante.\n"); break; default: printf("ERROR:¡El semáforo no puede estar en ese estado!.\n"); }''

tiene varios problemas. Primero no tiene valor de retorno. Segundo, creo que las llaves están mal hechas. Y tercero, como que es muy AVANZADo para la altura del texto. ¿que cresta hace la función getch()?