Normas del foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Noviembre 23, 2008, 02:36:44
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Curso C/C++ desde 0
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: Curso C/C++ desde 0 (Leído 1088 veces)
TxShack
Miembro
Desconectado
Mensajes: 55
Prefiero morir de pie, a vivir arrodillado
Curso C/C++ desde 0
«
en:
Marzo 07, 2008, 05:27:33 »
CURSO DE C/C++ DESDE CERO
Aqui les dejo un manual sobre C/C++ que espero les sirva de ayuda...
El curso va por capitulos... segun se van aciendo cada semana o cuando aya tiempo...
El principio de este tuto surgio en CPH, y en la actualidad lo estamos haciendo entre un usuario de aya (mycrox) y yo... En cada capitulo pone el nombre de quien creo ese capitulo... lo digo porque al no estar mycrox aca, posteare yo sus capitulos en su nombre
- Introduccion:
¿Que es C++?
Bueno, creo que antes de empezar con el manual y explicar códigos y demás... es mejor comenzar sabiendo un poco sobre C++
C++ es un lenguaje de programación orientado a objetos, que nos permite hacer, desde el mas sencillo programa, hasta programas de cualquier índole y complejidad (jeje, creo que me quedo bien la palabra indole xD).
C++ nace como evolución del lenguaje C a finales de los 70, y su creador es Bjarne Stroustrup.
Bueno, con esto es suficiente... pues tampoco vamos a entrar en detalles sobre eso...
pasemos a la acción....
Comencemos!!!
Para ir entrando en calor y descargando cosas, empezare diciendo lo que es necesario para programar en C++.
A parte de tu cuerpo y cabeza libres de todo mal royo, y de un PC medianamente normal... necesitaremos un compilador de C++ que podreis encontrar gratis (como por ejemplo el Dev C++) u otros de paga como el Imprise C++
En este manual utilizare en compilador Dev C++
(Si quieren saber acerca de que es un compilador, pues lean
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
aca
)
Podeis bajar el compilador, directamente de la web de los autores del entorno:
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
http://www.bloodshed.net/devcpp.html
o sino lo bajan de este enlace
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
http://www.4shared.com/file/29094792/3eb6f91d/devcpp-4992_setup.html
el cual he subido yo mismo, y esta 100% limpio..
Una vez descargado, lo instalan y lo ejecutan.
Les apareceran algo asi...
Bien. Ya tienen en su pantalla el Dev C++ xD
Podrida pararme a explicar un poco que es cada boton... pero creo que es mejor que vallan echando un vistazo por ustedes mismos, ya que al fin y al cabo, esta en español, y es igual o parecido a cualquier programa... con su menú de Archivo, edición... los botones ya los conocen mas o menos... etc... asi que pasemos a nuestro primer programa en C++ !!!
Vamos a
Archivo
y seleccionamos la opción
Nuevo código fuente
Les aparecerá en pantalla, un espacio en blanco donde podrán ir escribiendo.
Pues nuestro primer programa sera, el tan famoso "hola mundo" asi que para ello copian el siguiente condigo:
Código:
#include <iostream.h>
#include <stdlib.h>
int main()
{
cout << "Hola mundo" << endl;
system("PAUSE");
return 0;
}
Lo que ara este código sera mostrar en pantalla el texto "hola mundo"
Asi que van a
Ejecutar
y seleccionan
compilar y ejecutar
o solo
Compilar
pero en ambos casos les pedirá que elijan un sitio donde guardarlo...
Pueden crear por ejemplo una carpeta en el escritorio llamada "c++ codes" o como quieran...
Cuando lo compilen, se les creara un archivo .exe y otro .cpp que nos servirá para que cuando cerremos el dev c++ podamos abrirle y tener el código del programa para poder verlo, hacer modificaciones... etc...
Con respecto al código, vamos a explicar un par de cosas...
----------------------
#include sirve para referir las bibliotecas de funciones que vamos a usar...
el modo de empleo es #include <nombre_libreria>
----------------------
int main () es necesario, puesto que todo programa en C++ comienza con una función main() y solo puede haber una, y como siempre regresa un entero, pues se coloca delante en int
----------------------
cout<<”hola mundo”<<endl; es una instruccion.
La instrucción cout esta dentro de la biblioteca iostream.h que empleamos (declaramos) al principio. Lo que hace esto en definitiva es mostrar el texto, asi que no se lien con lo que acabo de decir ni se preocupen...
----------------------
system("PAUSE"); sirve para llamar a la opcion pause del sistema (msdos) que para los que sepan sobre batch, seria como poner pause en un código...
----------------------
return 0; Esto es otra instrucción (return) que determina lo que devolveremos a main() que en este caso, como habitamos declarado que seria un entero, pues ponemos el 0 lo cual no dara errores durante la ejecución...
Si no lo han entendido bien, tampoco se preocupen... esto es sencillo y lo iran cogiendo mas adelante.
y por ultimo
}
La llave de cierre de la función main() indica el termino del bloque de instrucciones.
Y una ultima cosa para terminar...
Pueden utilizar las barras / / para introducir un comentario en el codigo, pero que no sera mostrado ni afectara para nada a la hora de ejecutarlo...
Seria igual que usar el comando rem en batch.
Si por ejemplo, a nuestro code le metemos:
Código:
#include <iostream.h>
#include <stdlib.h>
int main()
{
cout << "Hola mundo" << endl;
/manual por txshack/
system("PAUSE");
return 0;
}
verán que e puesto un comentario entre / / pues bien, eso no repercute en el código, ni se muestra ni nada... solo es para que si alguien lo lee el code, pues vea cosas que deja escritas el autor...
Y bueno amigos, hasta aquí por hoy que ya me canse de escribir jeje.
Me lo e currado poniendo acentos y sin faltas de ortografía xD
Otro dia que tenga tiempo continuo explicando las cosas fundamentales...
Para los que ya sepan de C pues verán el manual muy básico al principio, pero esto es para los que precien comienzan, aunque la cosa ya ira complicándose jejeje
TxShack
«
Última modificación: Marzo 11, 2008, 09:41:17 por TxShack
»
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Anibal784
Miembro
Desconectado
Mensajes: 43
Re: Curso C++ desde 0
«
Respuesta #1 en:
Marzo 08, 2008, 07:25:10 »
Muy lindo, cortito consiso, sólo dice como hacer un hola mundo y nada más.
Un par de fe de erratas para que lo tomes en cuenta, si vas a enseñar un lenguaje enseñémoslo bien:
1º- Dev C++, no es un compilador es una IDE (integrated development enviroment, o algo así mi inglés no es muy bueno, pero es un entorno de desarrollo integrado) que viene con un compilador, si no me equivoco el mignW.
2º- Los
#include
en C++ son un poquito diferente a como son en C, si bien el mignW compila de lo mas lindo, tira un pequeño warning. Los
#include
en C++ son de la forma
Código:
#include <libreria>
Sin el .h al final (eso es C++ standard) y si uno quiere usar librerías de C (stdio.h, stdlib.h, string.h, etc), se le agrega una c adelante y el nombre de la librería sin el .h
Código:
#include <iostrem> //Librería de I/O stándard de C++
#include <cstdio> //Librería de I/O stándard de C
Bien, como no hay que ser malo y lo que cuenta es la intención, te corrijo el código para que vayan entrando en onda:
Código:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
cout << "Hola mundo" << endl;
system("PAUSE");
return 0;
}
Las 3 primeras líneas es lo que modifiqué/agregué, ¿qué es un namespace?, eso lo dirán ustedes en capítulos posteriores, por ahora basta decir que es para que el código compile.
«
Última modificación: Marzo 08, 2008, 07:27:40 por Anibal784
»
En línea
"UNIX is simple. It just takes a genius to understand its simplicity."
lann
Habitual
Desconectado
Mensajes: 322
maamamma
Re: Curso C++ desde 0
«
Respuesta #2 en:
Marzo 09, 2008, 12:16:26 »
los "#include" en C++ no son diferentes a como son en C...
solo estas agregando diferentes archivos de cabezera pero de la misma manera que lo haces en C...
En línea
am
Sadiko
Habitual
Desconectado
Mensajes: 232
Re: Curso C++ desde 0
«
Respuesta #3 en:
Marzo 09, 2008, 12:54:05 »
pero bueno io no boy a hablar de compiladores x ke no c de eso
y yo uso el borland
pero pues lo ke segun ami me estan enseñando es ke todas las librerias de c++
si llevan el .h
osea ke segun io y mi maestra
keda asi
Código:
#include<iostream.h>
#include<conio.h>
y yo me c otra forma de poner un hola mundo
ke seria asi
Código:
#include <iostream.h>
#include <conio.h>
void main(void)
{
cout<<"hola mundo"<<endl;
getch();
}
y como veran soy un simple aprendis
pero pues si me late algo de la programacion
aunke tengo una pregunta el
Código:
int main ()
vendria siendo lo mismo ke el
Código:
void main(void)
«
Última modificación: Marzo 09, 2008, 12:55:06 por Sadiko
»
En línea
Virus check complete. All viruses functioning normally.
lavida te da la espalda oagarrale el culo! XD
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Anibal784
Miembro
Desconectado
Mensajes: 43
Re: Curso C++ desde 0
«
Respuesta #4 en:
Marzo 09, 2008, 01:02:10 »
No, el standard de C++ exige que sea sin el .h al final y si es una librería estándard de C que empiece con c<nombre de libreria sin .h>.
Ahora, para archivos header creados por uno mismo (ejemplo declaraciones de clases, prototipos de funciones, etc.) en donde uno hace un include del tipo "mi_archivo.h", ahí si se coloca el .h pero el pequeño tuto no explica lo que son archivos de cabecera ni nada de eso.
Resumiendo:
- Librería estándar de C++, include sin .h
- Librería estándar de C en C++, una c seguida del nombre de la librería sin el .h
Mi crítica es que si empiezan a hacer un tutorial de C++ es mejor enseñar las cosas bien y no porque usen compiladores viejos (llámese borland, VC 6) que no respetan el estándard se diga que es así como se hace un programa C++.
EDITO: para responderle a Sadiko.
Si es lo que te enseñan, y que mala suerte, a mi cuando vi C++ en la facultad me enseñaron lo mismo y me volvía loco el hecho de que Dev-C++ tiraba un Wargning, y eso era porque ponía los .h en los include.
¿Por qué compila también de esa forma? porque C++ es un superconjunto de C, eso quiere decir que un compilador C++ compila código C, y en C no existe un #include sin un .h.
Otra, #include <conio.h>, es otra de las malas prácticas que enseñan en todos lados, conio.h es una librería propietaria de borland y más de uno se agarra un dolor de cabeza cuando agarra otro compilador y le tira error de que no encuentra la librería conio.h y se llenan foros y foros con preguntas ¿qué tiene mal éste código?, etc.
bueno, con respecto al void main(void) y int main(), se que existe una pequeña diferencia entre una función que recibe void entre C y C++, creo no estoy seguro y agarralo con pinzas, que una función:
void func(void)
en C podía recibir cualquier cantidad de parámetros y en C++ significa que no recibe nada, ¿o era cuando no se ponía el void?....
«
Última modificación: Marzo 09, 2008, 01:11:41 por Anibal784
»
En línea
"UNIX is simple. It just takes a genius to understand its simplicity."
DarkIker
Habitual
Desconectado
Mensajes: 269
Colombia Underground Team
Re: Curso C++ desde 0
«
Respuesta #5 en:
Marzo 09, 2008, 04:15:53 »
a ver aver , void = nada, en C en C++ y en todo lo que diga void, para pasar argumentos indefinidos a una funcion en C y en C++ se usa el siguiente prototipo:
void __cdecl funcion( tipo varname, ... )
donde los puntos suspensivos indican el que se le pasa argumentos indefinidos y __cdecl( el compilador se encarga de añadir esto ) indica que los parametros se le pasan a la funcion de izquierda a derecha, al contrario de __stdcall que indica que se le pasan de derecha a izquierda, por ende si los pasamos de izquierda a derecha pusehandolos a la pila al retornar sin importar si estos no han sido sacados la pila no sera desnivelada a comparacion de lo que ocurriria con _stdcall, para esto existen macros los cuales son:
va_list // Tipo de dato
va_start
va_arg
va_end
en el momento no recuerdo si existen mas macros pero creo que no, mas si existen muchas funcions asociadas( referirse a stdio.h ), la variable varname nos ayuda en la indetificacion de los tipos de argumentos y es necesaria para que el prototipo pueda ser declarado. la por otra parte el estandar de C++ si dicta que los includes de acuerdo al ANSI C++ no deben poseer extensiones .h a fin de diferenciarlos de los del ANSI C y evitar colisiones por asi decirlo de nombre, no por otra razon, por ende todas las ficheros de cabecera que no posean al ANSI C++ no estan obligados de ninguna manera a no usar extensiones, es el caso de los includes para las aplicaciones que usan el api de windows, estops ficheros tiene soporte para C++ y no por eso obvian el .h. Los compiladores de C++ no aceptan unsigned char y char como un tipo de dato igualitario por asi decirlo a comparacion de unsigned int e int, y las conversiones entre los mismo sin el respectivo casting no estan permitidas, mientras que en C si.
PD: El SP6 para Visual C++ 6.0 fue publicado oficialmente el 29/03/2004, estos service pack actualizan el compilador y sus librerias, asi que creo que no esta tan viejo.
Att:
DarkIker
«
Última modificación: Marzo 09, 2008, 04:34:50 por DarkIker
»
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> Colombia Underground Team
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> My Blog
TxShack
Miembro
Desconectado
Mensajes: 55
Prefiero morir de pie, a vivir arrodillado
Re: Curso C++ desde 0
«
Respuesta #6 en:
Marzo 09, 2008, 04:39:16 »
Lo siento, pero llego con prisa y no tengo tiempo de ver todas sus respuestas ahora... pero aca os dejo la 2º parte
2º CAPITULO
POR: Mycrox y TxShack
Bueno amigos, antes de continuar adentrándonos en C++ como buen consejo que dio Mycrox, convendría explicar alguna cosa mas, para tener claros losconceptos... asi que este 2º capitulo, sera un capitulo, por llamarlo de alguna forma, "teorico" xD.
explicación desde cero sobre tipos de datos
Los diferentes tipos de datos sirven para que el computador sepa con que tipos de datos desea trabajar, ya sea con números, números con decimales, letras, etc.
Existen varios tipos de datos con los que se trabaja en C.
tenemos los mas comunes que son:
int ------> Tipo de dato ENTERO desde el -32767 hasta el 32767
long int ------> Tipo de dato ENTERO pero más largo desde el -2.147.483.647 hasta el 2.147.483.647.
float ------> Tipo de dato numerico con decimales {0.1, 2.9, etc}, desde el 3.4*e-38 hasta el 3.4*e38
double ------> Tipo de dato numerico con decimales pero con rangos más grandes, desde el 1.7*e-307 hasta ek 1.7*e308
char ------> Tipo de dato caracter {a, b, c....}
Cuando declaramos en el lenguaje C algun tipo de dato, el compilador reserva en memoria RAM los bytes necesarios para guardar ese dato.
Explicacion desde cero sobre identificadores
¿Que es un identificador?
Los identificadores son los nombres que se le asignan a las variables para poder "identificarlas en el programa". Una variable, es un espacio reservado en memoria que
"varia"
su valor.
por ejemplo, declaro una variable donde se guardara el resultado de una suma.
seria algo asi:
Código:
int suma;
int ---> tipo de dato númerico, ya que si quiero guardar un resultado de una suma, normalmente es ENTERO.
suma --> Es el nombre de la variable pero de tipo numérico por el int.
Código:
float suma;
float ---> Tipo de dato con coma flotante (decimales), si escribo float, el resultado de la suma me va a dar con decimales
suma ---> Es el nombre de la variable pero de tipo numérico con decimales por el float.
Código:
char suma;
char ---> Tipo de dato de caracteres, aqui no podriamos realizar operaciones matematicas ya que la variable suma, no seria considerada como un numero, si no que como una letra, mas adelante veremos esto con más profundidad.
Si nos damos cuenta, la variable
suma
no tiene ningun valor, ya que supuestamente cuando se realice la suma, la variable tomará el valor del resultado, cierto?
Pero tambien se puede cambiar esto, si yo quiero que un valor se inicialice en un número, perfectamente se podría hacer:
Código:
int x=5
int y=10
entonces, si por ejemplo quiero sumar 5+10 en C, el código sería el siguiente:
Código:
int x=5;
int y=10;
suma=x+y;
o más simple todavía:
Código:
suma=5+10;
*Toda linea de código debe terminar con un punto y coma (
a excepción de algunos casos que veremos más adelante.
PALABRAS RESERVADAS:
Si se fijaron, yo puedo declarar una variavle con el nombre que yo desee (char nombre, int numero, etc) pero existen palabras reservadas en C que no puedo utilizar como variables propias o definiciones.
acá les va la lista:
Citar
asni continue float new signed try
auto default for operator sizeof typedef
break delete friend private static union
case do goto protected struct unsigned
catch double if public switch virtual
char else inline register template void
class enum int return this volatile
const extern long short throw while
cuando en el compilador escriban estas palabras, el texto se les pondrá en negrita.
Librerías:
Las librerías, son unos ficheros que contienen el código objeto de muchos programas que nos permiten hacer cosas como escribir en pantalla, manejar numeros, leer el teclado, hacer operaciones matemáticas... etc.
Existen librerias de entrada y de salida, de manejo de memoria, de manejo de texto, matemáticas....
Un conjunto de librerias especiales son las ANSI que se incluyen con todos los compiladores de C y C++ y despues existen otros tipos de librerias publicas, y otras de distribución comercial, aunque las que trataremos principalmente son las ANSI.
Segun vallamos desarrollando el manual, iran entendiendo mejor como usar las librerias, asi que no se preocupen.
Tipos de errores:
Al crear un codigo, podemos cometer errores a la hora de codearlo, ya sea por despiste error de escritura etc...
Estos errores, los podemos clasificar de distintas formas:
AVISOS:
Los avisos (Warnings) son errores que no son lo suficientemente graves para impedir la generacion de codigo objeto, pero es combeniente correjirlos, ya que puede dar confusion al compilador, a la hora de ejecutar el programa, y puede tomar decisiones las cuales nosotros no teniamos en mente a la hora de programarlo.
ERRORES DE SINTAXIS:
Estos errores se detectan en la fase de compilacion, y nos dara una lista de errores de sintaxis, los cuales, pueden haber sido ocasionados por expresiones incompletas o erroneas, que ayamos escrito algo mal... etc.
ERRORES A LA HORA DE EJECUTAR:
Existen ocasiones, en las que una nez creado el ejecutable, a la hora de ejecutarlo, se cierra de forma brusca devido a algun error. Este tipo de fayos son los mas dificiles de localizar, pero existen unos programas auxiliares llamados debuggers (depuradores) que inspeccionan el programa paso a paso, comprovando las variables... etc
Bueno, espero que esto les hay aclarado algo mas las cosas antes de continuar...
Las explicaciones del principio, han sido escritas por Mycrox, el cual se a unido a la creación del curso, y me mando por m.p. para que lo publicase... Esperemos que siga colaborando ^^ Lo de las librerias y los tipos de errores ha sido echo por mi.
Recuerden que si tienen alguna pregunta, no duden en postear
Pronto seguiremos con el manual... (en cuanto haya un rato libre)
Saludos y hasta pronto!!!
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
DarkIker
Habitual
Desconectado
Mensajes: 269
Colombia Underground Team
Re: Curso C++ desde 0
«
Respuesta #7 en:
Marzo 09, 2008, 05:54:09 »
Citar
int ------> Tipo de dato ENTERO desde el -32767 hasta el 32767
No, el tipo de dato int tiene el mismo tamaño que el numero de bits del procesador; por ende esto solo es cierto en maquinas de 16 bits, el tipo de dato que por cierto te falto que tiene este tamaño es short, por eso es que cuando usas sockets el tipo de dato de entrada para la funcion htons a fin de especificar el puerto es u_short, osease unsigned short que tambien te falto explicar que "unsigned" sirve para algo, Ahora que no espero que los conozcas pero existen los wchar_t definidos como u_short ya que son caracteres UNICODE. Salu2
Att:
DarkIker
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> Colombia Underground Team
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> My Blog
TxShack
Miembro
Desconectado
Mensajes: 55
Prefiero morir de pie, a vivir arrodillado
Re: Curso C++ desde 0
«
Respuesta #8 en:
Marzo 10, 2008, 06:25:14 »
Cita de: DarkIker en Marzo 09, 2008, 05:54:09
Citar
int ------> Tipo de dato ENTERO desde el -32767 hasta el 32767
No, el tipo de dato int tiene el mismo tamaño que el numero de bits del procesador; por ende esto solo es cierto en maquinas de 16 bits, el tipo de dato que por cierto te falto que tiene este tamaño es short, por eso es que cuando usas sockets el tipo de dato de entrada para la funcion htons a fin de especificar el puerto es u_short, osease unsigned short que tambien te falto explicar que "unsigned" sirve para algo, Ahora que no espero que los conozcas pero existen los wchar_t definidos como u_short ya que son caracteres UNICODE. Salu2
Att:
DarkIker
Bueno... es un manual desde cero... donde principalmente vemos a lo basico...
y muchas cosas que pueden complicar no estan recogidas (al menos de momento) al igual que algunas funciones, operadores... etc... ademas, de que algunos de ellos no los conozco.. o al menos no los conozco tan bien como para explicarlos... No es un manual avanzado de C/C++. Intentamos explicar lo suficiente para aprenderlo medianamente bien... despues, cada uno ira adquiriendo cosas mas complicadas una vez sepa esto bien... aparte de que mis conocimientos de C son medios y aun me queda bastante por aprender...
Ahora les dejo la 3º parte
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
TxShack
Miembro
Desconectado
Mensajes: 55
Prefiero morir de pie, a vivir arrodillado
Re: Curso C++ desde 0
«
Respuesta #9 en:
Marzo 10, 2008, 06:26:35 »
3º CAPITULO
Por: Mycrox
ASIGNACIONES DE VALORES.
Una asignación quiere decir que "entrego" un valor a una variable determinada. En lenguaje C esas asignaciones se hacen de derecha a izquierda, ya que al revés nos saldrá error.
ejemplos buenos:
a=5
//el valor 5 se guarda en la variable a
a=b
//el valor de b se guarda en la variable a.
ejemplos malos:
5=a;
a+b=c;
si nos fijamos, los ejemplos malos tienen lógica, pero en lenguaje C eso no existe.
----------------------------------------------------------------------------------------------------------------------------
IMPRIMIR DATOS POR PANTALLA.
En lenguaje C existe una función llamAda printf que quiere decir "imprimir de first y primero de f (printf)"
¿El primero que?
El primer dispositivo de salida que en este caso es el monitor.
Sintaxis:
printf("texto");
Veamos un ejemplo:
Pasaré a explicar el código.
#include <stdio.h>
#include <stdlib.h>
-- Son las librerias con las funciones necesarias para que funcione el programa, en este caso la stdio para el printf y la stdlib para el system("pause")
int main()
-- Funcion principal.
printf("Esto es una cadena de texto\n");
-- La funcion printf imprimirá en la pantalla todo lo que tenga entre comillas. Lo que se añade, el "\n", quiere decir
salto de línea.
system("pause");
-- Simula una instruccion del MS-DOS que en este caso es pause para que puedas visualisar lo que hay en pantalla. Prueba sin esta funcion y te aclararás más.
imprimirá lo siguiente:
----------------------------------------------------------------------------------------------------------------------------
SECUENCIAS DE ESCAPE
Tambien existen secuencias de escape, son como complementos a la funcion printf.
Las secuencias son las siguientes:
\a - Sonido audible
\b - Retroceso
\n - Salto de linea
\t - Tabulacion
Su utilizacion es dentro dela funcion printf, solo prueben y veran de que les hablo, ya que es mejor aprender
haciendo
.
----------------------------------------------------------------------------------------------------------------------------
La funcion printf también puede imprimir variables y operaciones despues del cierre de comillas y separados con una coma con el signo % (porcentaje) y la inicial del tipo de dato,a continuación se muestra más claramente si no entendiste:
printf("la variable es %i", a);
suponiendo que la variable a es de tipo entero (int) se imprimirá el valor de dicha variable.
Veamoslo de una manera mas completa:
Explicación del código:
declaro las librerias correspondientes y luego dentro del main, declaro la variable a como tipo de dato entero, en este caso, le asigno el valor de 5.
Luego la imprimo con el símbolo %i, su inicial es i porque el dato es INT.
Se imprimirá lo siguiente:
Veamos otro ejemplo pero con otro tipo de dato:
En este caso para exactamente lo mismo, pero ahora es %f debido a que el dato es de tipo float, es decir, de coma flotante (con decimales).
Se imprime lo siguiente:
----------------------------------------------------------------------------------------------------------------------------
Tambien se puede imprimir mas de una variable, tan solo hay que separalas por comas para diferenciarlas.
printf("la variable a es %i y la variable b es %i", variable1, variable2);
el primer %i pertene a la variable variable1 y el segundo %i pertenece a variable 2
----------------------------------------------------------------------------------------------------------------------------
IMPRIMIENDO OPERACIONES.
Otro de tipo de operaciones puede ser imprimir operaciones como sumas, restas, multiplicaciones y un sinfin de cosas que mas adelante veremos.
veamos un ejemplo:
Si podrán darse cuenta, declaro a y b con valores iniciales y luego los sumo, tan solo imprimo su resultado como %i, ya que el resultado es un entero.
Se imprime lo siguiente:
----------------------------------------------------------------------------------------------------------------------------
PROXIMO CAPITULO, LEER DATOS POR TECLADO.
saludos!
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
DarkIker
Habitual
Desconectado
Mensajes: 269
Colombia Underground Team
Re: Curso C++ desde 0
«
Respuesta #10 en:
Marzo 10, 2008, 10:40:07 »
Tio es que el tamaño de int es algo sumamente basico que se debe de conocer, los tipos de datos tambien esto no es en absolutoi avanzado, inclusive la aritmetica de punteros no lo es, la referencia y demas muchisimo menos.
Personalmente mi consejo es que si no puedes enseñar algo bien no lo enseñes por que solamente vas a confundir a los que lo lean pensando que en realidad lo que hace en el manual esta bien echo. No trates de hacer manuales solamente para expandir conocimiento siendo que todavia no tienes bien cimentado el tuyo.
Att:
DarkIker
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> Colombia Underground Team
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> My Blog
nexus 1
Moderación
Gran Colaborador
Desconectado
Mensajes: 4054
La mejor manera de aprender es enseñando
Re: Curso C++ desde 0
«
Respuesta #11 en:
Marzo 10, 2008, 11:03:20 »
esto es lo que el staff pretende ... que los fundamentos salgan a la luz DarkIker , lo elemental nos interesa . tras ello esperamos tus aportes avanzados ... de momento no .
TxShack ofrece conocimiento . punto . el nivel que tenga no es asunto tuyo . y si de verdad estas interesado presenta los supuestos errores y no ensucies el post
SAlu2 ---
En línea
Gracias a los amigos del Foro.Sois lo mejor
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Normas Del Foro
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
DarkIker
Habitual
Desconectado
Mensajes: 269
Colombia Underground Team
Re: Curso C++ desde 0
«
Respuesta #12 en:
Marzo 10, 2008, 11:55:25 »
juaz tio pero creo que no has leido todos los post por que ciertamente e presentado todos los argumentosy anibal o no se bien el nick tambien, como pretenden enseñar si aun se encuentran aprendiendo es la pregunta?, como tratar de explicar algo si no se lo conoce?. Las ganas y el entusiasmo cuentan, claro que si pero si eso no es respaldado por conocimeinto cual es el benficio?, yo no discuto el si es nivel basico o avanzado, discuto el que a lo que el le llama nivel basico contenga errores muy puntuales y que con 5 minutos con google se pueden aclarar, esos errores confunden mas no generan conocimiento.
Att:
DarkIker
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> Colombia Underground Team
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
--> My Blog
nexus 1
Moderación
Gran Colaborador
Desconectado
Mensajes: 4054
La mejor manera de aprender es enseñando
Re: Curso C++ desde 0
«
Respuesta #13 en:
Marzo 10, 2008, 12:00:33 »
ya conocemos tu opinion DarkIker . gracias .
ahora deja seguir a TxShack .
SAlu2 ---
En línea
Gracias a los amigos del Foro.Sois lo mejor
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Normas Del Foro
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
TxShack
Miembro
Desconectado
Mensajes: 55
Prefiero morir de pie, a vivir arrodillado
Re: Curso C++ desde 0
«
Respuesta #14 en:
Marzo 10, 2008, 01:28:59 »
Cita de: DarkIker en Marzo 10, 2008, 10:40:07
Personalmente mi consejo es que si no puedes enseñar algo bien no lo enseñes
Creo que lo que se a dicho hasta ahora esta bien enseñado... y si hay algun error o algo que se pueda mejorar, pues se ara sin ningun problema... pero
Cita de: DarkIker en Marzo 10, 2008, 10:40:07
No trates de hacer manuales solamente para expandir conocimiento siendo que todavia no tienes bien cimentado el tuyo.
lo que esplico, es algo que si tengo asentado y sabido, y en el punto donde no pueda continuar, pues lo dejare...
Cuando me referia a nivel medio, lo decia porque dominar un lenguage como es el C, es algo muy complicado, que dudo mucho que alguna persona del foro sea tan "avanzado" para crear un programa o codigo complejo de verdad... y aqui, intentamos enseñar al menos, lo que hay que saber como minimo y un poco mas... pero eso no kiere decir que se nos escapen algunas cosas a la hora de hacerlo... ya que ponerte a crear un manual para que todo el mundo lo entienda no es tan facil como parece.... y si no me confundo, aun no e visto uno en el foro que no sea una descarga o un copy paste... pero bueno, criticar es facil, ayudar mas complicado....
Simplemente te invito a que si quieres colaborar, pues nos ayudes... y si no quieres y no te gusta el manual, pues ya as dejado tu opinion... no sigas leyendo...
Por cierto... el manual lo estamos haciendo de entre dos, aunque la iniciativa fue mia.. y otros usuarios qe han ido aportando a lo largo del curso... por si kieres comprobarlo, aca te dejo el link
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
VER
(perdon si es spam) y en concreto la parte del int no fue explicada por mi....
Bueno, perdon si me alarge mucho escribiendo.... a continuacion dejare otro capitulo... y si al moderador de esta seccion, le parece bien borrar el tema porque el curso es "confuso o malo" pues que lo aga, no tengo problema.... mientras tanto, seguire ayudando y aportando lo que pueda...
Saludos
PD: Gracias nexux por tus comentarios.
PD2: Darkiker, aunque pueda parecer molesto no lo estoy, estas libre de hacer tus comentarios... no hay problema
Agur
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
TxShack
Miembro
Desconectado
Mensajes: 55
Prefiero morir de pie, a vivir arrodillado
Re: Curso C++ desde 0
«
Respuesta #15 en:
Marzo 10, 2008, 01:30:30 »
4º CAPITULO
Por: TxShack
Bueno, para completar un poco mas el capitulo anterior que hizo Mycrox, voy a encargarme de mostrarles como serian esos mismos codigos, pero con el lenguage de C++, ya que el comando printf es propio de C (pero sirve tambien para C++) mientras que el cout, tipico de C++ no es posible usarlo para codigos en C.
Bueno, comenzare explicando, el 1º ejemplo que dijo, sobre imprimir un texto en pantalla, pero con el comando cout
Utilizare el mismo ejemplo para que este mas claro todo:
Y como podemos comprobar, imprime esactamente lo mismo que con el comando printf
Bueno, en esta ocasion, voy a analizar el codigo completamente, dando todos los detalles que se, para que puedan aprender lo mejor posible.
La primera linea:
Citar
#include <iostream>
Lo que hace esto, es añadir un archivo llamado iostream (libreria) dentro de nuestro codigo, que vamos a utilizar.
El primer caracter, es el simbolo # que lo que hace es actuar sobre el preprocesador.
Cada vez que comenzamos a compilar, el preprocesador es el primero en actuar, y lo que hace, es buscar por todo nuestro codigo, las lineas que empiezen por el simbolo # y lo que hace, es actuar sobre ellas, antes que se ejecute el compilador.
A continuacion del simbolo # vemos que aparece la palabra include, que lo que hace, es avisar de que devemos incluir (include) un archivo que sera usado en nuestro codigo, que en este caso sera iostream.
Y por ultimo, queda de explicar, para que se ponen alrededor de iostream los simbolos < >
Lo que hacen estos simbolos, es indicar al compilador, donde se encuentra el archivo iostream, para asi no tener que incluir la ruta.
Estos simbolos < > dicen que el archivo a buscar, esta en la carpeta include, que veremos en el directorio donde tenemos instalado en compilador Dev-C++
Bueno, con esto creo que queda claro, lo que hace cada parte el codigo...
Ahora pasemos a al 2º linea:
Código:
int main()
Aqui empieza el programa que escribimos...
Com vemos, empieza por una funcion llamada main().
Una funcion, en general, es un bloque de codigo, que ejecuta una o mas acciones.
Como todas las funciones, main(), tiene que indicarnos el valor que deve de devolvernos, que en este caso es un entero, por eso lo indicamos con la palabra int
A continuacion, en la liea siguiente, vemos que aparece una llave { y de la misma forma, acana con otra llave } que lo que hacen, es indicar, que es lo que forma parte de la funcion.
Pasemos a la siguiente linea:
Código:
std::cout << "Esto es una cadena de texto\n";
Lo que hace esta linea, es indicar que utilizaremos el comando cout, para imprimir un mensaje en pantalla.
El comando cout, biene con la libreria estandar en todos los compiladores, y por lo tanto, lo que hacemos a la hora de escribir std:: es indiarle al compilador, que cout, forma parte de la libreria estandar. Esto tampoco es necesario, tal y como vieron en el primer capitulo, pero es lo correcto a la hora de programar, ya que podemos indicarle otro distinto a la estandar (std) por lo que nos podria imprimir cosas diferentes...
El
std
es conocido como el "namespace" que mas adelante veremos mas sobre ellos.
El
cout
es el "objeto"
El
<<
es el "operador" que en este caso nos indica que es un operador de salida, que lo que hace, es mostrar en la consola el texto que hayamos puesto detras.
Y lo que esta entre las
" "
en este caso "Esto es una cadena de texto\n" es conocido como el string, es decir, caracteres escritos. El \n lo que indica, es que una vez mostrado el texto, debe llebar acabo un salto de linea.
Bueno, con eso que acabamos de explicar, creo que serian perfectamente capazes de hacer el 2º codigo que indico Mycrox, empleando la funcion cout.
Espero que hayan entendido todo bien.
Esta a sido una clase un poco mas teorica tal vez, donde me e centrado un poco mas, en mostrar que hace cada parte del codigo, ya que creo que es necesario saberlo...
Un saludo, y hasta pronto.
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Por una red libre de información y sin censuras
"Podrán morir las personas, pero jamas sus ideales"
Axus
Moderación
Gran Colaborador
Desconectado
Mensajes: 3222
Free Style
Re: Curso C++ desde 0
«
Respuesta #16 en:
Marzo 10, 2008, 01:48:57 »
Bueno si quieren luego borran el post pero queria comentar
Porque no esta nada mal el post bien explicado todo se entiende muy bien
PD:No creen que este post debe ir fijado?
En línea
hoper
Miembro
Desconectado
Mensajes: 132
Re: Curso C++ desde 0
«
Respuesta #17 en:
Marzo 10, 2008, 01:59:05 »
Siempre me quede con ganas de aprender C
pero no se nunca se dio la ocacion o el tiempo o no se que fue
aun espero el dia en que me decida a aprender este lenguaje...
en fin saludos
En línea
Canta conmigo...♫
Anibal784
Miembro
Desconectado
Mensajes: 43
Re: Curso C++ desde 0
«
Respuesta #18 en:
Marzo 10, 2008, 05:35:44 »
Bueno, mal que me pese, debo salir en defensa de DarkIker, nadie critica el nivel, principiante/amateur/medio/avanzado/profecional/hacker/
"ya no programo más tengo un programa que lo hace por mi"
del creador son errores que uno debería tener en cuenta y en lugar de salir y enojarce aceptar el aporte y corregir tener en cuenta y rever, nadie nace sabiendo y menos programar en C.
Volviendo al tema, si esto es un curso desde cero de C++, ¿por qué se usa printf?, printf es función de C, cout es de C++, usa la potencia del lenguaje no es necesario usar printf en un programa C++, es más está desaconsejado, lee ésto y decime:
Código:
int a = 10;
float b = 11.0;
printf("a = %d b = %f\n", a, b); // en C
cout << " a = " << a << " b = " << b << endl; // C++
Qué vas a hacer cuando empieces con la entrada por teclado ¿scanf?, o cuando pidas memoria dinámica ¿vas a usar malloc?. C++ es un lenguaje mucho más complicado y muy diferente que C.
En línea
"UNIX is simple. It just takes a genius to understand its simplicity."
FreakMind
Habitual
Desconectado
Mensajes: 190
Re: Curso C++ desde 0
«
Respuesta #19 en:
Marzo 10, 2008, 06:18:14