Jump to content

Pregunta sobre el lenguaje C++


albertdt6
 Share

Recommended Posts

Estoy empezando a aprender C++ (creo que es el primer lenguaje de programación que se tiene que estudiar) y tengo una cuantas preguntas. El valor int no lo acabo de pillar que función hace. Por ejemplo:

 

#include 
int main()
{
  using std::cout;
  using std::cin;

  int mayor, menor;
  cout << "Introduzca un número:";
  cin >> mayor;
  cout << "Introduzca otro número más pequeño:";
  cin >> menor;

  return 0;
}

 

Se que está función no hace nada porque no se le especifica que haga nada. Aún así quería saber para que sirve el comando int main i el comando int mayor, menor. Tampoco me aclaro con el return 0, se que significa que no tiene que retornar nada pero tampoco que hace precisamente.

 

Gracias

Link to comment
Share on other sites

Pues creo, y que me corrijan otros programadores, que deberías comenzar por el "principio", es decir, objetos de un programa, tipos de datos, expresiones, partes de un programa, etc.

 

Quizás de esta forma obtengas una base que te irán aclarando posteriormente esas dudas que tienes, da la sensación de que quieres aprender C conforme te vayas encontrando problemas y no creo que sea la mejor forma, sobre todo porque vas a tardar mucho más en aprender a programar.

 

Pero siempre bajo mi humilde opinión, saludos y feliz año,

Menom

Link to comment
Share on other sites

Todo programa en C/C++ debe tener un punto de inicio. Ese punto de inicio se indica mediante la función principal 'main'

 

Lo que le estás diciendo al compilador es 'este es el punto inicial del programa', las funciones tiene tipos de datos, es decir devuelven un valor (o nada, en cuyo caso se indica void) la función main, por defecto debe devolver un entero que es el código de salida de ejecución, típicamente se usa 0 para indicar 'sin error' y otros números para indicar más cosas. Esto se puede utilizar luego en scripts de procesado por lotes (batchs)

 

Es más, a la función main se le pasan por defecto tres parámetros, es muy normal ver esto

int main(int argc, char** argv, void*env)

o esto otro

int main(int argc, char**argv)

 

Argc es el número de parámetros que se le han pasado desde línea de comando (más uno que es el path de ejecución y que siempre va el primero) y argv es un puntero a un array de strings con los valores pasados, es decir, si yo he ejecutado mi exe con miprograma.exe parametro1 parametro2 argc valdrá 3 y argv[0] contendrá 'path/miprograma.exe'; argv[1] contendrá 'parametro1 y argv[2] pues 'parametro2'

 

Por otro lado evn, se usa bastante poco pero es un puntero al entrono desde el que se ejecuta la aplicación. Es muy importante cuando lanzas subprocesos desde tu aplicación (fork y similares) y quieres que compartan variables de entorno.

 

Bien, eso respecto al main... respecto al int mayor, menor; resulta que el C/C++ es un lenguaje declarativo y todas, absolutamente todas las variables que vas a usar en una función deben ser declaradas, de ese modo el programa puede reservar espacio en la pila de función en runtime. Por cierto que si os interesa en tema, hacer overflows a la pila de función es uno de los métodos más habituales de reventar un programa (como explorer, por ejemplo) y ejecutar código malicioso.

Link to comment
Share on other sites

Y yo empezaría por lenguajes más sencillos tipo Basic o Cobol (sí, cobol, ¿algún problema? :lol:).

 

C++ en su momento me pareció imposible, pero era porque no tenia ciertos conceptos generales de programación. Ahora tengo en la mesilla de noche una Introducción a la Programación, que cuenta cosas generales de programación, y luego te va introduciendo a distintos lenguajes de forma amena, y contando en cada uno la manera de aplicar los conceptos (variables y sus tipos, punteros, matrices, condicionales, objetos si es lenguaje lo soporta...) en cada lenguaje.

 

De momento he leído la parte de Cobol y ya me apaño haciendo aplicaciones en consola con él... y he mirado el apartado de C/C++ y lo entiendo mejor que cuando me puse con C++ sólo en su momento.

Edited by Mr. Bean
Link to comment
Share on other sites

Todo programa en C/C++ debe tener un punto de inicio. Ese punto de inicio se indica mediante la función principal 'main'

 

Lo que le estás diciendo al compilador es 'este es el punto inicial del programa', las funciones tiene tipos de datos, es decir devuelven un valor (o nada, en cuyo caso se indica void) la función main, por defecto debe devolver un entero que es el código de salida de ejecución, típicamente se usa 0 para indicar 'sin error' y otros números para indicar más cosas. Esto se puede utilizar luego en scripts de procesado por lotes (batchs)

 

