搜索
查看: 1763|回复: 5
打印 上一主题 下一主题

求大神进

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-6 20:11:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{   
    printf("\n\n\n\n\n\n\n\n\n\n\n\n                              欢迎你的使用");
    system("color 1d");
    Sleep(1000);
    system("color 1e");
    Sleep(1000);
    system("color 1b");
    Sleep(1000);
int g;            
while(g!=1)
{
  system("cls");
  system("color 1a");
  char a[50][100]={"################################################",
                       "#以下软件版权归我所有                      #",
                       "#如有侵权男的罚款1毛25                         #",
                       "#女的请自觉给我个kiss                          #",
                       "#请按1进入加减乘除模式                         #",
                       "#请按2判断质数合数                             #",
                       "#请按3计算从你出生到现在一共多少天             #",                       
                       "#更多功能敬请期待                              #",  
                       "################################################",};
        int aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,aaa,bbb,zz,ccc,ddd;               
  int b;
  for(b=0;b<=8;b++)
  puts(a[b]);
  int c,h,i,j;
        j=0;
  float d,e,f;
  c=getch();
  while(g!=1)
  {
   if(c!='1' && c!='2' && c!='3')
   {
   printf("请输入正确的选项");
   Sleep(1000);
   break;
   }
  
   if(c=='1')
   {
    system("cls");
    printf("                  恭喜你进入了加减乘除模式\n");
    printf("请输入第一个数然后按回车键\n");
    scanf("%f",&d);
    printf("请输入第二个数然后按回车键\n");
    scanf("%f",&e);
    f=d+e;
    printf("它们的和是%f\n",f);
    f=d-e;
    printf("它们的差是%f\n",f);
    f=d*e;
    printf("它们的积是%f\n",f);
    f=d/e;
    printf("它们的商是%f\n",f);
    printf("已计算完毕\n");
    printf("请按1退出程序\n请按2重新计算\n请按3返回上一层\n");
    while(g!=1 && g!=3)
    {
     g=getch();
     if(g!='1' && g!='2' && g!='3')
     {
      printf("请输入正确选项");
      Sleep(1000);
      break;
     }
     if(g=='1')
     {
      system("cls");
      printf("\n\n\n\n\n\n\n\n\n\n\n\n                              欢迎你再次使用");
      system("color 1d");
      Sleep(1000);
      system("color 1e");
      Sleep(1000);
      system("color 1b");
      Sleep(1000);
      g=1;
      break;
     }
     if(g=='2')
     {
      break;
     }
     if(g=='3')
     {
      break;
     }
               
              }
              if(g=='3')
              break;
            }
   if(c=='2')
   {
   system("cls");
   printf("恭喜你进入判断质数合数模式\n");
            printf("请输入要判断的数然后按回车键\n");
   scanf("%d",&h);
   for(b=2;b<=h-1;b++)
   {
    if(h%b==0)
                {
    j=1;
                }
   }
   if(j==1)
            {
    printf("这个数是合数\n");
    printf("它的因数有1,%d,",h);
    for(b=2;b<=h-1;b++)
    {      
     if(h%b==0)
     {
      j=1;
                        printf("%d,\n",b);
     }
                }  
            }
   else
   printf("这个数是质数\n");
   printf("已判断完毕\n");
   printf("请按1退出程序\n请按2重新判断\n请按3返回上一层\n");
   g=getch();
   if(g=='1')
   {
    system("cls");
    printf("\n\n\n\n\n\n\n\n\n\n\n\n                              欢迎你再次使用");
    system("color 1d");
    Sleep(1000);
    system("color 1e");
    Sleep(1000);     
                system("color 1b");
    Sleep(1000);
    g=1;
    break;
            
               }
   if(g=='2')
   {
    continue;
   }
   if(g=='3')
   {
    break;
   }
        }   
   if(c=='3')
   {
   system("cls");
   printf("                  恭喜你进入了计算从你出生到现在一共多少天模式\n");
   printf("请输入你出生的年份然后按回车键");
   scanf("%d",&aa);
   printf("请输入你出生的月份然后按回车键");
   scanf("%d",&bb);
   printf("请输入你出生的号数然后按回车键");
   scanf("%d",&cc);
   printf("请输入现在的年份然后按回车键");
   scanf("%d",&dd);         
   printf("请输入现在的月份然后按回车键");
   scanf("%d",&ee);
   printf("请输入现在的号数然后按回车键");
   scanf("%d",&ff);
   gg=0;
   hh=aa;
   for(ii=1;ii<=hh;ii++)
   {
    if(ii%100==0)
    {
     if(ii%400==0)
     aa=366;
     else
     aa=365;
    }
    else
    {
     if(ii%4==0)
     aa=366;
     else
     aa=365;
    }
    gg=gg+aa;
   }
   jj=0;
   zz=dd;
   for(ii=1;ii<=zz;ii++)
   {
    if(ii%100==0)
    {
     if(ii%400==0)
     dd=366;
     else
     dd=365;
    }
    else
    {
     if(ii%4==0)
     dd=366;
     else
     dd=365;
    }
    jj=jj+dd;
   }
   if(hh%100==0)
  {
   if(hh%400==0)
            {
    if(bb==1)bb=31;if(bb==2)bb=60;if(bb==3)bb=91;if(bb==4)bb=121;if(bb==5)bb=152;if(bb==6)bb=182;
                if(bb==7)bb=213;if(bb==8)bb=244;if(bb==9)bb=274;if(bb==10)bb=305;if(bb==11)bb=335;if(bb==12)bb=366;
            }
            else
            {
    if(bb==1)bb=31;if(bb==2)bb=59;if(bb==3)bb=90;if(bb==4)bb=120;if(bb==5)bb=151;if(bb==6)bb=181;
                if(bb==7)bb=212;if(bb==8)bb=243;if(bb==9)bb=273;if(b==10)bb=304;if(bb==11)bb=334;if(bb==12)bb=365;
            }
        }
        else
        {
   if(hh%4==0)
            {
    if(bb==1)bb=31;if(bb==2)bb=60;if(bb==3)bb=91;if(bb==4)bb=121;if(bb==5)bb=152;if(bb==6)bb=182;
                if(bb==7)bb=213;if(bb==8)bb=244;if(bb==9)bb=274;if(bb==10)bb=305;if(bb==11)bb=335;if(bb==12)bb=366;
            }
            else
            {
    if(bb==1)bb=31;if(bb==2)bb=59;if(bb==3)bb=90;if(bb==4)bb=120;if(bb==5)bb=151;if(bb==6)bb=181;
                if(bb==7)bb=212;if(bb==8)bb=243;if(bb==9)bb=273;if(b==10)bb=304;if(bb==11)bb=334;if(bb==12)bb=365;
            }
        }
        if(zz%100==0)
  {
   if(zz%400==0)
            {
    if(ee==1)ee=31;if(ee==2)ee=60;if(ee==3)ee=91;if(ee==4)ee=121;if(ee==5)ee=152;if(ee==6)ee=182;
                if(ee==7)ee=213;if(ee==8)ee=244;if(ee==9)ee=274;if(ee==10)ee=305;if(ee==11)ee=335;if(ee==12)ee=366;
            }
            else
            {
    if(ee==1)ee=31;if(ee==2)ee=59;if(ee==3)ee=90;if(ee==4)ee=120;if(ee==5)ee=151;if(ee==6)ee=181;
                if(ee==7)ee=212;if(ee==8)ee=243;if(ee==9)ee=273;if(ee==10)ee=304;if(ee==11)ee=334;if(ee==12)ee=365;
            }
        }
        else
        {
   if(zz%4==0)
            {
    if(ee==1)ee=31;if(ee==2)ee=60;if(ee==3)ee=91;if(ee==4)ee=121;if(ee==5)ee=152;if(ee==6)ee=182;
                if(ee==7)ee=213;if(ee==8)ee=244;if(ee==9)ee=274;if(ee==10)ee=305;if(ee==11)ee=335;if(ee==12)ee=366;
            }
            else
            {
    if(ee==1)ee=31;if(ee==2)ee=59;if(ee==3)ee=90;if(ee==4)ee=120;if(ee==5)ee=151;if(ee==6)ee=181;
                if(ee==7)ee=212;if(ee==8)ee=243;if(ee==9)ee=273;if(ee==10)ee=304;if(ee==11)ee=334;if(ee==12)ee=365;
            }
   kk=gg+bb+cc;
   aaa=jj+ee+ff;
   bbb=aaa-kk;
   printf("一共是%d天",bbb);
       printf("已计算完毕\n");
    printf("请按1退出程序\n请按2重新计算\n请按3返回上一层\n");
    while(g!=1 && g!=3)
    {
     g=getch();
     if(g!='1' && g!='2' && g!='3')
     {
      printf("请输入正确选项");
      Sleep(1000);
      break;
     }
     if(g=='1')
     {
      system("cls");
      printf("\n\n\n\n\n\n\n\n\n\n\n\n                              欢迎你再次使用");
      system("color 1d");
      Sleep(1000);
      system("color 1e");
      Sleep(1000);
      system("color 1b");
      Sleep(1000);
      g=1;
      break;
     }
     if(g=='2')
     {
      break;
     }
     if(g=='3')
     {
      break;
     }
               
              }
              if(g=='3')
              break;
            }
        }   
}
}
}
我做了这个程序它的前两个功能都正常,可是最后一个功能,就是计算从出生到现在一共多少天哪里,出了一个很奇怪的毛病,输入出生的月份,是任何一个月份都正确,唯独输入的十月时得到的结果总是错误的,我有在网上用过一些计算从出生到现在一共多少天的软件测试过的

沙发
 楼主| 发表于 2013-11-6 20:17:58 | 只看该作者
等等,补充一下,有时候我输入十月份计算对了,但大部分情况下,输入的月份是十月份都错,有事甚至结果直接被跳过,请大神帮我看看
板凳
发表于 2013-11-6 22:04:24 | 只看该作者
像这种300行的代码,自己先分离Debug后再说吧
地板
发表于 2013-11-7 09:16:11 | 只看该作者
我计算过了;十月有时居然是负数。。。。。。自己先找找吧,也许你能发现
5#
发表于 2013-11-7 09:16:20 | 只看该作者
我计算过了;十月有时居然是负数。。。。。。自己先找找吧,也许你能发现
6#
发表于 2013-11-9 19:09:58 | 只看该作者
哇,好晕
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表