编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
 23 123
发新话题
打印

自学的一个“成果”。

自学的一个“成果”。

自学了几十天了,总算弄出个对于我来说相对“大”点的东西来了。虽然它的“成果”是微乎其微的,但对于我来说,也是可以值得浮几白的了。

    呵呵,刚才弄个附件传了一下,后来自己在机器上一看,不成,因为DOS不支持中文。所以,就发个源码吧,请众位高手指教一二:
#include<stdio.h>
char hello[5][300]={{"*************************************************************\n"},
               {"您好,欢迎您来玩这个小游戏。您可以输入年、月、日或者年份、天数\n"
                "或者年份,系统为您判定它是一年中的第几天或者那年的几月几日或者\n"
                "判定它是闰年还是平年。请不要输入数字以外的字符,那样会造成不必\n"
                "要的麻烦。谢谢!\n"},
               {" 请输入年、月、日:\n"},
               {"请输入年份及天数:\n"},
               {"请输入年份:\n"} };
static int yue[2][13]={
                      {0,31,28,31,30,31,30,31,31,30,31,30,31},
                      { 0,31,29,31,30,31,30,31,31,30,31,30,31}} ;
int pr(int n)
{
        int c;
        c= n%4==0&&n%100!=0|| n%400==0;
        return c;
}
int panduan_1(int y,int r,int i)
{

        int j,n=0;
        for(j=0;j<y;j++)
            n+=yue[i][j];
        n+=r;
        return n;
}
void panduan_2(int n,int r,int i)
{
        int j=1,m=1;
        while(r>yue[i][j])
        {
                r-= yue[i][j];
                j++;
                m++;
         }
         printf("这是%d年,%d月,%d日\n",n,m,r);
}
void caidan()
{
        printf("%s\n\n",hello[0]);
        printf("请您作出选择:\n");
        printf("1.  输入年、月、日,求它是那年中的哪一天。\n"
               "2.  输入年份及天数,求它是那年中的哪月哪日。\n"
               "3.  输入年份,求它是平年或者是闰年。\n"
               "4.  退出。\n");
        printf("请输入选择:\n");
}
int main(void)
{
        int n,y,r,i,j;
        printf("%s%s\n",hello[0],hello[1]);
        do
        {
                caidan();
                scanf("\n%d",&j);
                puts(" ");
                while(j<1||j>4)
                {
                        printf("您输入的字符非法,请重新选择:\n");
                        caidan();
                        scanf("%d",&j);
                 }
        }
        while(j<0||j>5);
        while(j!=4)
        {
                switch(j)
                {
                        case 1:printf("请输入年、月、日,空格格开,enter结束输入:\n");
                                 scanf("\n %d %d %d",&n,&y,&r);
                                 puts(" ");
                                 i=pr(n);
                                 j=panduan_1(y,r,i);
                                 printf("它是%d年的第%d天\n",n,j);
                                 break;
                        case 2:printf("请输入年、天数,空格格开,enter结束输入:\n");
                                 scanf("%d %d",&n,&r);
                                 puts(" ");
                                 i=pr(n);
                                 panduan_2(n,r,i);
                                 break;
                        case 3:printf("请输入待测试的年份:\n");
                                 scanf("%d",&n);
                                 i=pr(n);
                                 if(i==0)
                                 {
                                     printf("它是平年。\n");
                                     break;
                                  }
                                 if(i==1)
                                 {
                                     printf("它是闰年。\n");
                                     break;
                                  }

                  }
                 caidan();
                 scanf("%d",&j);
         }
                 if(j==4)printf("谢谢您!再见!");



        getchar();











}

[ 本帖最后由 广陵绝唱 于 2008-3-1 23:47 编辑 ]
附件: 只有本站会员才能下载或查看附件,请您 登录注册
本帖最近评分记录

TOP

不错,还是用TC吧。换个编译器吧。
看国足,品三鹿, yeah~~~

TOP

继续努力

把代码该短些
—>〉Sun〈<—

TOP

不错,帮你顶一下.....继续加油

TOP

共同学习

我把你的代码放在VC++ 6.0上运行通过,程序非常严谨,非常好!

TOP

鼓励一下LZ.

TOP

谢谢大家的鼓励,偶会再接再励滴。

TOP

哇````不错哦````很少看到让看起来感觉舒服的代码```
大概看了一下```不错````至少我的感觉很好```
唯一的缺点是```没有注释````


LZ```继续加油啊!!!!!!
女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
http://yzfy.org

TOP

5#
你的VC6.0真的能通过吗?

反正在devc++不可能通过
  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。

TOP

LS``你的DEV-CPP多少版本的``
我的4.9.9.2``我编译通过了``
女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
http://yzfy.org

TOP

 23 123
发新话题