Es más, a la función main se le pasan por defecto tres parámetros, es muy normal ver esto

int main(int argc, char** argv, void*env)

o esto otro

int main(int argc, char**argv)

 

Argc es el número de parámetros que se le han pasado desde línea de comando (más uno que es el path de ejecución y que siempre va el primero) y argv es un puntero a un array de strings con los valores pasados, es decir, si yo he ejecutado mi exe con miprograma.exe parametro1 parametro2 argc valdrá 3 y argv[0] contendrá 'path/miprograma.exe'; argv[1] contendrá 'parametro1 y argv[2] pues 'parametro2'

 

Por otro lado evn, se usa bastante poco pero es un puntero al entrono desde el que se ejecuta la aplicación. Es muy importante cuando lanzas subprocesos desde tu aplicación (fork y similares) y quieres que compartan variables de entorno.

 

Bien, eso respecto al main... respecto al int mayor, menor; resulta que el C/C++ es un lenguaje declarativo y todas, absolutamente todas las variables que vas a usar en una función deben ser declaradas, de ese modo el programa puede reservar espacio en la pila de función en runtime. Por cierto que si os interesa en tema, hacer overflows a la pila de función es uno de los métodos más habituales de reventar un programa (como explorer, por ejemplo) y ejecutar código malicioso.

 

Gracias por tu aclaración m3ntol pero aún soy muy novato para comprender el argv y esas cosas que has dicho. Estoy aprendido mediante tutoriales y poco a poco voy conociendo. Respecto a return si le ponga un 1 en ves de un 0, ¿que pasaría?, lo siento pero no lo he comprendido demasiado bien.

 

Después me gustaría que me dijieras de que va el overflows porque me parece muy interesante aunque no estoy capacitado aún de provarlo.

Link to comment
Share on other sites

Y yo empezaría por lenguajes más sencillos tipo Basic o Cobol (sí, cobol, ¿algún problema? :lol: ).

 

C++ en su momento me pareció imposible, pero era porque no tenia ciertos conceptos generales de programación. Ahora tengo en la mesilla de noche una Introducción a la Programación, que cuenta cosas generales de programación, y luego te va introduciendo a distintos lenguajes de forma amena, y contando en cada uno la manera de aplicar los conceptos (variables y sus tipos, punteros, matrices, condicionales, objetos si es lenguaje lo soporta...) en cada lenguaje.

 

De momento he leído la parte de Cobol y ya me apaño haciendo aplicaciones en consola con él... y he mirado el apartado de C/C++ y lo entiendo mejor que cuando me puse con C++ sólo en su momento.

 

Yo empezé con JavaScript y la verdad que la mitad no la entendí, pero parte si. Ahora empiezó C++ y no le encuentro demasiado complicado (de momento) aunque también debe tener en cuenta los tutoriales porque en el caso mío el tio que lo explica lo hace muy bien y lo entiendes a la primera y hace ejemplos muy claros, aunque son 26 tutoriales, aunque programación es echarle horas.

Link to comment
Share on other sites

Gracias por tu aclaración m3ntol pero aún soy muy novato para comprender el argv y esas cosas que has dicho. Estoy aprendido mediante tutoriales y poco a poco voy conociendo. Respecto a return si le ponga un 1 en ves de un 0, ¿que pasaría?, lo siento pero no lo he comprendido demasiado bien.

 

Después me gustaría que me dijieras de que va el overflows porque me parece muy interesante aunque no estoy capacitado aún de provarlo.

 

Puedes poner el nuemro que quieras, en el fondo lo vas a usar tu para saber cómo ha salido la ejecución y enlazarlo con un batch. Por ejemplo, imagínate que tienes un programa que comprueba si un servidor está levantado, si lo está retorna 0 y si no lo está retorna 1, el código del main sería algo así:

int main( int argc, cahr **argv) {
 return hazPing(argv[1]);

}

int hazPing(char *servidor) {
//hace un ping a un server y retorna 0 si lo devuelve y 1 si no lo devuelve
bla bla bla.....
aquí va un código que no viene al caso
}

 

Lo compilas con el nombre hazPing y luego, utilizas desde un script Unix tu programa, por ejemplo:

#!/bin/sh
# Comprueba si macuarium está levantado
'hazPing www.macuarium.com`
if [ "$?" -ne "0" ]; then
 echo "La web de macuarium está caída"
 #y haces más cosas, que se yo... reiniciar el servicio
 '/etc/init.d/httpd restart'
 exit 1
fi

 

Este script lo pones en un cron para que se ejecute cada 30 minutos y ya tienes algo de utilidad ¿no?

 

 

 

respecto al overflow (también llamado overrun, pues mira, un ejemplo:

#include <stdio.h>
#include <string.h>

void foo(const char *input)
{
char buf[10];
strcpy(buf, input);
}

void bar(void)
{
printf("I've been hacked!\n");
}

int main(int argc, char *argv[])
{
if(argc != 2)
{
	// to keep it from being optimized away
	bar();
}
else
{
	foo(argv[1]);
}
return 0;
}

 

Bien, si tu compilas y llamas a tu programa se espera que si le pasas un argumento lo único que haga sea llamar a la función foo y no pintar nada ¿no?, pues prueba a llamarlo con:

main.exe AAAAAAAAAABB\x0c\x10\x40

y ya verás lo que hace.

 

El ejemplo lo he cogido al tun tun de esta web:

http://blogs.msdn.com/roberthorvick/archiv...1/16/59460.aspx y viene mucho mejor explicado, ojito con lo que hacéis con los overruns, que lo más probable es que se cuelgue vuestra máquina.

 

 

PD: Años de evolución, desde el código spagheti hasta la OOP pasando por la programación estructurada para llegar a... JavaScript, la mayor mierda sobre la faz de la tierra... pero claro, como te permite distribuir código para cliente ligero lo usa todo el mundo. En fin, el señor de la informática se mueve de formas misteriosas

Edited by m3ntol
Link to comment
Share on other sites

Gracias por tu aclaración m3ntol pero aún soy muy novato para comprender el argv y esas cosas que has dicho. Estoy aprendido mediante tutoriales y poco a poco voy conociendo. Respecto a return si le ponga un 1 en ves de un 0, ¿que pasaría?, lo siento pero no lo he comprendido demasiado bien.

 

En principio nada. Como te dijo m3ntol, el valor que retorna la función primaria (main) es simplemente el valor que quieras darle. Normalmente, si todo ha ido bien, se le da valor 0. Si ha fallado algo se le asigna otro valor que elije el programador. Su utilidad está en que cuando ejecutes el programa desde el terminal tengas algún tipo de información sobre como ha ido. Ten en cuenta que todos los comandos que se utilizan para moverse entre ficheros, copiarlos... hasta los que se utilizan para comprimir, codificar, controlar comunicaciones... TODOS los comandos son en realidad programas completos, así que si, por ejemplo, quiero mover un fichero a una ubicación inexistente, el comando encargado de ello tiene que ser capaz de detectar el problema, y retornar el valor adecuado (digamos... 13, por poner) para que yo pueda saber que no ha podido completar la orden, y porqué.

 

Es más, hasta donde sé, no es imprescindible que main devuelva un valor. Se puede hacer también:

void main (...) {
...
}

 

pero es una mala práctica de programación.

Link to comment
Share on other sites

Gracias a los dos, ahora si que me ha quedado claro pero el código que ha puesto m3ntol aun es demasiado complicado para mi. El return 0, para sintetizar, sirve para que el programador sabe que parte de código está corriendo e identificar donde está.

 

Por otra parte, ahora estoy aprendiendo C++, luego tengo pensado Java, después Objective C, Cocoa y los frameworks y luego programación para el iPhone. Si alguien discrepa que me lo diga y que debo aprender primero.

 

Segundo, quería saber si hay algun programa para mac como Microsoft Visual Basic para tastear C++ en mac.

 

Muy agradecido :rolleyes:

Edited by albertdt6
Link to comment
Share on other sites

Si tu meta es programar para iPhone, en esa lista que has puesto sobra el Java. Luego hay más cuestiones, ¿vas a ir en plan autodidacta o tienes algún profesor o similar que te ayude? si es el primer caso vas a necesitar constancia y paciencia. Si es el segundo caso no vayas en plan secuencial, aborda todo directamente. Haz un programita simple para iPhone, ignora las partes complejas pero aprende las cosas básicas, retoca el programa aprende para que vale cada cosa, pero vas a necesitar alguien que te guíe y te centre en lo importante... es que un programita para iPhone tiene mil pijadas que son siempre copy/paste pero que amargan la vida al que empieza.

Link to comment
Share on other sites

Si tu meta es programar para iPhone, en esa lista que has puesto sobra el Java. Luego hay más cuestiones, ¿vas a ir en plan autodidacta o tienes algún profesor o similar que te ayude? si es el primer caso vas a necesitar constancia y paciencia. Si es el segundo caso no vayas en plan secuencial, aborda todo directamente. Haz un programita simple para iPhone, ignora las partes complejas pero aprende las cosas básicas, retoca el programa aprende para que vale cada cosa, pero vas a necesitar alguien que te guíe y te centre en lo importante... es que un programita para iPhone tiene mil pijadas que son siempre copy/paste pero que amargan la vida al que empieza.

 

No tengo ayuda pero ya he tocado alguna cosa y la verdad es que cuando se equivoca y encuentra la solución en foros es cuando se aprende.

 

Como he dicho antes, ¿hay algun programa para mac para tocatear C++?

Link to comment
Share on other sites

Hombre... XCode te da las posibilidades de C++...

 

Si quieres algo como VisualBasic (que usa Basic, no C++. Imagino que te referirás a Visual C++) en Mac tienes RealBasic, de pago, y puede que algo del proyecto Mono (implementación de .Net para Mac).

Link to comment
Share on other sites

Como bien te dicen el xCode es el más completo de todos y además gratuito. Ir en plan autodidacta es duro, requiere de paciencia y constancia, pero te aseguro que cada logro que consigues se te queda grabado a fuego y no se te olvida en la vida. Es el modelo 'lento pero seguro', si te surgen dudas tienes google que es una maravilla (cuando yo empecé no había internet y todo era bastante más oscuro) y siempre puedes preguntar en los foros.

 

Lo que no puedes pretender es empezar solo y querer hacer un 'arco de iglesia', hazte con un buen libro (o varios) y machaca los ejemplos, si quieres programar para iPhone no lo dejes para el final, aunque te suene a chino intenta copiar algún ejemplo a la vez que aprendes C++ y objetive C, a mi me gusta el libro 'Beginning iPhone Development (ed: Apress, de Dave Mark y Jeff LaMarche) al principio todo te resultará ininteligible pero en unos meses ya harás cosillas.

 

Es curioso como funciona el proceso de aprendizaje, al principio cada cosa que aprendes es como un hilo soltado al viento, nada firme. Poco a poco se va tejiendo la telaraña y cuando te quieres dar cuenta unos conocimientos se van apoyando en otros y entonces es cuando se avanza rápido.

Link to comment
Share on other sites

Como he dicho antes, ¿hay algun programa para mac para tocatear C++?

 

Aparte del Xcode, también tienes QT, que tiene un par de ventajas: está más orientado a C++ (todas las librerías que utiliza están en este lenguaje, al contrario que Xcode, que las tiene en Objective C) y es multiplataforma (puedes programar para Mac, Win y Linux con el mismo -prácticamente- código). También es gratis.

La desventaja es que no te sirve para el Iphone, y que no está tan optimizado para el Mac como el Xcode.

 

De todas formas, si quieres empezar programar con un lenguaje más sencillo que te permita también aprender las nociones básicas de la programación orientada a objetos, pero que te permite empezar a crear programas con interfaz (o sea, ventanas, botones...) de forma mucho más rapida, te recomiendo que eches un vistazo al RealBasic.

Link to comment
Share on other sites

Por lo que comentas seguiría los comentarios de los Macus sobre aprender de 0 (variables y sus tipos, matrices, condicionales, bucles, ámbito de variables, funciones. Para lo último dejaría los punteros y el acceso avanzado a la memoria.)

De nada vale correo si no sabes las cuestiones básicas de toda programación. O sea, lo primero es pillarte un manual básico de programación, p. ej de C.

 

A veces nos confundimos entre C y C++:

- Para empezar desde la base por la programación estructurada que todos deberíamos tener de base, empezaría por el lenguaje C.

- Para profundizar lo que desees y de camino aprender el mundo de la programación orientada a objetos tienes C++.

 

 

Ls funciones que comentas cout y cin son específicas de C++, en mi opinión aprendería las funciones básicas de C para aceptar datos por teclado y mostrar datos en pantalla, así como el resto de funciones de C de todas la vida para programar (por ejemplo el potente printf).

Estos 2 lenguajes (aunque se hable de ellos como uno solo), te darán una muy buena base para programar.

Edited by Bowman
Link to comment
Share on other sites

Visual Basic es un lenguaje con el que puedes hacer muchísimas cosas. Pero aprender en serio te aconsejo C, incluso con sus defectos y dificultad.

 

De XCode no te sabría decir nada, nunca lo he usado.

Edited by Bowman
Link to comment
Share on other sites

Buena puntualización diferenciar C de C++, además que Cocoa y OjetiveC se apoyan en C y no en C++.

 

PD: Respecto a xCode sí que puedes programar en C++. Cuando seleccionas proyecto nuevo (para MacOS) puedes seleccionar C++, mira:

cpp.gif

Edited by m3ntol
Link to comment
Share on other sites

He estado tasteando el xCode con C++ y la verdad que funciona muy bien. Pero he tenido dos problemas:

 

1º ¿Como hago que lo que hago en Xcode se puede visualizar en Windows?, porque solo puedo abrirlo con el terminal de mac.

2º ¿Como hago que poniendo un nombre me de verdad el condicional. Por ejemplo:

 

#include 

int main (int argc, char * const argv[]) {
int nombre;
std::cout << "Pone cualquier nombre:";
std::cin >> nombre;
if (nombre == [i][b]cualquier[/b][/i]) {
	std::cout << "\nBingo!";
}
else {
	std::cout << "Vuelvalo a intentar";
}

   return 0;
}

 

Como veis quiero que si pone "cualquier" de por sentado que es correcto y que me salga Bingo pero el compilador me da error. Como lo tengo que hacer?

Edited by albertdt6
Link to comment
Share on other sites

He estado tasteando el xCode con C++ y la verdad que funciona muy bien. Pero he tenido dos problemas:

 

1º ¿Como hago que lo que hago en Xcode se puede visualizar en Windows?, porque solo puedo abrirlo con el terminal de mac.

2º ¿Como hago que poniendo un nombre me de verdad el condicional. Por ejemplo:

 

#include 

int main (int argc, char * const argv[]) {
int nombre;
std::cout << "Pone cualquier nombre:";
std::cin >> nombre;
if (nombre == [i][b]cualquier[/b][/i]) {
	std::cout << "\nBingo!";
}
else {
	std::cout << "Vuelvalo a intentar";
}

   return 0;
}

 

Como veis quiero que si pone "cualquier" de por sentado que es correcto y que me salga Bingo pero el compilador me da error. Como lo tengo que hacer?

 

 

1º. Compilándolo con un compilador C++ en Windows, me temo. XCode crea un binario para ejecutar en Mac OS X.

 

La segunda, pues he mirado un poco pero ni idea...

Link to comment
Share on other sites

Se me ha ocurrido algo, tras ver que claro, cualquier no estaba declarado. He creado una variable tipo char y he cambiado el "int" de nombre por "char" ya que a fin de cuentas recibe caracteres y no números. A la nueva variable le he dado el valor "cualquier" y entonces sí que se puede confirmar (o no) lo que pides en el if:

 

 

#include <iostream>

int main (int argc, char * const argv[]) {
char nombre;
char cualquier;
cualquier == cualquier;
std::cout << "Pone cualquier nombre:";
std::cin >> nombre;
if (nombre == cualquier) {
	std::cout << "\nBingo!";
}
else {
	std::cout << "Vuelvalo a intentar";
}

return 0;
}

 

Así cuando le pongo "cualquier", me sale Bingo!, y si no, no. Creo que es lo que buscabas. :)

 

