《C++程序设计》课设

这是一份关于《C++程序设计》课程设计的任务,要求编写一个控制台模式的月历程序,涵盖显示月历、作品展示和实现代码等内容。程序需使用数组、结构体和动态内存,支持磁盘文件存储,运用面向对象编程思想,同时要求具有良好的用户交互性和错误处理能力。
摘要由CSDN通过智能技术生成

《C++程序设计》课设

课设任务

(1) 从头开始, 编写一个完整的控制台模式下的可执行程序,实现题目要求的功能。
(2) 撰写设计报告。

课设要求

(1) 编程实现每个题目所要求之功能; 并鼓励扩展功能;
(2) 应使用数组、 结构体组织运行时数据, 使用动态内存分配、链表等数据结构存储
运行时数量变化之数据;
(3) 应使用磁盘文件存储程序所用之长久数据,部分题目会提供一些程序运行必须的
数据文件;
(4) 运用结构化思想,多用函数来实现相关功能。 运用面向对象编程思想, 使用类的
封装特性将程序数据及操作其之函数由类来实现。可使用类的继承特性定义多级类;
(5)少用全局变量或全局数组,以函数参数和返回值的形式进行数据传递;
(6) 使用控制台窗口进行交互,提示内容及输出内容整齐美观, 容错性强,界面提示
清楚,交互性好; 各类标识符命名规范及具有描述性,添加尽量多的注释内容。
(7) 程序的执行流程、 选项、提示、输出内容应清晰、明白、合理。
(8) 要原创, 使用已学过的 C++知识即可,不需要到网上查找乱七八糟你自己也搞不
清楚的代码。

显示月历

( 1)可显示一个或多个月的公历月历,显示形式可自定义
( 2)正确显示星期, 正确处理大小月、闰年等问题
( 3) 有回到当前月、 前一月、下一月等功能。 排列美观、间距恰当。
( 4)有记事、 节日、 提醒等功能。 可实现中国农历和农历节目之功能。

作品展示

在这里插入图片描述

实现代码

#pragma warning(disable:4996)
#include <iostream>
#include <string>
#include <ctime>
#include <list>
#include <sstream>
#include <math.h>
#include<time.h>

using namespace std;

int yearNum = 0, monthNum = 0, tempYearNum= yearNum, tempMonthNum= monthNum;	//声明全局变量	年 月
typedef struct Note {		//事件结构体
	int y;	//年
	int m;	//月
	int d;	//日
	string title;	//标题
	string content;	//内容
} note;
typedef std::list<Note> listRemind;		// 代办列表
listRemind reminds;		//实例

int main() {		// 主程序
	void printMenu();	//声明函数

	// 基于当前系统的当前日期/时间
	time_t timer;
	time(&timer);
	tm* t_tm = localtime(&timer);

	yearNum= t_tm->tm_year+ 1900;
	monthNum= t_tm->tm_mon+1;
	tempYearNum = yearNum;
	tempMonthNum = monthNum;

	printMenu();
}

/***
工具类
*/
class Util {
public:
	/**
	根据年份计算全年天数
	 根据年份判断是否闰年
		是 366
		否 365
	*/
	static int ctorDayByYear(int year) {
		if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)	// 判断是否是闰年
			return 366;		// 闰年 366天
		else
			return 365;		// 平年 365天
	}

	/**
	计算一个月的天数
	*/
	static int ctorDayByMonth(int year, int month)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值