回 帖 发 新 帖 刷新版面

主题:求助 大家好,高手请指点一下

大家好,
我想用C语言编一两个程序,
请大家指点一下
最好可以把原代码和一些说明都写给我
一个是”万年历程序设计“
要求:1输入一年的日历
         2输出连续多年的日历
另外一个是“前后台音乐程序设计”
要求:在屏幕上以字符或图片显示乐曲名称的信息同时播放完整的乐曲
         可考虑以某些按键进行暂停或继续播放控制。

请各们高手们指点,万分感谢!!

回复列表 (共11个回复)

11 楼

[em12]
我这有一个简单的
不过没有阴历希望编程爱好者能和我交个朋友,这上面有我的QQ
//万年历程序。通过输入年份,显示该年的所有月份日期,用类来实现。最后修改日期:2004/6/13
/**/
#include <iostream.h>
#include <iomanip.h>
class Data
{
private:
    int year;
    
  //  int monthdays[N];
public:
    void getyear();             //提示用户输入想要查询的年份
    int ioleapyear();             //判断该年是不是闰年
    int  weekday();                //判断该年的元旦是星期几
//    void setweek();
    int monthday(int i);             //该年每个月的天数
    void disp();                   //显示结果。
};
char* weekd[7]={"MON","TUE","WEN","THU","FRI","STA","SUN"};  //记录星期一到星期天
void Data::getyear()
{
    cout<<"请输入你想要查询的年份:";
    cin>>year;
}
int Data::ioleapyear()
{
    if(year%4==0&&year%100!=0||year%400==0)
        return 1;
    else
        return 0;
}
int  Data::weekday()
{
    int n=year-1900;       //已知1900年的元旦刚好是星期一
    
//        if(year%400==0)
//            n=n+(n-1)/4+2;
//            else

      n=n+(n-1)/4+1;         // 判断,以每年52个整星期计算year年比1900年多出来的天数
    n=n%7;
    if(n==0)
        return 7;         //返回输入的年份的元旦是星期几
    else
        return n;
}
int Data::monthday(int i)
{
        if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
        return    31;
        else if (i==2)
            if(ioleapyear())
            return    29;
            else return 28;
        else
            return    30;
}
void Data::disp()
{
    int i;
    int n=weekday();
    
    for(i=1;i<=12;i++)          //总共的月份 12
    {   int lemp=1;
        cout<<endl<<setw(5)<<i<<"月份"<<endl;    
        cout<<"-------------------------------------------"<<endl;
        for(int j=0;j<7;j++)
        cout<<setw(5)<<weekd[j];
        cout<<endl<<"-------------------------------------------"<<endl;
          
               for(int k=1;k<n;k++,lemp++)      //输入每月第一天的起始位置,用空格补充
            cout<<setw(5)<<"   ";
            
        for(int d=1;d<=monthday(i);d++,lemp++)
        {
            cout<<setw(5)<<d;
            if(lemp==7)          //控制一行输出到星期天,如果到星期天则重新计数
            {
                cout<<endl;
                lemp=0;        
            }
        }
            n=lemp%7;       //当输出完一个月后,记录这个月的最后一天在哪,寻找下个月的
            if(n==0)        //第一天的起始位置
                n=7;
                
    
        cout<<endl<<"-------------------------------------------"<<endl<<endl<<endl;
              
    }
}
void main()
{
    Data a;
    cout<<setw(45)<<"万年历查询"<<endl;
    cout<<"-------------------------------------------------------------------------------"
        <<endl;
    a.getyear();
    a.disp();
    
}
希望有高手给我点意见
怎么把阴历也弄上谢谢!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册