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

#311
Para hacer videojuegos, deja Windows API y mirate SFML/Allegro. Son librerías especializadas en multimedia.
#312
De nada ^^

Puedes usarlo en cualquier fichero:
Código (cpp) [Seleccionar]
ifstream archivo("Leeme.txt");
string linea;

getline(archivo,linea);
cout<<linea;
#313
Si lo que quieres es leer la línea entera:
Código (cpp) [Seleccionar]
#include <iostream>
#include<conio.h>
using namespace std;

string LeerPalabra()
{
    string palabra;
    int ch;

    while ((ch = getch()) != 13 && ch != EOF)
    {
        cout<<(char)ch;
        palabra += ch;
    }
    return palabra;
}

int main ()
{
    string frase;
    cout << "Escriba algo ";

    frase = LeerPalabra();

    cout <<" bien y tu";

    cin.ignore();
    return 0;
}


Cita de: vangodp en 28 Enero 2014, 12:48 PM
Pues entonces lo arreglo algo :D
Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;

int main (){
  int TAM = 500;
  char frase[TAM];
  cout << "Escriba algo :)";
  cin.getline(frase, TAM, '\n'); //mientras no traspase 500 y no pulses enter lee toda la linea
  cout << frase << " bien y tu";


cin.ignore();
return 0;
}

2 anotaciones:

- No hace falta que indiques '\n', el argumento por defecto de getline es ese.
- Puedes seguir usando strings, no hace falta que te pasas a char:
Código (cpp) [Seleccionar]
getline(cin,frase);
#314
Lol, olvidate de esa aberración vangodp *_*.

C_str() es un puntero solo para LECTURA. Si intentas escribir en él la vas a liar parda, te puede funcionar de "chiripa" para 3-4 caracteres. Prueba a meterle 10-15 a ver que pasa.

En todo caso sería:
Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main ()
{
    string frase;
    cout << "Escriba algo :)";

    getline(cin,frase);

    cout << frase << " bien y tu";

    cin.ignore();
    return 0;
}


Y aún así tampoco es lo que pide el usuario. Para hacerlo tendrías que usar una librería externa (como ncurses o la de conio.h). Si usas la de conio te interesa la función getch()

Código (cpp) [Seleccionar]
#include <iostream>
#include<conio.h>
using namespace std;

string LeerPalabra()
{
    string palabra;
    int ch;

    while ((ch = getch()) != ' ' && ch != '\n' && ch != EOF)
    {
        cout<<(char)ch;
        palabra += ch;
    }
    cout<<(char)ch;
    return palabra;
}

int main ()
{
    string frase;
    cout << "Escriba algo :)";

    frase = LeerPalabra();

    cout <<" bien y tu";

    cin.ignore();
    return 0;
}


Eso si hará lo que quieres, leera hasta que encuentre un espacio y devolverá la palabra leída.

Puedes hacer incluso que no muestre lo que vas escribiendo (comentando los couts que he puesto en la función).
#315
Los cpp se pueden compilar independientemente, no formarán un programa puesto que no tienen main. Pero se compilan en binario sí.

Los HPP sirven de "interfaz" para usar los cpp compilados desde otras clases.
#316
Y no puedes usar el fprintf de toda la vida?
#317
No hay ningún problema con el tipo de retorno.

Ahora bien, si pones el #include antes del "using namespace std" pues entonces te saltará el error porque no estas en el espacio de nombres de la biblio estándar.

Una solución es:
Código (cpp) [Seleccionar]
std::string strMayus(std::string str){

std::string str2;
int i = 0;

while (i < str.length())  {

if (96 < str.at(i) < 123) // si el caracter es una letra minúscula

str2 = str.at(i)-32; // pasa el caracter a mayúscula

if (97 > str.at(i) || str.at(i) > 122) str2 = str.at(i); // si no es letra o letra minúscula, mantiene su valor

str.replace(i,1, str2); // reemplaza caracter
i++;
}
return str;

}
#318
El algoritmo es sencillo aunque se puede hacer más eficiente (hablo de la función Factor).

Aquí hay un hilo sobre los números primos, también te sirve para calcular divisores:
http://foro.elhacker.net/programacion_cc/codigo_para_calcular_los_numeros_primos-t405451.0.html
#319
Cita de: leosansan en 25 Enero 2014, 10:29 AM
Pues no, no es eso.

En realidad lo tiene puesto. Mira su código con etiquetas Code:


Código (cpp) [Seleccionar]

# include <stdio.h>
# include <conio.h>
# include <math.h>
#include <stdlib.h>


main()


{
      int num [4];
      int con= 4;
      int i;
      long sum= 0L;
      float prom= 0.0f;
     
      printf("\n\tComo 4 numeros:\n")  ;
          for (i=0; i< con; i++)
          {
            printf("%2d>",i+1);
            scanf("%d",&num[i]);  /*<==AQUI esta puesto el [i] */
              }
         getch();
           
     }


Es el problema de no usar las benditas etiquetas Code ya que al encontrarse con [ i], sin el espacio en blanco que he dejado aposta, interpreta el [ i] como la etiqueta de las letras en cursiva. Por eso a partir de ahí las letras del post salen en cursiva.

Por cierto, el código anterior lo he copiado del original del post dándole a citar y copiándolo de ahí.


¡¡¡¡ Saluditos! ..... !!!!



Vaya, que observador eres Leo ^^
#320
Yo apostaría por hilos.

Tienes que crearte 3 hilos principales que serán los dependientes (en una función "dependientes", y luego vas creando los hilos de clientes (función "clientes").

Para evitar accesos simultaneos tendrás que mirarte las "condiction variables".