Curso c v 1.5
Friday, January 30, 2009 5:29:48 AM
Introducción al C
by Fulapol (??/??/2006 - ??)
El mundo esta lleno de problemas
y el mas grande es resolverlos.
Esta pequeña introducción se basa en el texto Introduccion a la programacion, que tambien es mio, para facilitarles el trabajo y como dije, no nesecitan saber C++ o Java o ninguna otra cosa.
Repasando conceptos
Aqui repasaremos los terminos basicos y como aplicarlos a C antes de entrar al lenguaje y programar.
En la programación, como habíamos dicho antes, todo son datos y tienen tipos específicos, así que veamos que tipos existen en C:
º INT: Este es el tipo numérico (solo acepta números) y sirve para almacenar información numérica para cálculos por ejemplo.
º CHAR: Este es "alfanumérico" ya que contiene letras y números, un dato es que su tamaño es de 1 byte.
º LONG: Long significa largo y es una especie de extensión a int, porque para los cálculos grandes y enormes cantidades de información donde int ya no sirve y nececitamos algo mas largo.
º FLOAT: el tipo de variable float es una especie de long, solo que este puede manejar decimales.
º DOUBLE: Este es lo mismo que float cuya diferencia es la precisión pues en float 1234567 + 2 - 1234567 puede terminar como 0 mientras que en double es 2.
Entrando al lenguaje
Con estos nos conformaremos por ahora, veamos como usar y crear datos. La declaración o creación de variables es lo principal y en C se suele hacer así:
TIPO nombre (ASIGNACION)
int numero = 0; Un dato numero que se llama numero y vale 0.
char letra = 'a'; Un dato alfanumérico que contiene a.
long numerodecimal; Un dato tipo long sin valor (aun).
double preciso; Un dato double sin valor como el long.
Y ya tenemos nuestras variables con o sin valor, dependiendo como las declaramos.
Una caracteristica de C es que no distingue espacios, por lo tanto si creamos muchas lineas o una sola linea extensa el resultado sera el mismo y para evitar problemas una de las reglas de oro de C es escribir ';' despues de todas las sentencias.
En este punto ya estarán aburridos de teoría y pedirán código entonces aquí tenemos algo:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hola mundo !!!\n");
system ("pause");
return 0;
}
Este codigo puede no funcionar en Linux, ya veremos porque, asi que usen este
#include <stdio.h>
int main()
{
printf("Hola mundo !!!\n");
return 0;
}
Lo que debemos hacer es abrir el IDE (generalmente lo conocido como compilador) o el bloc de notas (cualquier editor de texto plano sirve) y guardarlo como HOLA.C, ya guardado se compila y se ejecuta. En estos momentos no me gustaría decirles que compilador usar, mejor busquen compiladores en google, descarguen uno y compilen.
El inicio de este código contienen #include.... con lo que incluimos funciones pero eso lo dejaremos por ahora y veremos el significado de int main (). Todos los programas tienen algo llamado punto de entrada y es propiamente el punto donde empiezan, el programa buscara int main () y ejecutara su contenido. C es un lenguaje estructurado y trabaja con bloques de codigo y como ademas no reconoce ni los espacion ni los saltos de linea todos las estructuras comienzan con { y terminan con }. Ahora que tenemos los includes y el int main necesitamos que el programa haga algo y eso se consigue con las funciones, en este las funciones printf y system; printf sirve para escribir algo en la pantalla y para usarla se nesecita poner el include de stdio.h (significa Standar Input/Output o entrada/salida estandar), para escribir debemos poner el texto entre comillas dentro del parentesis, aunque estan los caracteres especiales como \n que pone un salto de linea y otro es \t que pone una tabulacion, algo asi como 4 espacios y la funcion system, que esta en stdlib.h (Standar Library o libreria estandar), y manda comandos al sistema, como en este caso que mandamos una pausa al sistema. Otra de las muchas curiosidades de C es que es "case sensitive" o que distingue mayusculas y minusculas y si trataran de poner printF en ves de printf les daria un error.
Notaran que me falto explicar eso de return 0 y es porque return 0 es una simple formalidad para decir que el programa se termino y se podria omitir, luego veremos para que mas nos puede servir.
Manipulando el texto
Despues de escribir el famoso hola mundo podemos escribir lo que sea, pero notaran que es algo predefinido y que nunca varia, pero la verdadera funcion de un programa es hacer algo, no solo escribir mensajes.
Esto nos lleva a usar las variables, que ya sabemos declarar y asignar. Para imprimir una variable tambien se usa printf pero de una forma algo especial, pues printf solo escribe texto y utilizamos codigos de formato. Estos codigos de formato son de la forma %tipo y son los siguientes: %i para int, %c para char, %d para long y %f para float y double, %s para string que veremos despues y para algunos caracteres debemos poner \, asi si queremos escribir comillas debemos poner \".
Despues de poner el texto entre comillas pondremos una coma y el nombre de la variable que usamos, asi por tantas variables usemos.
Ya que tenemos eso haremos cosas mas bonitas con los numeros:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numero = 1;
printf("Numero vale %i",numero);printf("\n");
numero = 2;
printf("Numero vale %i",numero);printf("\n");
system ("pause");
return 0;
}
Y como habia dicho este codigo puede dar ciertos errores en linux, asi que debemos quitar el include de stdlib y el system("pause") para que sea codigo de linux.
Veran que el resultado es que el valor de numero es 1 y 2 como lo pusimos en el programa, pero ademas pusimos mas de una sentencia en cada linea, asi demostramos que manejando ";" bien podemos poner el codigo tan amontonado como queramos y asi hemos puesto un printf con un \n que es un retorno de linea y que lo que hace es cambiar de linea o renglon y no dejar toda la salida amontonada, pero bueno eso es facil ya que solo dice numeros y palabras pero no hace operaciones. Lo siguiente sera manejar las operaciones. Recordaremos que existe una jerarquia de operaciones que dice primero se sacan raices o potencias, luego se multiplica y se divide, luego se suma o resta y al final se resuelve, por lo tanto en 3*2+5 primero se multiplica 3 * 2 = 6 y se le suma 5, 6 + 5 = 11.
#include <stdio.h>
int main()
{
int numero = 1;
printf("Numero vale %i \n",numero);
numero = numero + 5;
printf("Numero mas 5 vale %i \n",numero);
return 0;
}
Se podran fijar que ahora al correr el programa este termina tan rapido que es dificil ver el resultado, esto es porque ahora esta en formato linux y en linux todo se corre en la cosola por lo que nunca se cierra, ademas esta vez hemos puesto la forma correcta de printf, pues se debe poner todo el texto con los codigos de formato entre comillas y despues las variables separadas por coma, pero hagamos algo un poco mas dificil que es hacer una operacion dentro del printf:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numero = 1;
printf("Numero vale %i \n",numero);
printf("Numero mas 5 vale %i \n",numero+5);
system ("pause");
return 0;
}
Pero veremos que en el segundo codigo hemos puesto algo que se podria leer como: Toma el valor de numero, sumela 5 y vuelve a guardarlo en numero, algo que se oye realmente confuso, asi que nosotros lo resumiremos un poco y diremos unimente: agrega 5 al valor de numero, este tipo de expresiones se hacen poniendo la variable, el signo de la operacion, el signo igual y el valor con el que jugamos, el siguiente codigo mostrara eso y mostrara tambien los aumentos unitarios, atentos a lo que pasa con estos aumentos y decrementos porque se expresan como ++ o -- pero la posicion afecta el resultado, y despues nos serviran mucho. Por cierto, de ahora en adelante los codigos no tendran pasusas asi que el codigo se tiene que retocar un poco antes de compilarse.
#include <stdio.h>
int main()
{
int numero = 1;
printf("Numero vale %i \n",numero);
numero += 5;
printf("Numero vale %i \n",numero);
printf("Numero vale %i incrementos %i %i\n",numero,numero++,++numero);
printf("Numero vale %i decrementos %i %i\n",numero,numero--,--numero);
}
Pero pasemos a cosas mas divertidas que ya les quiero enseñar a programar las grandes aplicaciones corporativas.
Para hacer apliaciones mas grandes solo nesecitamos un poco de entusiasmo y creatividad, nada complicado y con lo que tenemos podemos hacer programar operaciones pero nos falta algo muy importante, la interactividad con el usuario. Para un ejemplo sencillo aprenderemos a obtener numeros.
Estoy a sus ordenes amo
Para obtener datos del exterior es muy comun utilizar la funcion scanf, hermana de printf. Esta funcion usa el mismo formato que printf pero con la diferencia que en las variables deben tener & al principio, pues esto sirve para darle un valor a la variable. Igualmente nesecitamos poner una coma y el nombre de la variable, pero la diferencia es que en scanf solo debemos poner el codigo, no debemos poner ningun otro texto, para rapido pediremos un numero y lo escribiremos:
#include <stdio.h>
int main()
{
int numero;
printf("Escriba un numero\n");
scanf("%i",&numero);
printf("Numero vale %i \n",numero);
return 0;
}
Ejemplo 1: La Calculadora
Y ya podemos hacer una aplicacion que nos sirva para recoger numeros, sumar, restar, multiplicar, eso me recuerda a una calculadora. Para hacer una calculadora solo tenemos aclarar un punto que es la division. La division es en un numero que no acepta decimal por lo tanto si dividimos 2 / 5 = 3, pero podemos usar % en ves de / y esto nos dira los decimales.
#include <stdio.h>
int main()
{
int numero;
int numero2;
printf("Soy una calculadora basica que suma, resta, multiplica y divide\nEscriba un numero\n");
scanf("%i",&numero);
printf("¿que numero desea sumarle, restarle, multiplicarle y dividirle?\n");
scanf("%i",&numero2);
printf("Numeros sumados valen %i \n",numero+numero2);
printf("Numeros restados valen %i \n",numero-numero2);
printf("Numeros multiplicados valen %i \n",numero*numero2);
printf("Numeros divididos valen %i \n",numero/numero2);
printf("Y el residuo es %i \n",numero%numero2);
return 0;
}
¿Y si pasa algo?
Bueno tenemos una calculadora, algo que escribe textos y algo que puede pedir numeros entonces ¿que sigue?. Lo que puede seguir es aprender a hacer cosas mas bonitas llamadas sentencias condicionales. Estas nos dicen que hacer dependiendo de las situaciones que ocurran.
La primera que veremos sera if, esta nos dice que dependiendo que pase se haran las cosas, y se usa de una manera muy simple. Para usar esta y las demas sentencias condicionales nesecitamos los operadores logicos que son: == igual, < menor que, > mayor que, ! contrario, && o and que sirven para unir, al igual que || u or.
Una situacion muy comun es tratar de comparar algo, un numero con un valor por ejemplo y en esos casos usamos el if, por ejemplo, veremos si un numero es igual a 5 y si es poner un mensaje. Junto al if se pone un parentesis y dentro de el la comparacion, si la comparacion o condicion se cumple, es verdad entonces la sentencia excatamente despues del if se ejecuta, en caso de que sean 2 o mas usaremos los { y } para hacer un bloque, recordando que C es un lenguaje estructurado.
#include <stdio.h>
int main()
{
int numero;
printf("Verificare si es 5\nEscriba un numero\n");
scanf("%i",&numero);
if(numero == 5)
printf("El numero es 5\n");
printf("Solo para verificar tu numero es %i\n",numero);
return 0;
}
Ahora ampliaremos un poco el sistema, haremos que compare con mas de una condicion y que si ademas la condicion no se cumple entonces que haga algo. Para combinar condiciones se usan los operadores and y or, que tambien se pueden escribir como && y ||. Al combinarlos lo que hacemos es que si antes el codigo se ejecutaba si la condicion se cumplia ahora si ponemos and se deben cumplir todas y si ponemos or se debe cumplir por lo menos una. Despues de esto y por las necesidades tenemos que saber que hacer en caso de que las condiciones no se cumplan y el if no se ejecute. Para ello usaremos usaremos ua sentencia llamada else que ejecuta codigo si el if no se ejecuta e igualmente solo ejecuta la primera linea despues del mismo, para ejecutar mas debemos crear un bloque con { y }. Un ejemplo mas practico seria:
#include <stdio.h>
int main()
{
int numero;
printf("Verificare si es 5 o mayor\nEscriba un numero\n");
scanf("%i",&numero);
if(numero == 5 || numero > 5)
printf("El numero es 5 o mayor\n");
else
printf("Es menor a 5\n");
if(numero == 5 && numero == 3)
printf("Increible el numero es 5 y 3 al mismo tiempo\n");
else
printf("El numero no es 5 y 3 al mismo tiempo\n");
printf("Solo para verificar tu numero es %i\n",numero);
return 0;
}
Para ver el futuro, ve el pasado
Bueno un poco de historia para que conoscamos C un poco mejor:
C es un lenguaje de programación creado en 1972 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portátil entre plataformas y/o arquitecturas.
En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de programación C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente "K&R C" (La segunda edición del libro cubre el estándar ANSI C).
El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un compilador debe de soportar. Durante muchos años, incluso tras la introducción del ANSI C, fue considerado "el mínimo común denominador" en el que los programadores debían programar cuando deseaban que sus programas fueran transportables, pues no todos los compiladores soportaban completamente ANSI, y el código razonablemente bien escrito en K&R C es también código ANSI C válido.
En 1983, el Instituto Nacional Estadounidense de Estándares organizó un comité, X3j11, para establecer una especificación estándar de C. Tras un proceso largo y arduo, se completó el estándar en 1989 y se ratificó como el "Lenguaje de Programación C" ANSI X3.159-1989. Esta versión del lenguaje se conoce a menudo como ANSI C, o a veces como C89 (para distinguirla de C99).
En 1990, el estándar ANSI (con algunas modificaciones menores) fue adoptado por la Organización Internacional para la Estandarización (ISO) en el estándar ISO/IEC 9899:1990. Esta versión se conoce a veces como C90. No obstante, "C89" y "C90" se refieren en esencia al mismo lenguaje.
Uno de los objetivos del proceso de estandarización del ANSI C fue producir una extensión al C de Kernighan y Ritchie, incorporando muchas funcionalidades no oficiales. Sin embargo, el comité de estandarización incluyó también muchas funcionalidades nuevas, como prototipos de función, y un preprocesador mejorado.
Tras el proceso de estandarización de ANSI, la especificación del lenguaje C permaneció relativamente estable durante algún tiempo, sin embargo, el estándar continuó bajo revisión a finales de la década de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo de 2000 y actualmente es lo que conocemos como Lenguaje C
Voy a hacer un comentario
Otra ves llegamos a la pregunta, ¿que sigue?. Yo quisiera explicar un poco mas las sentencias condicionales pero nesecitamos comprender otro punto antes de continuar en cosas mas complicadas. Primero y antes que nada tenemos que aclarar algo que nos ayudara mucho cuando escribamos y leamos codigos, los comentarios. Los comentarios son sentencias a las que no se les hace caso, y estas pueden ser de una o varias lineas, la de una linea se pone con // y el texto, acabando en la siguiente linea, y el de varios que empieza con /* y termina con */. El codigo anterior bien hecho seria algo asi:
#include <stdio.h>
int main()
{
int numero; //Declaramos la variable numero
/**************************
* Podemos adornar el *
* codigo con cuadritos *
* como este y usarlos *
* para explicar el codigo *
**************************/
printf("Verificare si es 5 o mayor\nEscriba un numero\n");
scanf("%i",&numero); //Obtenemos el valor de numero
/****************************************
* Aqui compararemos veremos se el valor *
* de numero es 5 o si es mayor a si. En *
* caso contrario ejecutaremos el else *
****************************************/
if(numero == 5 || numero > 5)
printf("El numero es 5 o mayor\n");
else //Si esto se ejecuta numero es menor a 5
printf("Es menor a 5\n");
/*
Este if verifica si numero es 5 y si es 3.
Logicamente no puede ser los dos por lo tanto
suponemos que se hara el else
*/
if(numero == 5 && numero == 3)
printf("Increible el numero es 5 y 3 al mismo tiempo\n");
else
printf("El numero no es 5 y 3 al mismo tiempo\n");
//Ya acabamos imprimiendo el valor de numero
printf("Solo para verificar tu numero es %i\n",numero);
//Acabamos
return 0;
}
Talves haga el codigo mas grande pero vaya que llega a ser muy util, y con comentarios podemos explicar un poco aqui y un poco dentro del codigo. A partir de este momento y gracias a los comentarios les podre hacer explicaciones mas cortas, pero codigo mas largo.
Corre y dime si te cansas
Otro punto que tenemos que ver son las funciones. Una funcion es un pedazo de codigo, un bloque que es llamado desde main y genera un valor de retorno. Para aclarar esto veremos una funcion para hacer mas bonita o complicada la calculadora. Crearemos la funcion calcula dentro. Usando comentarios sera mas facil la comprension del codigo.
#include <stdio.h>
int calcula(int numero1, int numero2, int opcion);
int main()
{
int numero;
int numero2;
printf("Soy una calculadora basica que suma, resta, multiplica y divide\nEscriba un numero\n");
scanf("%i",&numero);
printf("¿que numero desea sumarle, restarle, multiplicarle y dividirle?\n",numero);
scanf("%i",&numero2);
printf("Numeros sumados valen %i \n",calcula(numero, numero2, 1));
printf("Numeros restados valen %i \n",calcula(numero, numero2, 2));
printf("Numeros multiplicados valen %i \n",calcula(numero, numero2, 3));
printf("Numeros divididos valen %i \n",calcula(numero, numero2, 4));
printf("Y el residuo es %i \n",calcula(numero, numero2, 5));
return 0;
}
/*********************************************************
* *
* Nuestra funcion clacula pide dos numeros que son los *
* que utilizara para trabajar y uno mas para saber que *
* operacion realizar. *
* Las opciones son: 1 = suma, 2 = resta, 3 = mult., *
* 4 = division y 5 = residuo *
* *
**********************************************************/
int calcula(int numero1, int numero2, int opcion)
{
if(opcion == 1)
return numero1+numero2;
if(opcion == 2)
return numero1-numero2;
if(opcion == 3)
return numero1*numero2;
if(opcion == 4)
return numero1/numero2;
if(opcion == 5)
return numero1%numero2;
else
return 0;
}
Bien ahora analizemoslo. Si notamos al principio puse int calcula(int numero1, int numero2, int opcion); y esto lo hice para que el compilar sepa que la funcion existe y como esta hecha, aunque en ves de ; pude haber puesto el codigo desde { hasta }. Otra cosa es que antes de calcula puse int, como si estuviera declarando una variable numerica, la explicacion de esto es que va a ser tratada como una variable tipo int, como se puede observar en los printf. Para comprender porque la usamos como variable tenemos que saber que es return.
Return es una expresion que nos permite "regresar" un valor. Este "regresar" lo que hace es decir: "calcula es un int, despues de que se acciona calcula vale x" y x es lo que esta delante de return, podemos ver que en calcula regresa la suma, resta, multiplicacion, division y residuo de las operaciones. Al principio pusimos un return 0; en main pero no lo explique, bueno ahora es cuando. Todos los programas son registrados como un int (int main) y para saber si terminaron bien se devuelve un valor. A los valores mayores de 0 se les llama "error code" o codigo de error y sirven para identificar los errores cuando suceden. Pero ya es suficiente de funciones por el momento, es momento de continuar con las sentencias condicionales.
¿Y que tal si?
Para poder simplificar aun mas nuestra funcion calcula usaremos una sentencia condicional mas general llamada switch. Esta sentencia busca todos los posibles valores de una cierta variable y hace diferentes cosas dependiendo de los diferentes que contenga. Se puede definir como un gran if que no nesecita rellenar de if's y else's el codigo. Para demostrar esto usaremos una version mas avanzada de la funcion calcula.
int calcula(int numero1, int numero2, int opcion)
{
switch (opcion){
case 1: //Nuestro if para opcion = 1
return numero1+numero2;
case 2: //Nuestro if para opcion = 2
return numero1-numero2;
case 3: //Nuestro if para opcion = 3
return numero1*numero2;
case 4: //Nuestro if para opcion = 4
return numero1/numero2;
case 5: //Nuestro if para opcion = 5
return numero1%numero2;
default: //Nuestro else
return 0;
}
}
Como notamos solo reduce la cantidad de if's y ademas nos permite usar un else, pero como usamos una funcion existente no podiamos usar todo el potencial de switch, mejor sera hacer una que nos demuestre la verdadera funcion de switch.
#include <stdio.h>
int main()
{
int numero;
printf("Escriba un numero\n");
scanf("%i",&numero);
switch(numero){
case 0:
printf("Numero vale %i y es 0\n",numero);
case 4:
printf("Numero vale %i y es 4\n",numero);
break;
default:
printf("Numero vale %i y no es 4 ni 0\n",numero);
break;
}
return 0;
}
Una cosa muy mala para los que empiezan es que si meten 0 veran que ademas les dice que tambien es 4, por una simple razon, los casos no reconocen el fin del if y tenemos que señalarlo con la instruccion break. En los demas casos tenemos esa instruccion y efectivamente solo hacen lo que esta entre el inicio del case y el break.
Haslo mientras debas
Otra condicion muy buena es el while, esta lo que hace es verificar una sentencia y dependiendo del resultado se ejecuta o no. Podemos definir todo dentro de { y } y lo que esta dentro del while podria ser visto como un gran if que se repite todo el tiempo.
Algo para comprobar el while seria esto:
#include <stdio.h>
int main()
{
int numero;
printf("Escriba un numero\n");
scanf("%i",&numero);
while(numero!=20)
{
printf("%i",numero);
numero=20;
}
return 0;
}
Y si lo comprobamos esto nos imprimira el numero hasta que sea igual a 20, por que la condicion del while es que numero sea diferente a 20 entonces cuando numero sea 20 acaba. La comprobacion es meter 20 para observar lo que sucede.
Otra variacion del while es el do...while y lo que hace es ejecutar el bloque de codigo y verificar el while para saber si debe regresar al do o no. En este caso nosotros meteremos nuestro do...while para mejorar otra ves la calculadora.
#include <stdio.h>
int calcula(int numero1, int numero2, int opcion);
int main()
{
int numero,numero2;
char opcion;
do{
printf("Soy una calculadora basica que suma, resta, multiplica y divide\nEscriba un numero\n");
scanf("%i",&numero);
printf("¿que numero desea sumarle, restarle, multiplicarle y dividirle?\n",numero);
scanf("%i",&numero2);
printf("Numeros sumados valen %i \n",calcula(numero, numero2, 1));
printf("Numeros restados valen %i \n",calcula(numero, numero2, 2));
printf("Numeros multiplicados valen %i \n",calcula(numero, numero2, 3));
printf("Numeros divididos valen %i \n",calcula(numero, numero2, 4));
printf("Y el residuo es %i \n",calcula(numero, numero2, 5));
printf("Desea repetir(y/n):");
scanf("%c",&opcion);
}while(opcion=='Y'||opcion=='y');
return 0;
}
/*********************************************************
* *
* Nuestra funcion clacula pide dos numeros que son los *
* que utilizara para trabajar y uno mas para saber que *
* operacion realizar. *
* Las opciones son: 1 = suma, 2 = resta, 3 = mult., *
* 4 = division y 5 = residuo *
* *
**********************************************************/
int calcula(int numero1, int numero2, int opcion)
{
switch (opcion){
case 1: //Nuestro if para opcion = 1
return numero1+numero2;
case 2: //Nuestro if para opcion = 2
return numero1-numero2;
case 3: //Nuestro if para opcion = 3
return numero1*numero2;
case 4: //Nuestro if para opcion = 4
return numero1/numero2;
case 5: //Nuestro if para opcion = 5
return numero1%numero2;
default: //Nuestro else
return 0;
}
}
Podran notar que en este caso usamos el scanf para obtener una letra, en caso de que sea Y o y del ingles Yes el programa regresara al do. Ahora deben notar una cosa, los char siempre nesecitan usar comillas simples para poner o comparar un valor.











Anonymous # Wednesday, September 9, 2009 11:16:44 PM
fulapol # Monday, September 14, 2009 6:23:03 PM
Esta obra esta bajo una licencia de Creative Commons.
Anonymous # Monday, December 14, 2009 8:46:17 PM
Anonymous # Monday, December 14, 2009 8:47:49 PM
Anonymous # Saturday, March 6, 2010 9:32:03 PM
Anonymous # Monday, August 23, 2010 3:07:13 AM
fulapol # Tuesday, October 19, 2010 5:16:39 AM
Originally posted by anonymous:
Para windows la instruccion
system ("pause");
mete una pausita, se explica en el primer code, en linux esto no funciona y como estan hecho a compatibilidad no la he agregado en los codigos. haslo a mano y quedara listo.