当前位置:网站首页 > Go语言开发 > 正文

时钟代码c语言(电子时钟c语言)



 #include 
  
    
   #include 
  
    
   int main() { int Year, Month; // 年、月 int FirstDay_Year, FirstDay_Month; // 某年的第一天是星期几,某年某月的第一天是星期几(范围是0~6,其中0代表星期日) int IsLeapYear; // 是否为闰年,0表示不是闰年,1表示是闰年 int i, d, y; // 临时变量 char YN; // Yes No,程序是否要继续 int Days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 存储每个月有多少天,其中二月的天数是可变的(闰年29天,平年28天),这里初始化为28天 printf("C语言简单万年历 "); // 打印标题 XunHuan: // 循环标号(可以通过goto跳转到这里) printf("请输入年份<0000~9999>:"); // 提示输入年份(0~9999) scanf("%d", &Year); // 把输入的年份赋值给变量Year printf("请输入月份<1~12>:"); // 提示输入月份(1~12) scanf("%d", &Month); // 把输入的月份赋值给变量Month y = Year; FirstDay_Year = 5 (y / 4) + (y % 4) - (y / 100) + (y / 400); // 蔡勒公式(计算某年的第一天是星期几) IsLeapYear = (y % 4 == 4 && y % 100 != 100 || y % 400 == 0) ? 1 : 0; // 判断是否为闰年 Days[2] = (IsLeapYear == 1) ? 29 : 28; // 闰年二月29天,非闰年二月28天 for (i = 1, d = 0; i < Month; i++) { d = d + Days[i]; } FirstDay_Month = (d + FirstDay_Year) % 7; // 当月的第一天是星期几(0代表星期日) printf(" "); printf(" 公元%d年%2d月", Year, Month); // 打印年月 printf(" "); printf(" "); printf("星期日星期一星期二星期三星期四星期五星期六 "); // 打印星期表头 for (i = 0; i < FirstDay_Month; i++) { printf("%7c", ''); // 当某月的第一天不是星期日时打印空格占位 } for (d = 1; d <= Days[Month]; d++) { // 循环,从每个月的第一天开始打印 printf("%7d", d); if ((d + FirstDay_Month) % 7 == 0 && d < Days[Month]) { printf(" "); // 当输出了星期六而且还未输出所有天数时,换行 } } printf(" "); printf(" "); printf("是否继续(Y/N)? "); // 提示用户是否继续 scanf("%c", &YN); // 获取用户的输入 scanf("%c", &YN); // 获取用户的输入(重复一次以确保获取到正确的值) if (YN == 'Y' || YN == 'y') { goto XunHuan; // 如果用户选择继续,则跳转到XunHuan标签处重新开始循环 } 提示输入月份并计算日历 提示用户输入月份(数字形式,范围在1至12之间): 

请输入月份(数字形式):

 接着,通过scanf函数获取用户输入的月份值并将其赋值给变量Month。同时获取年份值并赋值给变量Year。 利用蔡勒公式计算给定年份的第一天是星期几,并判断该年份是否为闰年。如果是闰年,二月份的天数为29天;否则为28天。然后计算月份中的天数总和并找出该月第一天是星期几。在屏幕上打印出对应的年份和月份信息。 输出对应的星期表头:星期日、星期一、星期二、星期三、星期四、星期五和星期六。然后根据每个月的第一天是星期几来打印出对应的日期。如果某月的第一天不是星期日,则在日期前打印空格占位。接着循环打印每个月的日期,直到打印完整个月的日期为止。 在打印完每个月的日历后,询问用户是否继续操作,如果用户选择继续则重新进行上述操作,否则结束程序。 还包含了几个辅助函数:判断是否为闰年的函数、计算某月最大天数的函数以及打印年份日历的函数等。这些函数分别用于辅助主程序完成相关功能。 代码实现细节: 使用iostream库进行输入输出操作; 使用iomanip库进行格式化输出; 使用stdlib库进行相关的数学计算和操作; 定义相关数组和函数以辅助计算日历和判断闰年等功能; 在打印日期时考虑了换行和空格占位等问题; 

// 打印某年的月历

void printYearlyCalendar(int year, int n) {

int j, i, k;

// 对于每个月份进行处理

for (j = 1; j <= 12; j++) {

// 输出月份和星期

cout << j << "月份";

cout << "日一二三四五六" << endl;

// 获取每个月的天数,假设ww函数可以获取指定年份某月的天数

int daysInMonth = ww(1, j, year);

// 输出日期,使用setw控制输出宽度为4个字符

for (i = 0; i < daysInMonth; i++) {

cout << setw(4) << ""; // 这里可能是为了填充空格,可以根据实际需求进行修改

}

// 输出星期和日期,如果星期加日期除以7余数为0则换行输出日期

for (k = 1; k <= cc[j - 1]; k++) {

cout << setw(4) << k;

if ((ww(1, j, year) + k) % 7 == 0) { // 如果达到一个星期结束则换行输出日期和星期

cout << endl;

}

}

 以下是可供选择的操作指令: 1. 查询指定日期的星期 2. 判断某年是否为闰年 3. 查询某月的总天数 4. 打印某年的全年日历 5. 打印某年某月的月历 6. 退出程序 请选择您想要执行的操作: 系统提示您输入操作指令。 输入操作码 n 并回车确认。 

switch (n)

case 1:

Console.WriteLine("请输入要查询的日期:");

Console.Write("年:");

int year = Convert.ToInt32(Console.ReadLine());

Console.Write("月:");

int month = Convert.ToInt32(Console.ReadLine());

Console.Write("日:");

int day = Convert.ToInt32(Console.ReadLine());

string weekday = GetWeekday(day, month, year); // 假设此函数返回星期几的字符串

Console.WriteLine($"星期是: {weekday} ");

break;

case 2:

Console.WriteLine("请输入要判断的年份:");

int m = Convert.ToInt32(Console.ReadLine());

if (IsLeapYear(m) == 1) // 假设IsLeapYear函数返回1表示是闰年,否则不是闰年

Console.WriteLine($"{m}年是闰年");

else

Console.WriteLine($"{m}年不是闰年,请重新输入");

break;

case 3:

Console.WriteLine("请输入月份:");

int m_month = Convert.ToInt32(Console.ReadLine());

GetMonthDays(m_month); // 假设此函数返回该月的总天数并输出结果

break;

case 4:

Console.WriteLine("请输入要打印的年份:");

int year_print = Convert.ToInt32(Console.ReadLine());

PrintYearCalendar(year_print); // 假设此函数打印该年的日历并输出结果

break;

case 5:

Console.WriteLine("请输入年份:");

int n_year = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("请输入月份:");

int n_month = Convert.ToInt32(Console.ReadLine());

PrintMonthCalendar(n_year, n_month); // 假设此函数打印该年该月的月历并输出结果

break;

case 6: // 退出程序无需特别处理,因为系统将自动结束当前进程的运作。所以这里不写任何代码。但为了保持格式,我们仍然使用break关键字。

break; // 这里不需要执行任何操作,直接退出switch语句和程序。

 以上代码中,我使用了C#语言和`Console`类来模拟了原代码中的功能,并假设了几个函数的实现(如`GetWeekday`、`IsLeapYear`、`GetMonthDays`和`PrintYearCalendar`),但具体的实现代码需要根据具体业务逻辑编写。原代码中涉及到多个不同功能(如查询日期、判断闰年等)的具体实现并没有详细说明,所以在此也仅提供了一个基本的框架供你参考。实际使用时需要根据你的具体需求和逻辑来编写相应的函数。到此这篇时钟代码c语言(电子时钟c语言)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 苹果开发者账号个人注册流程视频(苹果开发者账号个人注册流程视频怎么下载)2025-05-18 10:45:06
  • 工具类软件开发(工具类软件开发流程)2025-05-18 10:45:06
  • 苹果开发者账号注册流程2023最新(2021苹果开发者账号注册)2025-05-18 10:45:06
  • 现在学编程学什么语言(学编程学什么语言好找工作)2025-05-18 10:45:06
  • 字符串转int go(字符串转interger)2025-05-18 10:45:06
  • linux驱动开发入门与实战pdf(linux驱动开发书)2025-05-18 10:45:06
  • 广度优先搜索算法c语言实现(广度优先搜索代码c语言实现)2025-05-18 10:45:06
  • goa电路(goa电路结构及驱动方法与流程)2025-05-18 10:45:06
  • 苹果开发者账号注册流程多少钱一年(苹果开发者账号注册需要几天)2025-05-18 10:45:06
  • 单片机程序编写用什么语言(单片机程序编写用什么语言比较好)2025-05-18 10:45:06
  • 全屏图片