Cachis, ya me ha hecho mirar lo de C++. A este paso mando el Visual Basic a tomar viento...

Link to comment
Share on other sites

Para empezar has declarado nombre como entero y quieres almacenar en él una cadena por lo que estás forzando a un casting a entero (lo que en C sería un atoi). Usando la librería std de C++ podrías declarar una cadena string y almacenar en ella el valor y luego compararlo. Para ello el objeto string proporciona el método compare que retorna 0 en caso de ser iguales.

#include <iostream>
#include <string>

int main() {
std::string nombre;
std::cin >> nombre;
if(!nombre.compare("cualquier")) {
std::cout << "\nBingo!";
}
else {
std::cout << "Vuelvalo a intentar";
}
return 0;
}

 

 

De todos modos, a mi paticularmente, la std de C++ me toca mucho las narices resulta un engorro y no me apaño. Eso mismo en C sería:

#include <stdio.h>
#include <string.h>

int main () {
char readBuf[100];
fgets(readBuf, 99, stdin);
//el fgets te almacena también el \n ojo con eso

if(!strncmp(readBuf,"cualquier",9))
printf("Bingo\n"); 
else
printf("Vuelve a intentarlo\n");
return 0;
}

 

No he probado ninguno de los dos códigos así que es probable que den algún fallo de compilación.

 

PD: Mr Bean, ojo con esos char, no puedes almacenar en ellos una cadena. No creo que compile y so lo hace va a meter un petardazo interesante, char solo aloja espacio para un byte, debes declarar un string. Además haces una cosa muy rara cualquier == cualquier; usas un operador de comparación == cuando creo que lo que queréis hacer es una asignación, además no has entrecomillado el segundo "cualquier". Una cadena se copia con = si la has declarado como string o con strcpy si es un array de char. Además la comparación de strings se hace con compare. Ojo con esas ayudas que lo lías más aún.

 

PD2: Que daño ha hecho el Visual Basic a la informática :mrgreen: :mrgreen: :mrgreen: irreparable

Edited by m3ntol
Link to comment
Share on other sites

Para empezar has declarado nombre como entero y quieres almacenar en él una cadena por lo que estás forzando a un casting a entero (lo que en C sería un atoi). Usando la librería std de C++ podrías declarar una cadena string y almacenar en ella el valor y luego compararlo. Para ello el objeto string proporciona el método compare que retorna 0 en caso de ser iguales.

#include <iostream>
#include <string>

int main() {
std::string nombre;
std::cin >> nombre;
if(!nombre.compare("cualquier")) {
std::cout << "\nBingo!";
}
else {
std::cout << "Vuelvalo a intentar";
}
return 0;
}

 

 

De todos modos, a mi paticularmente, la std de C++ me toca mucho las narices resulta un engorro y no me apaño. Eso mismo en C sería:

#include <stdio.h>
#include <string.h>

int main () {
char readBuf[100];
fgets(readBuf, 99, stdin);
//el fgets te almacena también el \n ojo con eso

if(!strncmp(readBuf,"cualquier",9))
printf("Bingo\n"); 
else
printf("Vuelve a intentarlo\n");
return 0;
}

 

No he probado ninguno de los dos códigos así que es probable que den algún fallo de compilación.

 

PD: Mr Bean, ojo con esos char, no puedes almacenar en ellos una cadena. No creo que compile y so lo hace va a meter un petardazo interesante, char solo aloja espacio para un byte, debes declarar un string. Además haces una cosa muy rara cualquier == cualquier; usas un operador de comparación == cuando creo que lo que queréis hacer es una asignación, además no has entrecomillado el segundo "cualquier". Una cadena se copia con = si la has declarado como string o con strcpy si es un array de char. Además la comparación de strings se hace con compare. Ojo con esas ayudas que lo lías más aún.

 

PD2: Que daño ha hecho el Visual Basic a la informática :mrgreen: :mrgreen: :mrgreen: irreparable

 

 

La cosa es: con un tochaco de programación aquí al lado, miro el apartado de C/C++ para ver cómo se declara una cadena y no lo veo. En Visual Basic (:lol:) ya sé que puedo hacerlo "As String" y listo. Así que como soy más chulo que nadie, he usado char y funciona perfectamente :lol: (al menos ayer por la noche, ya lo acabé borrando porque antes de llegar a esa conclusión, me tiré un rato dándole vueltas).

 

Aunque eso sí, muchas gracias. Ahora he visto que usando ese include<string> se pueden meter cadenas y lo del compare y todo eso... Interesante...

 

Ya sé que tengo que meterme de una vez con C++... pero es que da una vagancia...

Edited by Mr. Bean
Link to comment
Share on other sites

Gracias a los dos pero todavía el código que ha puesto m3ntol no lo entiendo demasiado y no me salía esta parte de código porque aún no ha salido el "char" en el tutorial pero ya me hago una idea con vuestros ejemplos. Gracias por vuestra paciencia.

 

Y ya que estamos, ¿sabeis alguna página donde me puede bajar aplicaciones o juegos (mejor juegos) para abrirlos con el Xcode y poder ver como estan hechos?

Edited by albertdt6
Link to comment
Share on other sites

http://developer.apple.com/iphone

el registro es gratuito, no solo tienes cientos de ejemplos sino también tutoriales e incluso vídeos. Eso sí, en el idioma de Shekespeare :) Ojo que están pensados para programadores que ya llevan lo suyo en esto.

 

Mi consejo es que no te metas aun con ese código, no vas a entender nada de nada y es muy posible que te desanimes. Píllate un libro (como el que te he recomendado) que van pasito a pasito y entenderás mejor todo. Ya que tanto te interesa, en el libro hay ejemplos de juegos.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.