【前言】
本文专为烟台大学计154-1.2班《C++程序设计》课程建设,用于组织和展示实践性学习需要的材料和成果。借助于博客,我们将继续将”积累代码行“的实践进行下去,详见论文《利用博客提交作业的程序设计课程实践模式》。最近的同名课程请点链接2014级课程主页。2015级实施了了新的培养方案,教学内容有大的改动。
本课采取翻转课堂的形式组织学习,课前资源、课堂活动等均利用蓝墨云班课提供和开展。让课程学习更有趣,让同学们在学习中更主动,培养自主学习的能力,找到个性的学习方法,是本课的追求目标。
申请博客,参考《如何申请CSDN博客?》。专业人员,写专业的代码,参考程序设计作业报告模板,发博文出现问题很正常,见写给菜鸟:发CSDN博文常见问题处理。有两个链接是视频指导,包括“发布第一个C++上机报告”和“写CSDN博文方法及可能意外的处理”请参考。
【课后总结】
【学生名单】
郝昱猛 李 鑫 胡庆龙 董凯琦 马康泰 张 杰 吴敬超 李落才
张瀚文 舒文超 李一波 赵子琳 于子娴 孙 超 刘 云 赵志君
郭永恒 王 蕊 秦 超 王俊锐 韩双志 蔡汝佳 胡昌星 刘 涛
李德坤 杨 驰 田志伟 孙亚茹 隋文韬 綦 鹏 张晴晴 陈 旭
秦 通 郑志金 隋宗涛 张伟晶 王玙璠 王艺霖 张珩瑞 李 钊
徐 聪 张毓桐 崔青青 刘默涵 潘 登
刘 亚 李亚辉 陈传祯 黄金婵 赵彦庆 马艳艳 王者健 姚志伟
李 飞 张全伟 岳成艳 郭恩胤 孔祥涛 李 硕 刘 磊 张天择
闫 安 闫 舒 高玉杰 李 旭 刘 丽 李德彪 田 甜 谭泽纯
肖 雪 陈文浩 徐 伟 徐 健 郭 辉 李磊涛 刘金石 杨 栋
史红浩 常 轩 吴雨凡 张明宇 王 帅 杨 昊 张志新 贾庆严
邱 凯 汤善晔 武 聪 陈 腾
【课程实践材料】
第二周
项目要求:简单程序设计(一)
参考解答:
2. 胖子不想说体重;
3. 小试循环;
4.(1)累加求圆周率;(2)求Fibonacci数列
参考:整型数据在内存中如何存储?
第三周
项目要求:简单程序设计(二)
参考解答:
1 个人所得税计算器;
2 本月有几天?;
3 输出星号图;
4 穷举法解决组合问题
第四周
项目要求:函数
参考解答:
1 求最大公约数;
2 太乐了 ;
3(1)猜数字游戏 (2)小学生算术能力测试系统;
4 阅读程序(略);
5 用递归方法求解
第五周
项目要求:类和对象
参考解答:
1 三角形类;
2 游戏中的角色类;
3 时间类;
4 长方柱类
第六周
项目要求:类的组合、静态存储
参考解答:
1 分数类的雏形
2 带武器的游戏角色
3 IP地址类 参考:关于IP地址和子网掩码
4-静态成员应用
参考:C++返回值为对象时复制构造函数不执行怎么破 ——编译参数搞的鬼
第七周
项目要求:友元、共享数据保护、多文件结构
参考解答:
1 成员函数、友元函数和一般函数有区别
2 友元类
3 用多文件组织带武器的游戏角色类
第八周
项目要求:数组和指针
参考解答:
1 数组作数据成员
2 用对象数组操作长方柱类
3 指向学生类的指针
4 游戏中的角色类增强版: (1) 杀伤距离有限制 (2) 多件武器 (3) 自己动起来
参考:一图总结C++中关于指针的那些事
第九周
程序阅读:源代码
项目要求:动态内存分配与深复制
参考解答:
1 深复制体验
2 我的数组类
3 人数不定的工资类
参考:深复制和浅复制
第10、11周
程序阅读:源代码
项目要求:继承与派生
参考解答:
1 - 点-圆-圆柱类族的设计
2 - 存储班长信息的学生类
3 - 警察和厨师
4- 教师兼干部类
5 - 摩托车继承自行车和机动车
补充程序阅读:源代码
补充项目:继承与派生(补充)
参考解答:
1 - 是春哥啊
2 - 职员有薪水了
3 - 点类派生直线类
4 - 日期时间类
自选拓展: 窗口程序开发启蒙(1) (2)、wxWidgets初学者导引 (pdf版)
第12周
程序阅读:源代码
项目要求:运算符重载
参考解答:
1- 实现复数类中的运算符重载
2- Time类中的运算符重载
3- 数组类运算的实现
4- String类的构造
第13周
程序阅读:源代码
项目要求:多态性与实现
参考解答:
1-分数类中的运算符重载
2-动物这样叫
3-形状类族的中的纯虚函数
4-立体类族共有的抽象类
第14周
程序阅读:STL初识源代码
项目要求:函数模板和类模板
参考解答:
1- 排序函数模板
2- 两个成员的类模板
3- 数组类模板
第15周
程序阅读:范型程序设计初步源代码 课堂阅读源代码
项目要求:范型程序设计初步
参考解答:
1- 程序填空
2- 洗牌
第16周
程序阅读:文件操作
教学视频中的代码:bmp文件格式剖析 二进制文件应用案例
项目要求:文件操作
参考解答: 附:上机中需要用到的文件和程序
1 -小玩文件
2-用文件保存的学生名单
3-电子词典
4-用二进制文件处理学生成绩
5-二进制文件浏览器
6 -处理C++源代码的程序
第17周
程序阅读:[异常处理]
项目要求:[异常处理]