| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 676 人关注过本帖
标题:高手,救我啊~!
只看楼主 加入收藏
zyxiaoyy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-2
收藏
 问题点数:0 回复次数:2 
高手,救我啊~!

我遇到一个大问题了。老师要我解决一个问题。可悲的是我一直没有练过,没有三板斧。
现在求救这里的高手帮忙,如果你们也不行的话,那我就死定了。

实验名称:万年历的查询及打印


【内容】:设计一个查询并打印万年历的程序。
【步骤】:
1. 画出程序流程图;
2. 编写程序;
3. 调试程序,对调试过程中出现的问题进行分析,找出错误的原因并予改正;
4. 写出通过调试并修改正确的原程序。
【要求】:
1. 程序运行后,首先在屏幕上显示主菜单:
1. 查询某年某月某日是星期几
2. 查询某年是否是闰年
3. 打印某年的全年日历
4. 退出

2. 在主菜单中输入1后,显示:
“请输入年月日(XXXX,XX,XX)”
      运行后输出:XXXX年XX月XX日是星期X,是否继续查询(Y/N)?
      如果输入Y,则重新显示 “请输入年月日(XXXX,XX,XX)”,否则回到主菜单。

3. 在主菜单中输入2后,显示:
“请输入要查哪一年?(XXXX)”
       运行后输出:XXXX年是(否)是闰年,是否继续查询(Y/N)?
      如果输入Y,则重新显示,“请输入要查哪一年?(XXXX)”,否则回到主菜单。

4. 在主菜单中输入3后,显示:
“请输入要打印的年份(XXXX)”
       运行后输出XXXX年的日历,格式为:
XXXX
X(月数)
0 1 2 3 4 5 6
S M T W T F S
x x x x x x x
x x x xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx
X(月数)
0 1 2 3 4 5 6
S M T W T F S
x x x x
x x x xx  xx xx xx
xx xx xx xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx xx xx
.
.
.
.
.
       运行完后显示:“是否继续打印(Y/N)?”
       如果输入Y,则重新显示,“请输入要打印的年份(XXXX)”,否则回到主菜单。
5. 在主菜单中输入4后,显示:“是否要真的退出(Y/N)?”
         如果输入Y,结束程序运行,否则重新显示主菜单。

搜索更多相关主题的帖子: 万年历 打印 
2005-12-02 18:08
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
收藏
得分:0 
这是可以打印万年历的程序,请参考这个程序编写你的程序。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <stdio.h>
void printmonth(int m); /*函数声明*/
void printhead(int m); /*函数声明*/
int daysofmonth(int m); /*函数声明*/
int isleap(int y); /*函数声明*/
int firstday(int y); /*函数声明*/
int year,weekday; /*外部变量定义*/
main()
{
int i;
printf("输入年份:");
scanf("%d",&year);
weekday=firstday(year); /*weekday为year年份元月一日的星期号*/
printf("\n\n");
printf(" %d年\n",year);/*17个空格*/
for (i=1;i<=12;i++)
{
printmonth(i);
printf("\n");
}
printf("\n\n");
}
void printmonth(int m)
{
int i,days;
printhead(m);
days=daysofmonth(m);
for (i=1;i<=days;i++)
{
printf("%5d",i);
weekday=(weekday+1)%7;
if (weekday==0) /*打印下一个之前是否换行*/
{
printf("\n "); /*3个空格*/
}
}
}
void printhead(int m)
{
int i;
printf("\n%d月 日 一 二 三 四 五 六\n",m);
printf(" "); /*3个空格*/
for (i=0;i<weekday;i++)
printf(" "); /*5个空格*/
}
int daysofmonth(int m) /*返回year年m月的天数*/
{
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:return 31;
case 4:
case 6:
case 9:
case 11:return 30;
case 2:if (isleap(year))
return 29;
else
return 28;
}
return 0;
}
int isleap(int y) /*判断y年是否为闰年*/
{
return ((y%4==0 && y%100!=0) || y%400==0);
}
int firstday(int y) /*从公元第1天为星期天算出y年第1天是星期几*/
{
long n=y*365;
int i;
for (i=1;i<y;i++) /*补上所有的闰年的天数*/
n+=isleap(i);
return n%7;
}

[此贴子已经被作者于2005-12-3 19:09:04编辑过]


我的未来不是梦!
2005-12-03 18:20
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
收藏
得分:0 
我做了一个。
Ra90jZ04.rar (39.22 KB)

[此贴子已经被作者于2005-12-4 23:17:32编辑过]



Yd5LZedH.rar (12.98 KB) 高手,救我啊~!



iljlqMdd.jpg (44.26 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

我的未来不是梦!
2005-12-04 14:59
快速回复:高手,救我啊~!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019319 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved