Algunas observaciones:
C++ es un lenguaje de alto nivel y base fundamental de sistemas operativos y también de poderosos toolkits para componentes gráficos, como por ejemplo QT. C++ es un lenguaje que lógicamente puede ser ejecutado tanto en windows como en linux sin que haya ningún problema (siempre y cuando se usen las librerías propias del lenguaje).
Código fuente:
El código fuente lo conforman el conjunto de instrucciones escritas por el programador en un fichero de texto, a su vez estas instrucciones serán ejecutadas al pie de la letra por el programa resultante.
IDEs y Compiladores:
Dicho en palabras sencillas, un compilador es un programa o aplicación que traduce el código fuente escrito por el programador a un lenguaje que la máquina entienda y pueda ejecutar, posterior a su compilación el programa podrá ser ejecutado si no existen errores sintácticos dentro del código fuente, ejemplos: g++(compilador libre y actualizado), borland compiler (privativo y no actualizado).
Un IDE, Entorno de Desarrollo Integrado, es como su nombre lo indica, una aplicación cuya función primordial es la proveer al programador de todas las herramientas necesarias para su trabajo en un solo ambiente, en otras palabras, es lo mismo que colocar las herramientas independientes en un mismo lugar, facilitando así la tarea del programador. Algunos componentes del IDE son depurador,compilador,editor de texto (donde se escribe el código fuente), ejemplos: dev c++,codeblocks, codelite, netbeans, eclipse.
Codeblocks:
Codeblocks es un IDE el cual cuenta a su vez con el compilador libre g++ que a su vez forma parte del conjunto de compiladores GNU, codeblocks nos facilita la programación de nuestras aplicaciones en c++, además es multi plataforma por lo que existen versiones tanto para Windows como para Linux, este es el IDE que recomiendo para los ejemplos y lo pueden descargar del siguiente enlace:
http://www.codeblocks.org/downloads/26
A programar, pero antes…
Es importante para garantizar la portabilidad de aplicaciones entre windows y linux seguir algunas de las siguientes recomendaciones:
- En la medida de lo posible no utilizar bibliotecas propietarias o exclusivas del compilador, tales como conio.h y cualquier otra que no forme parte del standard C++.
- Siempre usar un compilador actualizado con las ultimas modificaciones del standard C++.
- Evitar el uso de código deprecated u obsoleto, por ejemplo evitar la función gets.
- Tener cuidado con las llamadas al sistema por ejemplo: para limpiar pantalla en windows es system(«CLS»); mientras que en linux es system(«clear»);
- Siempre usar la documentación oficial para c++ o en su defecto libros y manuales actualizados, no anteriores al año 2000.
Manos a la obra:
Un primo me pidió que le ayudara con una tarea y pues la mejor forma es explicar paso a paso, además le puede ser útil a mucha mas gente, así que empecemos por plantear el problema:
Problema:
El problema consiste en escribir un programa que reciba mediante el teclado dos números, que a su vez serán enviados a una función, la cual los sumará y retornará el resultado.
Parte por parte:
primero veamos algo sencillo
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
int main ()
{
int primerNumero, segundoNumero;
cout<<"digite el primer numero"<<endl;
cin>>primerNumero;
cout<<"digite el segundo numero"<<endl;
cin>>segundoNumero;
cout <<"primer numero es: "<<primerNumero<<endl;
cout<<"segundo numero es:"<<segundoNumero<<endl;
return 0; // siempre devuelve 0
}
Ahora repasemos linea por linea lo que significa esto. En primer lugar tenemos la cabecera o biblioteca que necesitamos incluir dentro de nuestro programa, en este caso, #include<iostream> significa incluya la biblioteca iostream de entrada y salida, la cual nos permitirá la entrada de valores por parte del usuario y su correspondiente salida por la pantalla.
Seguimos con la instrucción using la cual como su nombre lo indica le dice a nuestro programa, que use la instrucción cout,cin y endl, que están dentro del espacio de nombre std y que a su vez pertenecen a la biblioteca iostream, con lo cual se nos permitirá su uso. si se desea ampliar un poco más sobre este punto puede buscar en manuales de c++.
cout:
permite desplegar en pantalla el valor dentro de una variable o un texto entre comillas indicado por el programador, la sintaxis de uso es la siguiente:
cout<<"texto"<<valorDeVariable;
es importante recalcar que después de cada valor desplegado deben ir los siguientes caracteres << a no ser que ya no se desee incluir nada más y se termina la instrucción con un punto y coma.
endl:
endl es una instrucción sencilla que nos permite mantener la legibilidad y estética de las salidas de texto, su función es simplemente decirle al programa se acabo la linea, la próxima vez que escriba empezará en una nueva. Ejemplo sin endl:
cout<<"texto1";
cout<<"texto2";
lo anterior hará que la salida en pantalla luzca así:
texto1texto2
Ahora un ejemplo con endl:
cout<<"texto1"<<endl;
cout<<"texto2"<<endl;
y obtendríamos una salida así:
texto1
texto2
cin:
Por último la instrucción cin, nos permite introducir valores por teclado dentro de nuestro programa, cin es particularmente usada para introducir valores numéricos y no cadenas de caracteres como por ejemplo un nombre completo. Ejemplo:
cin>>variable;
su uso es simple, nada más escribimos cin seguida de los caracteres >> y el nombre de la variable que deseamos llenar con un valor del teclado.
Función main:
Es prácticamente una función que siempre debe ir en nuestro programa lo ideal es declararla como entera anteponiéndole el identificador int, ya que al final del main retornara un valor 0, lo ideal es que main no este muy recargada y generalmente se usa para llamar a otras funciones declaradas por el programador.Su sintaxis es la siguiente:
int main()
{
aquí va el código...
....
....
return 0;
}
Funciones declaradas por el programador:
Una función es simplemente una porción de código dedicada a realizar alguna tarea especifica o subrutina que se repite más de una vez en nuestro programa, son ideales para dividir una gran tarea en otras más pequeñas, de modo que simplifica el trabajo.
Las funciones pueden ser de distintos tipos y devolver algún valor por ejemplo, int,double, char, float, etc; o también pueden no retornar un simple valor, en cuyo caso el identificador usado será void.
A las funciones también se les pasan argumentos, a los cuales se les llama parámetros, estos van incluidos dentro del paréntesis respectivo de la función a la que se le envían.
Ejemplo función que retorna un valor
int funcion(int a, int b)
{
int c=a +b;
return(c);
}
como vemos esta función recibe el valor de dos parámetros y los coloca dentro de a y b, luego suma estos números y posteriormente retorna el valor resultante.
dentro del main la llamada a esta función ocupa ser igualada a una variable del mismo tipo en este caso int (entera) para poder «almacenar» el valor que le fue enviado desde la función y además se le pasan los números correspondientes. Quedaría así:
int resultado = funcion (primerNumero,segundoNumero);
El ejemplo propuesto:
Retomando el problema principal, ahora que hemos aclarado las partes del programa podemos pasar al problema que propuse, de modo que el código quedaría así:
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int llamada (int x, int y)
{
int suma; // variable local resuldato suma
suma = x+y;
return (suma); // envia suma que será igualada a resultado en main
}
int main ()
{
cout << "vamos a llamar a la funcion" <<endl;
// crea dos variables para pasarle los parametros
int numero1,numero2;
cout<<"Digite primer numero"<<endl;
cin>>numero1; // se inserta desde el teclado el primer numero.
cout<<"Digite segundo numero"<<endl;
cin>>numero2;
int resultado = llamada(numero1,numero2); // envia parametros para sumar y recibe el resultado.
cout << "resultado es: "<<resultado<<endl;
return (0);
}
Bien, a grandes rasgos el programa ya ha sido evaluado casi en su totalidad, pero no está de más recalcar los puntos.
En primer lugar la función llamada se encarga de sumar los dos números que le suministramos y que fueron ingresados mediantes las instrucciones cin en sus variables respectivas, posteriormente la función llamada suma esos valores y los retorna, de modo que se almacena en resultado y por último se despliega dicha suma con un cout.
Implementación en codeblocks:
Implementación del código en Codeblocks
Fuentes:
Documentación oficial c++:
http://www.cplusplus.com/
C con clase(apartado de funciones):
http://c.conclase.net/curso/?cap=015