Dev - C++ - AYUDA PROGRAMACION

 
Vista:

AYUDA PROGRAMACION

Publicado por silvia alvarez (1 intervención) el 04/04/2019 19:52:03
Dimensionar una matriz de 50 filas por 3 columnas
1.) Paso:
Leer si quiere digitar o más fechas (debe ir contando el numero de fechas digitadas)
Leer el día, el mes y el año
Teniendo en cuenta los meses de 30, 31 días y el mes de febrero que tiene 28 dias y cuando el año es bisiesto tiene 29 días
Para el año:
1) Se digitan fechas de nacimiento de niños menores de 12 años
2) Se digitan fechas de facturas donde el año sólo corresponde del 2017 a hoy.
2.) Paso
Imprimir las fechas ordenadas por mes
Nota; en el nombre del algoritmo escriba FECHA NACIMIENTO O FECHA FACTURA según el caso


En un vector almacenar
Uno, dos, ….nueve, cero en las posiciones 1,2,3,.---10.
Debe leer un numero si el numero es 0 debe mostrar cero que está en la posición 10 del vector, si el numero es menor de 10 debe mostrar el numero en letras según por ej vec[num], si num es 4 mostrará vec[4] = cuatro.
Y se queda leyendo hasta que el numero digitado sea mayor que 9
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA PROGRAMACION

Publicado por Alfil (1444 intervenciones) el 05/04/2019 11:19:10
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <cstdlib>
#include <cctype>
 
using namespace std;
 
const int fil = 50;
const int col = 3;
 
 
int diasDelMes( const int v[fil][col], int pos )
{
    switch ( v[pos][1] ) {
        case 1 :
        case 3 :
        case 5 :
        case 7 :
        case 8 :
        case 10 :
        case 12 :
 
            return 31;
            break;
 
        case 2 :
            if ( v[pos][2] % 4 == 0 &&
                 v[pos][2] % 100 != 0 ||
                 v[pos][2] % 400 == 0 ) {
 
                return 29;
            }   else {
                return 28;
            }
            break;
 
        default :
            return 30;
    }
}
 
void ordenarPorMes( int v[fil][col], int pos )
{
    int valor[col];
    int j;
 
    for( int i = 0; i < pos; i++ ) {
        valor[0] = v[i][0];
        valor[1] = v[i][1];
        valor[2] = v[i][2];
        j = i;
        while( j > 0 && valor[1] < v[j-1][1] ) {
            v[j][0] = v[j-1][0];
            v[j][1] = v[j-1][1];
            v[j][2] = v[j-1][2];
            j--;
        }
        v[j][0] = valor[0];
        v[j][1] = valor[1];
        v[j][2] = valor[2];
    }
}
 
void imprimir( const int v[fil][col], int pos )
{
    cout << "\nFechas de facturacion:\n";
 
    for( int i = 0; i < pos; i++ ) {
        if( v[i][2] >= 2017 )
            cout << v[i][0] << "/" << v[i][1] << "/" << v[i][2] << "\n";
    }
 
    cout << "\nFechas de Nacimiento:\n";
 
    for( int i = 0; i < pos; i++ ) {
        if( v[i][2] < 2017 )
            cout << v[i][0] << "/" << v[i][1] << "/" << v[i][2] << "\n";
    }
}
 
int main()
{
    int v[fil][col];
    int pos = 0;
    char opcion;
 
    do{
        cout << "\nFecha:\n";
        cout << "Dia: "; cin >> v[pos][0];
        cout << "Mes: "; cin >> v[pos][1];
        cout << "Anno: "; cin >> v[pos][2];
 
        if( v[pos][2] < 100 )
            v[pos][2] += 2000;
 
        if( v[pos][1] < 1 || v[pos][1] >  12 )
            cout << "\nFecha no valida\n";
 
        else if( v[pos][0] < 1 || v[pos][0] > diasDelMes( v, pos ) )
            cout << "\nFecha no valida\n";
        else {
            pos++;
        }
 
        cout << "\nOtra fecha (S/n): "; cin >> opcion;
        opcion = toupper( opcion );
 
    } while( opcion == 'S' );
 
    ordenarPorMes( v, pos );
    imprimir( v, pos );
 
    return 0;
}
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 Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA PROGRAMACION

Publicado por Alfil (1444 intervenciones) el 05/04/2019 12:25:23
2)

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
#include <iostream>
 
using namespace std;
 
char *nombres[] {
    "?",
    "Uno",
    "Dos",
    "Tres",
    "Cuatro",
    "Cinco",
    "Seis",
    "Siete",
    "Ocho",
    "Nueve"
};
 
int main()
{
    int v[11];
    int numero;
 
    cout << "\nIntroduce un nummero entre 0 y 9: ";
    cin >> numero;
    numero > 9 || numero < 0 ? 0 : numero;
 
    if( numero == 0 ) {
        v[10] = 0;
        cout << "\nv[10] = " << v[10] << endl;
    }
    else {
        v[numero] = numero;
        for(int i = numero; i < 10; i++ ){
            cout << "\nv[" << i << "] = " << nombres[i];
        }
        cout << endl;
    }
 
    return 0;
}
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