elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con C++, Ejercicio Simple [Soy Novato]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con C++, Ejercicio Simple [Soy Novato]  (Leído 4,836 veces)
xmbeat92

Desconectado Desconectado

Mensajes: 40



Ver Perfil
Ayuda con C++, Ejercicio Simple [Soy Novato]
« en: 30 Septiembre 2010, 08:22 am »

Buen dia/noche foreros, pues la verdad yo he programado en vb y pues siempre me ha interesado c++, y finalmente hoy he decido empezar, me descargue el codebloks, devc++ y un tuto, y todo bien conforme a la lectura, pero un ejercicio propuesto q tenia el libro lo pegue en el dev y no quiso correr, me arrojaba unos warnings y no se q mas (no estoy familiarizado), este es el code:
Código
  1. #include <iostream.h>; // librería para uso de cout
  2. int main() // función principal
  3. {
  4. int i = 1; // variable para bucles
  5. bool sumar = true; // Siguiente operación es sumar o restar
  6. bool terminado = false; // Se ha alcanzado la condición de fin
  7. do { // Hacer
  8. cout << i; // muestra el valor en pantalla
  9. terminado = (i == 23); // Actualiza condición de fin
  10. if(terminado) cout << "."; else cout << ", "; // Puntuación,
  11. separadores
  12. if(sumar) i += 4; else i -= 2; // Calcula siguiente elemento
  13. sumar = !sumar; // Cambia la siguiente operación
  14. } while(!terminado); // ... mientras no se termine
  15. cout << endl; // Cambio de línea


pero buscando en otros codes q vi externos vi q usaban <iostream> sin h
y que hacian uso del namespace, asi que tratando de hacer mi primer code hice esto:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int i, num, j, r;
  8.    cout<<"Ingrese el numero de filas:" << endl;
  9.    cin >>num;
  10.    for (i=0;i++<num;)
  11.    {
  12.        for (j=0; j++<i*2;)
  13.        {
  14.            if (j>i)
  15.            {
  16.               r=i-(j-i);
  17.               if (r>0) cout<< r;  
  18.            }
  19.            else cout<<j;
  20.        }
  21.        cout<<endl;
  22.    }
  23.    system("PAUSE");
  24.    return 0;
  25. }
  26.  
  27.  
  28.  
que  vendria siendo el triangulo de pascal
pero lo q me frusta es que pase mucho tiempo tratando de averiguar por q no corria el programa sin el uso de namespace ademas de las cabeceras q no tenian h,
se que esto es una novatada para todos pero necesito su orientacion!!, otra cosa q quiero senalar es que poniendo ese code q hice en codeblocks no funciona,  es mas ni compila ni nada, cosa q no me agrada porq me gusta mas su entorno
q me recomiendan otro tuto de c++ por q el q tengo no quiere jalar algunas cosas. Gracias!!
Agradeceria cualquier explicacion y de como arreglar el codeblocks.
Mil disculpas por esta novatada!!


En línea

El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Ayuda con C++, Ejercicio Simple [Soy Novato]
« Respuesta #1 en: 30 Septiembre 2010, 10:45 am »

Con tu segundo código, compila si le quitas el system("pause"). En C funcionaría, pero en C++ me parece que no puedes hacer llamadas al sistema de esta forma (alguien que concrete esto, por favor). Por otro lado, si usas codeblocks no necesitas un pause, ya que cuando compilas y ejectuas dentro del propio IDE él mismo para el programa después que este finalice.

Turbo C, dev c++ y alguno más están obsoletos, como Littlehorse (y otros) han dicho ya en muchas ocasiones, es mejor utilizar Codeblocks o Visual C++

[...]

En lo personal, te recomendaría que instales otro entorno de trabajo:




Por otro lado, a diferencia de C, las librerías suelen incluirse sin el .h, como ya has visto.

Sobre el namespace, te recomendaría que leyeses sobre espacio de nombres. Como pequeño resumen se podría decir que el espacio de nombres es el apellido de las variables, algo que diferencia variables de un mismo nombre. Según tengo entendido no es algo que se emplee demasiado a menos que trabajes en proyectos grandes / con diferentes personas que es cuando se pueden dar casos de variables homónimas.

EDIT: Codeblocks no te avisaba del error? ¿qué compilador dentro de codeblocks estás usando? Mira también de activar en las opciones del compilador (settings -> compiler and debugger) lo siguiente: -Wall, -pedantic.


« Última modificación: 30 Septiembre 2010, 10:54 am por Akai » En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Ayuda con C++, Ejercicio Simple [Soy Novato]
« Respuesta #2 en: 30 Septiembre 2010, 10:59 am »

Lo de iostream.h, en C++ es una declaración de archivos de cabecera obsoleta. En otros hilos lo he explicado a fondo pero creo que lo ideal seria que leas este link ya que abarca el tema en forma mas detallada.

Lo de las llamadas al sistema, si, como poder hacerlas podes, por supuesto es poco recomendable. Tampoco es que sea terrible hacerlo en un ejercicio de universidad pero en definitiva las malas costumbres se quitan de a poco así que lo ideal seria no utilizarlas. Mas allá de eso, system se encuentra en el archivo de cabecera cstdlib (stdlib.h en C) el cual no esta declarado en el código.

En cuanto al namespace, si, es tal como has dicho, generalmente se utiliza para evitar colisiones en los nombres lo cual por supuesto es mas factible en proyectos grandes y/o grupos de trabajo.

Es bastante temprano, así que si me olvide de responder algo me avisan.

Saludos!
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
xmbeat92

Desconectado Desconectado

Mensajes: 40



Ver Perfil
Re: Ayuda con C++, Ejercicio Simple [Soy Novato]
« Respuesta #3 en: 1 Octubre 2010, 07:47 am »

entonces el tuto q se supone es de c++ debo dejarlo y conseguirme otro mas moderno, y a lo de codeblocks me aparece esto
"C++ - Debug" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done.
En línea

El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Algun editor de videos simple (Novato)
Multimedia
Dacan 4 4,661 Último mensaje 14 Marzo 2011, 22:52 pm
por Dacan
[Ayuda] Ejercicio simple
Programación C/C++
Cracky7 6 2,573 Último mensaje 16 Febrero 2012, 01:17 am
por rir3760
Un ayuda con un ejercicio muy simple de python pero que no...
Programación General
AlexKurban 1 1,735 Último mensaje 7 Noviembre 2013, 18:33 pm
por AlexKurban
Ayuda con ejercicio novato
Programación C/C++
ascuasflame 3 2,037 Último mensaje 3 Febrero 2018, 15:52 pm
por dijsktra
Ayuda para novato en python (no es un ejercicio)
Scripting
YuanO 0 1,736 Último mensaje 2 Junio 2022, 07:39 am
por YuanO
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines