[ Foro de C ]
me podrían ayudar con este problema es que la verdad no lo entiendo:(
.- Elabora un programa que declare un vector con 7 casilleros, que pida 7 números menores a 13 y los guarde ahí. Después debe mostrar el contenido del vector pero mostrando el mes del año de acuerdo al número que se almacenó en el vector. Por ejemplo si un vector almacena: 3, 5, 7, 1, 2, 4, y 10. El programa debe mostrar en pantalla: marzo, mayo, julio, enero, febrero, abril y octubre.
/************************************************************
* Sugerencia a tarea de la página:
* https://www.aprendeaprogramar.com/mod/forum/discuss.php?d=5016
* (C) Javico - j4v1c0@gmail.com - 2020/06/05
************************************************************/
#include <iostream>
using namespace std;
main() {
int mes;
string meses[12] = {"Enero","Febrero","Marzo","Abril",
"Mayo","Junio","Julio","Agosto",
"Septiembre","Octubre","Noviembre","Diciembre"};
string ingresados[7];
cout << "Ingrese 7 numeros que representen meses (del 1 al 12)..." << endl;
for (int x=0; x<7; x++) {
cin >> mes;
while (mes<1 || mes>12) {
cout << "Error... el mes debe estar comprendido entre 1 y 12." << endl;
cin >> mes;
}
ingresados[x] = meses[--mes];
}
cout << "Se ha ingresados los siguientes meses:" << endl;
for (int y=0; y<7; y++) cout << ingresados[y] << endl;
}
hola javico
no se que es lo que no entiendes ya que el programa funciona correctamente
la unica pega que podria poner es que en el enunciado la solucion que pides pone los meses consecutivos, separados por comas y acabado en punto y tu visualizas uno por linea
por lo demas funciona bien
Perdón, malinterpreté el enunciado, habría que reemplazar la linea 26:
for (int y=0; y<7; y++) cout << ingresados[y] << endl;
por las dos siguientes:
for (int y=0; y<7; y++) cout << ingresados[y] << (( y == 6 ) ? "." : ", ");
cout << endl
Javico
j4v1c0@gmail.com
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)