Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   С++ календарь (http://forum.oszone.net/showthread.php?t=274699)

guliya 25-12-2013 19:24 2278480

С++ календарь
 
Здравствуйте! делаю на С++ программу-календарь. Не могу разобраться как сделать последовательность чисел в определенные дни недели.Допустим хочу сделать месяц Январь и числа дней начинаются с четверга.

Код:

#include <iostream>
#include <stdlib.h>
#include <allegro.h>
#define MAXX 800
#define MAXY 600

using namespace std;
BITMAP *bmp, *pic;
enum oper {Mond, Tuesd, Wensd, Thusd, Frid, Satud, Sund};
char *MasText[]={"Mond", "Tuesd", "Wensd", "Thusd", "Frid","Satud", "Sund"};
enum oper1 {a1, a2, a3, a4, a5, a6 ,a7 , a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31};
char *Chislo[]={"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"};
char str[50];

void draw_but(int,int,char*);
void draw_but1(int,int,int);

int main(int argc, char *argv[])
{allegro_init();
install_mouse();
install_keyboard();
bmp=create_bitmap(MAXX,MAXY);
set_gfx_mode(GFX_SAFE,MAXX,MAXY,0,0);
show_mouse(bmp);

rectfill(bmp, 20, 20, 170, 50,80);
rectfill(bmp, 505, 471, 560, 517,80);
rectfill(bmp, 575, 471, 630, 517,80);

//==============================
int x;
int y=110;
 text_mode(-1);
for (int j=0; j<7; j++){
 draw_but (x,y,MasText[j]);
 y=y+60;
}
text_mode(0);
//===============================

//int a=3;
for (int i=0; i<5; i++){
 for (int j=0; j<7; j++){
 rectfill(bmp,150+60*i,110+60*j,195+60*i,155+60*j,90);
  for (int t=0; t<31; t++){
 textout(bmp,font,Chislo[t],172+58*i,132+60*j,400);
 t=t+1;
}     
}i
}


do{
    sprintf(str,"%5d,%5d",mouse_x,mouse_y);
    textout(bmp,font,str,85,550,100);
 
    blit(bmp,screen,0,0,0,0,MAXX,MAXY);
}
while(!key[KEY_ESC]);

allegro_exit();
         
  return 0;
}END_OF_MAIN();


void draw_but(int x,int y,char*text)
{   
  rectfill(bmp,45,y,90,y+45,80);
  textout(bmp,font,text,48,y+22,400);
  };


torauma 26-12-2013 08:37 2278701

Алгоритм вычисления дня недели.

guliya 27-12-2013 00:40 2279144

torauma, Спасибки=_)


Время: 10:33.

Время: 10:33.
© OSzone.net 2001-