• Viernes 15 de Noviembre de 2024, 10:27

Mostrar Mensajes

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


Mensajes - wien996

Páginas: [1]
1
C/C++ / Re: Como pasar enteros a string
« en: Miércoles 10 de Noviembre de 2010, 10:52 »
he hecho esto pero el problema esq debo pasarle unos tests y no se cual es el problema:

void muestraFecha(const TFecha &f){
   int d,m,a;
   
   d = f.dia;
   m = f.mes;
   a = f.anyo;

   std::string dia,mes,anyo;
   std::stringstream ssdia,ssmes,ssanyo;


   ssdia << d;
   ssmes << m;
   ssanyo << a;

   dia = ssdia.str();
   mes = ssmes.str();
   anyo = ssanyo.str();

   std::cout << dia << "/" << mes << "/" << anyo << std::endl;
};




ESTOS SON LOS TETST:

TEST(ConstructorPorDefecto) {
   TFecha f;
   inicializaFecha(f);
   muestraFecha(f);
   CHECK_OUTPUT("1/1/1970");
}

TEST(InitYEscribe) {
   TFecha f;
   inicializaFecha(f, 12, 10, 1492);
   muestraFecha(f);
   CHECK_OUTPUT("12/10/1492");

   inicializaFecha(f, 21, 10, 1492);
   muestraFecha(f);
   CHECK_OUTPUT("21/10/1492");
}

}

2
C/C++ / Como pasar enteros a string
« en: Miércoles 10 de Noviembre de 2010, 08:52 »
Mi duda más concreta acerca es, como pasar tres enteros a un formato de string "1/1/1970", es decir

recibo 3 enteros dia = 1;
                         mes = 1;
                        anyo = 1970;

y quiero sacar por salida estandar esa fecha ==> "1/1/1970"

muchas gracias y un saludo!!!

3
C/C++ / Leer una fecha con getline() y cin.ignore()
« en: Miércoles 10 de Noviembre de 2010, 08:23 »
Buenos días a todos... estoy realizando una práctica en la que debo validar unos tests y realizar un código sobre como recoger una fecha con constructores, leerla y mostrarla:
Esto es el fichero.h

#ifndef _FECHA_H
#define _FECHA_H

#include <string>
#include <iostream>

struct TFecha {
   int dia;
   int mes;
   int anyo;
};

//Construye una fecha, colocandola el día 1 de Enero de 1970.
void inicializaFecha (TFecha &f);

//Construye una fecha, colocandola el día 1 de Enero de 1970.
void inicializaFecha (TFecha &f, int dia, int mes, int anyo);

//Escribe la fecha por la salida estandar. El formato es dia/mes/año.
void muestraFecha (const TFecha &f);

//Lee por la entrada estandar una fecha, y la devuelve.
TFecha    leerFecha();
   

#endif

[b]Este es el fichero .cpp de la fecha:[/b]

#include "Fecha.h"

void inicializaFecha (TFecha &f){
   f.dia = 1;
   f.mes = 1;
   f.anyo = 1970;
}

void inicializaFecha(TFecha &f, int dia, int mes, int anyo)
{
   f.dia = dia;
   f.mes = mes;
   f.anyo = anyo;
}

TFecha leerFecha(){
   int d, m, a;
   TFecha fec;
   std::cout << "Introduzca el día de la fecha: " << std::endl;
   std::cin >> d;
   std::cout << "Introduzca el mes de la fecha: " << std::endl;
   std::cin >> m;
   std::cout << "Introduzca el año de la fecha: " << std::endl;
   std::cin >> a;

   fec.dia = d;
   fec.mes = m;
   fec.anyo = a;

   return fec;
}

void muestraFecha(const TFecha &f){
   std::cout << f.dia << "/" << f.mes << "/" << f.anyo << std::endl;
};

y por último aquí estan los dichosos tests que no soy capaz de pasar:

TEST(ConstructorPorDefecto) {
   TFecha f;
   inicializaFecha(f);
   muestraFecha(f);
   CHECK_OUTPUT("1/1/1970");
}

TEST(InitYEscribe) {
   TFecha f;
   inicializaFecha(f, 12, 10, 1492);
   muestraFecha(f);
   CHECK_OUTPUT("12/10/1492");

   inicializaFecha(f, 21, 10, 1492);
   muestraFecha(f);
   CHECK_OUTPUT("21/10/1492");
}

LOS ERRORES QUE ME DAN AL COMPILAR LOS TESTS SON : error failure in ConstructorPordefecto: expected "1/1/1970" but was "1/1/1970"
                                                                                        error failure in InitYEscribe: expected "1/1/1970" but was "1/1/1970"
                                                                                         error failure in InitYEscribe: expected "21/10/1942" but was "21/10/1942"

si me pudiérais echar una mano...muchas gracias y un saludo!!!

Páginas: [1]