Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - amchacon

#771
Código (cpp) [Seleccionar]
#include<iostream>
#include<string>

using  namespace std;

int main ()
{
string uno;
string dos;
        signed int tamano;
        cout<<"ingrese uno "<<endl;
getline(cin, uno);
        for (int i = 0; i <=uno.size(); i++)
{
dos[i]='+';
}

       return 0;
}


Te has equivocado en una cosa. En lugar de "dos" tendría que ser uno:

Código (cpp) [Seleccionar]
#include<iostream>
#include<string>

using  namespace std;

int main ()
{
string uno;
string dos;
        signed int tamano;
        cout<<"ingrese uno "<<endl;
getline(cin, uno);
        for (int i = 0; i <=uno.size(); i++)
{
uno[i]='+';
}

       return 0;
}


Si lo que querías era otro string con +

Código (cpp) [Seleccionar]
#include<iostream>
#include<string>

using  namespace std;

int main ()
{
string uno;
string dos;
        signed int tamano;
        cout<<"ingrese uno "<<endl;
getline(cin, uno);
        for (int i = 0; i <=uno.size(); i++)
{
dos[i]='+';
}

       return 0;
}


Te has equivocado en una cosa. En lugar de "dos" tendría que ser uno:

Código (cpp) [Seleccionar]
#include<iostream>
#include<string>

using  namespace std;

int main ()
{
string uno;
string dos;
        signed int tamano;
        cout<<"ingrese uno "<<endl;
getline(cin, uno);
        for (int i = 0; i <=uno.size(); i++)
{
dos += '+';
}

       return 0;
}
#772
Cita de: cpu2 en 17 Junio 2013, 08:47 AMPodrías utilizar los parametros argv, te ahorras ese fgets y esa aberración llamada scanf.
Perdiendo facilidad y sencillez...

Personalmente, si eres un poco peresozo y no quieres usar teclado. Simplemente pones esto al ejecutar el programa

programa < fichero.txt

Y en fichero pones todos los parámetros del teclado.

Cita de: cpu2 en 17 Junio 2013, 08:47 AMwhile (getchar()!='\n');

Venga hombre.
Es un método tan válido como cualquier otro para "limpiar" el buffer del teclado.

Cita de: cpu2 en 17 Junio 2013, 08:47 AMP.D: Yo dejo el tema, desde mi punto de vista un desplazamiento de bits o un xor, es mucho mejor que el de César, yo no daría más importancia a esto de verdad.
Bueno es curiosidad educativa  :silbar:
#773
Cita de: SrCooper en 16 Junio 2013, 23:02 PM
Sí tambien hay un archivo de implementacion de extension .cpp
¿Dónde tiene que estar ese archivo?
Compilalos (por separado) y copialos a la carpeta lib
#774
;-) ;-)

Deberías ampliar el programa para una lisa de palabras ^^

Por cierto una implementación en C++:

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

const char Palabras_Malsonantes = 4;

int main()
{
   string Nombre = "Casa de p***a";
   int indice;

   const char Palabras[30][20] = {
                               {"p***a"},
                               {"cab**n"},
                               {"idiota"},
                               {"lameculos"}
                             };

   for (int i = 0; i < Palabras_Malsonantes;i++)
   {
       if ((indice = Nombre.find(Palabras[i])) != -1)
           cout<<"Se encontro una palabra malsonante en la posicion "<<indice<<endl;
   }

   return 0;
}

#775
Cita de: ccjrocks en 16 Junio 2013, 00:52 AMLo que aún no entiendo es por qué necesito cerrar el ifstream, osea, hago escritura en binario, una vez acabe de escribir el fichero se supone que no tiene ninguna cabecera de cierre ni nada por el estilo no? Es decir, al haber escrito todos los caracteres del fichero, aunque no cierre el stream, debería ser el mismo fichero. ¿Sabéis por que es? Porque el problema era ese, pensaba que aunque no cerrara el stream el fichero se había escrito ya completamente
La cabecera de cierre se pone cuando cierras el archivo.

Sería una perdida de rendimiento poner una cabecera nueva cada vez que escribas.
#776


Deberías estar trabajando en la teoría de cuerdas y no programando. Eso es cosa de ingenieros  ;-)

Cuando tu escribes <>, el compilador busca en la carpeta "include". Está dentro de la carpeta del compilador.

También puedes decirle al compilador que añada a su base de datos un determinado directorio.. En Codeblocks puedes configurarlo para que lo haga en todos los proyectos (o te haces una plantilla específica). Seguramente (casi 100%) emacs también lo permita (es algo bastante básico).
#777
Muyy interesante  :o

Es todo lo que necesitaba gracias  ;-)
#778
Programación C/C++ / Re: keylogger
15 Junio 2013, 16:23 PM
Viendo si se ha pulsado bloq mayus antes  :rolleyes:
#779
Código (cpp) [Seleccionar]
while(readfile.good())

Esto no es correcto, para leer hasta final de archivo:

Código (cpp) [Seleccionar]
while(!readfile.eof())

Y aunque hagas una manipulación, no tienes que leer char a char. Puedes leer una línea (readfile.getline), modificarla y después escribirla.
#780
Programación C/C++ / Re: If o Switch?
15 Junio 2013, 15:56 PM
Cita de: OmarHack en 15 Junio 2013, 15:16 PM
fue el primer vídeo que vi, el del uso de find en map. Pero estoy buscando añadir funcionalidades a mi programa, y haciendo el código de esa manera aprendo bastante, pero no me sirve para añadir funcionalidades.
Justo, es lo que más me interesa ahora mismo!
Pues eso es lo que estás buscando! Un map en toda regla.

Te pongo un ejemplo sencillo:

Código (cpp) [Seleccionar]
#include <iostream>
#include <map>

using namespace std;

typedef void (*Puntero_A_Funcion)(void);

void Copiar();
void Escribir();
void Cortar();

int main()
{
   void (*Funcion)(void); // Puntero a funcion sin argumentos
   string Mensaje;
   map<string,Puntero_A_Funcion> Comandos;

   Comandos["write"] = Escribir;
   Comandos["copy"] = Copiar;
   Comandos["cut"] = Cortar;

   cout<<"Introduzca comando: ";
   cin>>Mensaje;

   Funcion = Comandos[Mensaje]; // Obtengo el puntero a la funcion correspondiente

   if (Funcion) // Si existe la funcion
       Funcion(); // llamar a la funcion
   else
       cout<<"Error, no existe el comando introducido";
   
   return 0;
}

void Escribir()
{
   cout<<"Has escrito write";
}

void Cortar()
{
   cout<<"Has escrito cortar";
}

void Copiar()
{
   cout<<"Has escrito copiar";
}


En tú código deberías definir las funciones en un archivo aparte para no liarte  ;)

¡Saludos!