Dev - C++ - Ayuda a Convertir la Fecha en letras EN C++

 
Vista:
Imágen de perfil de diosarcano

Ayuda a Convertir la Fecha en letras EN C++

Publicado por diosarcano (4 intervenciones) el 17/01/2014 04:09:22
Enunciado
La Empresa XXX necesita entregar grandes cantidades de documentos digitales
administrativos a diario, dichos documentos contienen fechas y el
estándar indica que éstas deben ser escritas en letras, pero GDAyP
maneja estas fechas en números enteros. Por esta razón, se plantea
el siguiente proyecto con el fin de desarrollar un software que capture
la fecha y la transforme al formato en letras correspondiente.
Debido a la gran cantidad de información que maneja GDAyP, existe
la posibilidad de que algunas fechas tengan errores semánticos, por
ejemplo la cantidad de días asociados a ciertos meses (ejemplo de
fecha errada: 31/04/2005), o en el mes de febrero cuando el año no
es bisiesto (ejemplo de fecha errada: 29/02/2005), también pueden
existir casos en los que se haya confundido el mes con el año,
lógicamente el mes no puede pasar de 12 (ejemplo de fecha errada:
02/29/2005). Una regla para el programa que solicitó la empresa es
que las fechas oscilarán entre los años 1950-2020.
Este software se ha denominado “Programa Convertidor de Fechas”
(PCF) debido a la transformación de datos asociada, entre los valores
enteros de la fecha y su equivalente en letras. Cada número de
entrada D (día), M (mes) y A (año) tendrá su respectiva
transformación en letras y estas deberán unirse con la expresión
“de”, para que al leer la transformación ésta tenga sentido.
Detalles de entrada
Se ingresarán por entrada estándar, tres (3) números enteros. El
primer entero D, representa el día, el segundo M representa el mes y
el último A representa el año de la fecha.
Detalles de la salida
Se escribirá por salida estándar un mensaje que será el resultado de
transformar la fecha ingresada en letras o un mensaje de fecha
errada según sea el caso.

En fin lo que necesito es crear un codigo que me convierta los numeros que introduzca en letras mostrandolo como fecha . Ejemplo


Entrada:
15 12 2013
Salida:
Quince de Diciembre de Dos mil trece

He intentado hacer el codigo pero esta bien cabron . Las biblotecas que yo uso son Iostream y String porfavor ayuda que yo tambien aportare de mi conocimiento
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda a Convertir la Fecha en letras EN C++

Publicado por Naty (1 intervención) el 23/01/2014 12:13:01
Jajajaja, te cazé, ese es para el primer laboratorio de la UCV, y sí, está bien CABRÓN el código. Yo ya hago que me convierta el mes y el día. El problema es el año...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de diosarcano

Ayuda a Convertir la Fecha en letras EN C++

Publicado por diosarcano (4 intervenciones) el 23/01/2014 13:02:13
Bueno la verdad que esta jodidisimo ese ejercicio pero ya casi lo resuelvo en fin aqui son muy pocos los que responden y lo que menos me esperaba es que fuera alguien de la UCV jejejeje .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda a Convertir la Fecha en letras EN C++

Publicado por Rene gar (50 intervenciones) el 28/01/2014 04:19:33
bueno te dejo una version hecha a las carreras solo funciona del año 2000-2029 da los meses y dias de los meses que no pasen a 29 dias no esta terminado pero seguro te dara un idea no lo termine por tiempo pero espero te ayuda fiera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include<iostream>
using namespace std;
 
string dias(int dia){
 switch(dia){
   case 1:return"uno";break;
   case 2:return"dos";break;
   case 3:return"tres";break;
   case 4:return"cuatro";break;
   case 5:return"cinco";break;
   case 6:return"seis";break;
   case 7:return"siete";break;
   case 8:return"ocho";break;
   case 9:return"nueve";break;
   case 10:return"diez";break;
   case 11:return"once";break;
   case 12:return"doce";break;
   case 13:return"trece";break;
   case 14:return"catorce";break;
   case 15:return"quince";break;
   case 16:return"diesciseis";break;
   case 17:return"diescisiete";break;
   case 18:return"diescisiocho";break;
   case 19:return"diescinueve";break;}
}
string meses(int mes){
 switch(mes){
   case 1:return "de Enero";break;
   case 2:return"de Febrero";break;
   case 3:return"de Marzo";break;
   case 4:return"de Abril";break;
   case 5:return"de Mayo";break;
   case 6:return"de Junio";break;
   case 7:return"de Julio";break;
   case 8:return"de Agosto";break;
   case 9:return"de Septiembre";break;
   case 10:return"de Octubre";break;
   case 11:return"de Noviembre";break;
   case 12:return"de Diciembre";break;
  }
}
 
string decenas(int dec){
 switch (dec){
 
  case 20:return "veinte"; break;
  case 30:return "treinta"; break;
  case 40:return "cuarenta"; break;
  case 50:return "cincuenta"; break;
  case 60:return "sesenta"; break;
  case 70:return "setenta"; break;
  case 80:return "ochenta"; break;
  case 90:return "noventa"; break;}
  }
 
string centenas(int cent){
 switch(cent){
  case 100:return "cien"; break;
  case 200:return "doscientos"; break;
  case 300:return "trescientos"; break;
  case 400:return "cuatrocientos"; break;
  case 500:return "Quinientos"; break;
  case 600:return "seicientos"; break;
  case 700:return "setecientes"; break;
  case 800:return "ochocientos"; break;
  case 900:return "noviencientos"; break;}
}
 
int main(){
int dia,mes,ano,T;
string sfinal="";
cout<<"ingresa fecha: ";
cin>>dia;
cin>>mes;
cin>>ano;
 
if (dia<20 && (ano<20) && (mes<13)){
  sfinal=dias(dia)+" "+meses(mes)+" de dos mil "+dias(ano);
  }
  else if ((dia>19)&& (dia<30)){
 
    T=dia-20;
    if (T==0){
      sfinal=decenas(dia)+" "+meses(mes)+" de dos mil "+dias(ano);
     }
     else
     {sfinal="veinte y "+ dias(T)+" "+meses(mes)+" de dos mil "+dias(ano);}
 
   }
 
cout<<sfinal;
 
cin.get();
cin.get();
return 0;}

le metes fechas como 02 05 14
y devuelve dos de mayo de dos mil catorce
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar