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)
| | |-+  Nuevo en C++ copilando los primeros proyectos y dudas.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Nuevo en C++ copilando los primeros proyectos y dudas.  (Leído 2,806 veces)
Hakim

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Nuevo en C++ copilando los primeros proyectos y dudas.
« en: 7 Agosto 2017, 07:52 am »

Saludos este es mi primer post, me registre porque hay una buena fuente de información y me gustaría colaborar de la misma manera. Estoy estudiando en linea y hay algunos códigos que no veo que hagan diferencia a la hora de verlos en Deb.

por ejemplo:

Código
  1. #include "stdafx.h"    
  2. #include <iostream>  
  3. using namespace std ;      
  4.  
  5. int main ( )        
  6. {                      
  7.  
  8. cout << "C++ fue creado en los '80 " ;
  9. cout << " y fue derivado del lenguaje C " << endl;
  10. cout << "Ambos lenguajes usan funciones. " << endl << endl;
  11. cout << "Tambien usan librerias y header files. \n\n " ;
  12. system ("pause") ;
  13. return 0;
  14. }
  15.  

Los términos que tengo un poco de dudas (n\n) la cual no veo diferencia en la consola, igual porque razón en Internet se critica mucho que se use "system("pause") y getchar() es la mas recomendable.

Gracias de ante mano, perdón por todas las preguntas simultaneas.




· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 7 Agosto 2017, 08:03 am por Hakim » En línea

ianmorar03

Desconectado Desconectado

Mensajes: 43



Ver Perfil
Re: Nuevo en C++ copilando los primeros proyectos y dudas.
« Respuesta #1 en: 7 Agosto 2017, 08:06 am »

El endl siempre funciona si quieres añadir al final de un ciclo for y saltar lineas de codigo simultaneas, el "\n" solo funciona dentro de la cadena de texto que quieras mostrar por pantalla. Te dejo un ejemplo
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.    for(int i=0; i<4;i++){
  6.        cout<<endl;
  7.        for(int j=0;j<4;j++){
  8.            cout<<"*";
  9.        }
  10.    }
  11. }
  12.  


El system("PAUSE"); a mi me soluciono la vida cuando empece a programar en Visual Studio, siempre se salia cuando empezaba el programa, y no me dejaba hacer nada, si lo ponia me servia.  ;D
getchar(); te puede funcionar para cuando estas trabajando con archivos fuera del programa, ejemplo: un .txt externo con libreria <fstream>



« Última modificación: 7 Agosto 2017, 08:13 am por ianmorar03 » En línea

Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.
Hakim

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Nuevo en C++ copilando los primeros proyectos y dudas.
« Respuesta #2 en: 7 Agosto 2017, 08:15 am »

El endl siempre funciona si quieres añadir al final de un ciclo for y saltar lineas de codigo simultaneas, el "\n" solo funciona dentro de la cadena de texto que quieras mostrar por pantalla. Te dejo un ejemplo
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5.    for(int i=0; i<4;i++){
  6.        cout<<endl;
  7.        for(int j=0;j<4;j++){
  8.            cout<<"*";
  9.        }
  10.    }
  11. }
  12.  


El system("PAUSE"); a mi me soluciono la vida cuando empece a programar en Visual Studio, siempre se salia cuando empezaba el programa, y no me dejaba hacer nada, si lo ponia me servia.  ;D
getchar(); te puede funcionar para cuando estas trabajando con archivos fuera del programa, ejemplo: un .txt externo con libreria <fstream>



Muchas gracias, me aclaro mas dudas de lo que pensaba.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Nuevo en C++ copilando los primeros proyectos y dudas.
« Respuesta #3 en: 7 Agosto 2017, 12:47 pm »

Una aclaración importante sobre endl:

En estos streams de salida, cuando escribes, no se envía instantaneamente (a la consola, en este caso). Se almacena en un buffer. Cuando el buffer se llena, o se da otra condición, el buffer se envía y se muestra en la consola lo que habíamos escrito. Esto generalmente ocurre en cuanto el programa tiene tiempo, se detiene, o cuando lo forzamos a hacerlo.

Existe otra función, que es flush:
Código
  1. cout << flush;

Esto fuerza al buffer a vaciarse. No es muy común verla, pero es importante.
endl hace 2 cosas: primero, escribe un '\n', luego, hace un flush.
endl sería similar a:
Código
  1. cout << '\n' << flush;
Lo que interesa es ver que no es igual a un salto de línea sin más: además, hace el flush.
En los programas que hagas, no deberías preocuparte: usar endl suele ser la mejor alternativa. Sin embargo, tenlo en cuenta en el futuro.
En línea

Hakim

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Nuevo en C++ copilando los primeros proyectos y dudas.
« Respuesta #4 en: 8 Agosto 2017, 10:16 am »

Una aclaración importante sobre endl:

En estos streams de salida, cuando escribes, no se envía instantaneamente (a la consola, en este caso). Se almacena en un buffer. Cuando el buffer se llena, o se da otra condición, el buffer se envía y se muestra en la consola lo que habíamos escrito. Esto generalmente ocurre en cuanto el programa tiene tiempo, se detiene, o cuando lo forzamos a hacerlo.

Existe otra función, que es flush:
Código
  1. cout << flush;

Esto fuerza al buffer a vaciarse. No es muy común verla, pero es importante.
endl hace 2 cosas: primero, escribe un '\n', luego, hace un flush.
endl sería similar a:
Código
  1. cout << '\n' << flush;
Lo que interesa es ver que no es igual a un salto de línea sin más: además, hace el flush.
En los programas que hagas, no deberías preocuparte: usar endl suele ser la mejor alternativa. Sin embargo, tenlo en cuenta en el futuro.

Gracias, son notas importantes muy agradecido.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dudas, primeros pasos, me aconsejan?
Hacking
jackaroe 7 4,874 Último mensaje 5 Julio 2010, 00:42 am
por Søra
error copilando WinPcap
Programación C/C++
rembolso 1 2,896 Último mensaje 9 Febrero 2011, 18:37 pm
por Garfield07
Estos son los primeros 8 minutos del nuevo “Doom”
Noticias
wolfbcn 1 1,676 Último mensaje 16 Junio 2015, 13:07 pm
por WHK
Se presentan los primeros proyectos de Ley para prohibir los servicios VPN
Noticias
wolfbcn 2 1,750 Último mensaje 10 Junio 2017, 19:43 pm
por Orubatosu
¿Qué traerán de nuevo los primeros móviles con conexión 5G?
Noticias
wolfbcn 0 2,405 Último mensaje 8 Abril 2018, 21:58 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines