Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Calendario de meses, ayuda

menxo

Bovino maduro
Desde
26 Ene 2009
Mensajes
122
Que onda Ba-kunos, bueno desde hace dos semanas el Pro de programacion de mi prepa me encargo un programa que nos diga los dias del mes que nosotros le indiquemos.

El programa debe contener FOR y ARRAYS. Tengo la mitad del programa, pero estoy estancado completamente en la parte de imprimir los dias en la pantalla. Ahora, el programa te pidde que mes quieres, y luego en que dia empieza el mes. Para esto necesito controlar el array hasta el numero de dias que tiene el mes (EN ESTE PUNTO ME ATORE) y otra cosa que necesito es que empiece la numeracion desde el dia que empieza el mes. Por ejemplo si le digo que el mes empieza en MIERCOLES, la numeracion debera empezar desde el miercoles y solamente recorrer la numeracion (TAMBIEN AQUI ESTOY ATORADO)

A continuacion, mi programa. No es gran cosa, pues soy de preparatoria, me gusta programar, sin embargo no soy un AMANTE de esto. Pero lo disfruto. Maldicion se me olvido comentar, el programa esta hecho en C++ en el Dev C++. Unicamente estoy utilizando la libreria iostream. Pero si es necesario usar mas, solo diganmelo.

#include<iostream>

using namespace std;

int main()
{
int i, n, opc, dia, p;
int dias=0;
int m=0;
int x[7][5];

cout<<"Los meses son: "<<endl;
cout<<"___________________"<<endl;
cout<<"| 1.- Enero |"<<endl;
cout<<"| 2.- Febrero |"<<endl;
cout<<"| 3.- Marzo |"<<endl;
cout<<"| 4.- Abril |"<<endl;
cout<<"| 5.- Mayo |"<<endl;
cout<<"| 6.- Junio |"<<endl;
cout<<"| 7.- Julio |"<<endl;
cout<<"| 8.- Agosto |"<<endl;
cout<<"| 9.- Setpiembre |"<<endl;
cout<<"| 10.- Octubre |"<<endl;
cout<<"| 11.- Noviembre |"<<endl;
cout<<"| 12.- Diciembre |"<<endl;
cout<<"___________________"<<endl;
cout<<endl<<"Que mes desea? ";
cin>>opc;

//Enero 31 Julio 31
//Febrero 28 Agosto31
//Marzo 31 Septiembre 30
//Abril 30 Octubre 31
//Mayo 31 Noviembre 30
//Junio 30 Diciembre 31


cout<<"=================="<<endl;
cout<<"| 1.- Domingo |"<<endl;
cout<<"| 2.- Lunes |"<<endl;
cout<<"| 3.- Martes |"<<endl;
cout<<"| 4.- Miercoles |"<<endl;
cout<<"| 5.- Jueves |"<<endl;
cout<<"| 6.- Viernes |"<<endl;
cout<<"| 7.- Sabado |"<<endl;
cout<<"=================="<<endl;
cout<<endl<<"En que dia empieza el mes?"<<endl;
cin>>dia;

cout<<endl<<endl;

if(opc==1||opc==3||opc==5||opc==7||opc==8||opc==10||opc==12)//empiezan controladores de limite de dias
{
p=31;
}

else if(opc==2)
{
p=28;
}

else if(opc==4||opc==6||opc==9||opc==11)
{
p=30;
}//terminan ciclos de if

for(i=0; i<=4; i++)//controlador para arreglo en y
{
for(m=dia; m<=6; m++)//arreglo en x
{
//do{
for(dias=1; dias==p; dias++)
{
x[m]=dias;
}
//} while (dias==p);
}
}

cout<<" ============================="<<endl;
cout<<" | D | L | M | M | J | V | S | \n | ";

for(i=0; i<=4; i++)//controlador para arreglo en y
{
for(m=dia; m<=7; m++)//arreglo en x
{
//do{
x[m]=dia;
cout<<dia<<" | ";
//} while();
}

cout<<endl;
}

cout<<endl<<" =============================="<<endl;

cout<<endl<<dias;

system ("pause");
return 0;
}

Ojo, no quiero que me hagan el programa, me gustaria que me dieran una solucion. Cualquier critica (CONSTRUCTIVA) sera bienvenida. Gracias de antemano compañeros. Otra cosa, no conosco mucho acerca de c++, tampoco se usar muy bien las funciones. Unicamente arrays bidimencionales. Pero la verdad, entiendo muy bien si me lo explican. Gracias de antemano compañeros
 
esta mas omenos tu programacion, trate de hacerle algunos cambios y bueno creo que hace lo que quieres, solo tienes que trabajar al final donde se muestra el calendario para que sea mas estetico, saludos


#include <stdio.h>
#include <iostream.h>
#include <windows.h>

int main(){
int x=0;
int y=0;
int mes=0;
int dia=0;
int contador=0;

char* meses[12]={"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};//este array contiene el nombre de los meses.
int dias_del_mes[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char* dias[7]={"Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"};

for(x=0;x<12;x++){//con este ciclo recorre el aray e imprime los meses disponibles
cout<<x+1;
cout<<".-";
puts(meses[x]);
}

puts("\nIngresa el mes que deseas?->");//puts es igual qe cout solo que te agrega un salto de renglon al final
cin>>mes;

for(x=0;x<7;x++){//con este ciclo recorre el aray e imprime los dias disponibles
cout<<x+1;
cout<<".-";
puts(dias[x]);
}

puts("Ingresa el dia en que comienza el mes?->");
cin>>dia;

//ya tenemos los datos y solo imprimimos los resultados.

system("cls");
puts(meses[mes-1]);
puts("D L M M J V S");

for(x=0;x<dia;x++){
cout<<" ";
}
for(y=dia;y<=7;y++){
contador++;
cout<<contador;
cout<<" ";
}
contador++;
puts(" ");
for(x=0;x<=4;x++){
for(y=0;y<7;y++){
if(contador<=dias_del_mes[mes+1]){
cout<<contador;
cout<<" ";
contador++;}
}

puts(" ");
}

getchar();
getchar();
return 0;
}


y listo, es facil no?
 
jaja see, esta peluches jaja. Ntc, muchas gracias la neta me sirvio mucho pero hasta apenas hoy tuve chanza de agradecer!
 
Volver
Arriba