no estás enviando nada bajo la variable "contenido"... ¿no será que te está creando el archivo pero lo deja vacío?
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úCita de: ivancea96 en 22 Julio 2014, 10:44 AM
Dado que el método imprime es privado, creo que sería más conveniente hacer una función en vez de una clase, ya que la clase se quedará en memoria sin hacer nada.
while(pal<c){
cin.getline(p[pal], 12);
strlwr(p[pal]); // pasa pal a minusculas para luego comparar con 'mar'
pal++; // <<<<<<-------- AQUI!!!!!
if(strcmp(menor,p[pal])>0){
strcpy(menor,p[pal]);
}
}
enum pos
{
Ninguna,
Horizontal,
Vertical
};
struct coord
{
int x;
int y;
};
struct barco
{
int longitud;
struct coord coordenadas;
enum posicion pos;
int estado;
};
struct barco NuevoBarco( int longitud )
{
struct barco to_return;
to_return->longitud = longitud;
to_return->coordenadas.x = -1; // Para indicar que no esta posicionado
to_return->coordenadas.y = -1; // Para indicar que no esta posicionado
to_return->pos = Ninguna;
to_return->estado = longitud;
return to_return;
}
int BarcoTocado( struct barco* barco, struct coord coordDisparo )
{
if ( barco->pos == Horizontal )
{
struct coord coordBarco = barco->coord;
int i = barco->longitud;
while ( i > 0 )
{
if (coordBarco == coordDisparo )
return 1;
coordBarco.x++;
i--;
}
}
else
{
// ...
}
return 0;
}
Cita de: avesudra en 21 Julio 2014, 16:09 PM
... por tanto digamos que el true en C es el número 1 y el false el 0.
int main( )
{
if ( 0 )
printf( "Este mensaje no sale nunca\n" );
if ( 5 )
printf( "Este, en cambio, sale siempre\n" );
if ( -4 )
printf( "Este otro tambien sale siempre\n" );
}
class DataManager
{
public:
DataManager( ) = default;
DataManager( const DataManager& ) = delete;
~DataManager( ) = default;
void Run( )
{
int temp_number = 0;
while ( true )
{
char c = getch( );
_withData = true;
if ( c != '\n' && c != '\r' )
{
std::cout << c;
temp_number *= 10;
temp_number += c - '0';
}
else
{
std::cout << std::endl;
_number = temp_number;
break;
}
}
}
bool WithData( ) const
{ return _withData; }
int Number( ) const
{ return _number; }
const DataManager& operator=( const DataManager& ) = delete;
private:
bool _withData = false;
int _number = 0;
};
class Timer
{
public:
using milliseconds = std::chrono::milliseconds;
Timer( )
{
Reset( );
}
Timer( const Timer& ) = delete;
~Timer( ) = default;
void Reset( )
{
_start = std::chrono::high_resolution_clock::now( );
}
milliseconds Elapsed( ) const
{
return std::chrono::duration_cast< milliseconds >( std::chrono::high_resolution_clock::now( ) - _start );
}
const Timer& operator=( const Timer& ) = delete;
private:
std::chrono::high_resolution_clock::time_point _start;
};
int main( )
{
std::cout << "Introduce un numero." << std::endl;
std::cout << "Tienes 5 segundos para empezar" << std::endl;
DataManager manager;
std::thread thread{ [](DataManager* mgr){ mgr->Run( ); }, &manager };
Timer timer;
while ( timer.Elapsed( ) < std::chrono::seconds{ 5 } )
{
if ( manager.WithData( ) )
break;
}
if ( !manager.WithData( ) )
thread.detach( );
else
thread.join( );
if ( manager.WithData( ) )
std::cout << "Has introducido el numero: " << manager.Number( ) << std::endl;
else
std::cout << "No has introducido ningun numero." << std::endl;
}