资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言课程设计 项目清单 1 做前须知 题目需每人独立完成,个别题目有合作情况在题目后有说明,不得超出题目限制。 不得抄袭代码,如果有参考他人代码,需注明引用来源(如网址等);如若有雷同部分代 码却未声明引用,则视为不合格。 所有题目都有难度分级,不同难度等级基础分数不同,每个人所选题目难度之和需要 不低于三颗星。 题目不限于文中所列,如果自己有好的想法也可以做,具体的分由老师决定。 2 目录 0、电子词典 4 1、Cat命令的实现 5 2、俄罗斯方块小游戏 .6 3、终端下的文本编辑器 .7 4、摇一摇 .9 5、万年历 10 6、MP3播放器 12 7、天气预报 .13 8、记事本 14 9、星座运势 15 10、执行用户指令 16 11、命令行打字通 17 12、简易计算器 .19 13、课程表 20 14、文件的归档和压缩 21 15、手机通讯录 22 3 电子词典 题目要求 设计一个已排序的英汉对照单词的列表文件。用户输入英文,输出对应的中文。 1、输入英文,回车,输出对应的中文,若单词不存在,则提示错误。 2、tab补全:用户输入单词的一部分,按下tab后: 如果可以根据当前字符序列唯一得到一个单词,则显示该单词; 如果不能唯一确定单词,但是可以确定之后的一位或多位连续字符,则把可以确定的 字符填上; 如果下一位不能唯一确定,则列出可选择单词列表,如果列表数目过多可以分页显示 (或提示单词过多只显示固定数目的单词)。 详细功能可以查阅Linux下命令通过tab补全的解释。 团队分工 个人独立完成 技能点 二分查找 字符串处理 文件操作 难度系数 项目扩展 1、给程序增加图形界面(如Qt等实现),这样可以不用tab,而是在编辑框中用户输入后由自 动下拉列表提示(参考各种有道词典等软件)。(增加一颗星) 2、同时支持字典的逆向查找,即根据中文查找英文。(增加一颗星) 4 Cat命令的实现 题目要求 阅读并实现Linux下的cat命令的部分功能,即查看一个文件的内容,执行时通过命令行参数指 定具体操作模式和操作文件。 1、控制台下输入cat.exe a.txt即可查看文件a.txt的内容。 2、通过参数实现不同的功能。 f倒序输出文本 n输出带行号的文本 p n输出n行 help 显示参数帮助内容 不冲突的参数可以组合使用,比如 cat.exe nfp 20 a.txt 表示倒序输出20行并打印行号 团队分工 个人独立完成 技能点 使用主函数 int main(int argc, char* argv) 获取参数 文件操作 字符串处理 . 难度系数 项目扩展 1、在实现上述功能的基础上,添加下列功能(示例):(增加一颗星) cat.exe a.txt b.txt把a.txt中的内容写入b.txt(覆盖),若b.txt不存在则生成。 cat.exe a.txt b.txt把a.txt中的内容追加到b.txt文件末尾,若b.txt不存在需生 成。 cat.exe “string” b.txt把字符串string追加到文件b.txt末尾。 5 俄罗斯方块小游戏 题目要求 使用 windows.h 头文件实现俄罗斯方块游戏,能够记分,能够提示下一块积木,能够保存游 戏进度到文件,打开游戏时如果有已保存的进度则读取,若没有则新游戏。 左右方向键控制积木位置 上方向键控制积木翻转 下方向键加速下落 按Esc或指定键暂停游戏,暂停后可以恢复游戏、直接退出游戏,保存后退出游戏 团队分工 12个人完成项目 技能点 使用windows辅助功能函数(windows.h头文件) 积木块的存储设计(应用二维数组) 文件操作 . 难度系数 项目扩展 1、不使用windows.h改用其它图形库,如SDL(https:/www.libsdl.org/),EasyX( www.easyx.cn)Qt等。(增加一颗星) 2、设计跨平台程序(至少可以同时运行在unix和windows下)。(增加一颗星) 6 终端下的文本编辑器 题目要求 制作一个文本编辑器,其中的功能包含如下: 打开文件 保存文件 查找、替换功能 可以开启或关闭自动缩进 支持编辑16进制文件、二进制文件 DEMO 团队分工 个人独立完成 技能点 文件操作 模式匹配 . 7 难度系数 项目扩展 1、不使用windows.h改用其它图形库,如SDL(https:/www.libsdl.org/),EasyX( www.easyx.cn),Qt等。(增加一颗星) 8 摇一摇 题目要求 摇一摇抽取学生名单,必需功能如下: 有多个班级的名单,分别存储在不同文件中,用户可以选择班级 指定数量抽取 忽略列表,可以忽略一部分学生 抽取区间,在指定区间内抽取学生 不能有重复的学生 输出学号和对应名字 团队分工 个人独立完成 技能点 文件操作 随机数设计 字符串操作 . 难度系数 项目扩展 1、使用Qt、GTK+等图形库构建图形版摇一摇,可以添加显示照片。(增加一颗星) 9 万年历 题目要求 制作一个万年历能够实现如下功能 打开默认显示当前月份的日历,并把当天日期高亮 可以查询指定年/月/日的日期 输入“年”则显示全年12个月的日历,自动排版 输入“年/月”则显示指定月份的日历 输入“年/月/日”则显示日期所在月份的日历,并把对应日期高亮 输入指令可以查看上次显示月份的上一个月或下一个月的日历 按月显示的话把当月的一些重要节日在日历下列举出来 显示农历 DEMO 团队分工 个人独立完成 技能点 windows.h 改变终端字符颜色 指定日期是周几的计算公式 10 难度系数 项目扩展 1、构建图形版万年历,外观参考各种网上的在线万年历。(增加一颗星) 11 MP3播放器 题目要求 制作一个终端下的MP3播放器,能够实现如下功能: 打开程序指定歌曲目录,然后获得目录中所有的*.mp3文件并生成一个播放列表 可以顺序播放、随机播放、单曲循环歌曲 可以通过歌曲的序号切换到指定歌曲进行播放 可以暂停,开始播放歌曲 可以通过输入n或p切换到下一首或者上一首歌曲 团队分工 个人独立完成 技能点 windows.h 文件操作 目录操作 库的使用 . 难度系数 项目扩展 1、制作图形版音乐播放器,可以使用EasyX、Qt等图形库。(增加一颗星) 12 天气预报 题目要求 突然感觉你们简直回到了上个世纪九十年代那个满是黑底白字的时代。 没关系,一切都只是表现形式,做好了逻辑部分,表现形式可以各种各样,图形界面或者终端 都只是不同的表现形式罢了。 说一下题目,天气预报不用多想就是可以查看几天的天气状况,可以查看指定城市的天气 状况。 用户输入指定日期,然后展示对应的天气情况 用户输入地区,显示对应地区此时的天气 使用字符输出比较好看的天气图形 团队分工 个人独立完成 技能点 http API的使用 网页内容获取(学习Socket或者直接使用现成的库或者调用外部程序,如libcurl等) 指定格式数据的解析或这网页内容的分析 . 难度系数 参考资料 1、提供几个获取天气的API接口 中国天气网 http:/www.weather.com.cn/ Weather.com https:/www.juhe.cn/docs/api/id/73 2、更多weather API http:/www.hujuntao.com/api/weatherapicollected.html 项目扩展 1、使用Qt等图形库制作图形版天气预报,实现更人性化的操作与展示。(增加一颗星) 13 记事本 题目要求 构建一个记事本,可以添加记事,列出记事,并设置分类 添加指定分类的记事 可以管理分类,删除等操作 可以管理记事,进行删除等操作 可以列举指定分类的记事 可以按照时间进行正向或反向的排序 按照标题或内容搜索 具体有什么可以添加功能的参考自己手机上的便签APP 团队分工 个人独立完成 技能点 文件存储设计 模式匹配等 . 难度系数 项目扩展 1、制作图形版备忘录,让它更接近平时的使用状态。(增加一颗星) 14 星座运势 题目要求 输入出生年月,输出用户的属相和星座以及星座运势。 团队分工 个人独立完成 技能点 计算属相 计算星座 http API请求处理 json处理 . 难度系数 参考资料 获取星座运势接口 https:/www.juhe.cn/docs/api/id/58 json处理 项目扩展 1、制作图形版星座运势备忘录,能够显示玄幻的图片背景,让它更接近你平时看到的样子 (像QQ空间里的星座运势等)。(增加一颗星) 15 执行用户指令 题目要求 设计一个用户交互的场景,用户输入一行代码,然后执行: 打印命令 能声明变量 能对变量进行操作比如加减乘除等 DEMO 举例: print “Hello world” /打印字符串 Hello world i = 0 /声明一个变量i并且赋值为0 i = i + 1 /变量i的值赋值为i 加1 print i /输出i的值 团队分工 个人独立完成 技能点 字符串处理 . 难度系数 项目扩展 1、添加更多的功能,比如加入更多的数据类型等。(增加一颗星) 16 命令行打字通 题目要求 还记得金山打字通嘛?上面一行文本,然后在下面输入,最后给出打字的速度,在终端下你也 可以做到: 能够计算用户输入的速度 能够计算用户输入的正确率 DEMO 团队分工 个人独立完成 技能点 文件操作 字符串操作 时间获取(到毫秒) . 难度系数 17 项目扩展 1、使用Qt等制作图形版的打字速度测试等,功能可自行发挥。(增加一颗星) 2、制作一些打字游戏。(增加一颗星) 18 简易计算器 题目要求 设计一个计算器,用户输入一个式子,可以包含加减乘除等运算(例:12+45*44/2),然后 正确求出其值,能进行以下运算: 加 减 乘 除 乘方 有括号 DEMO 团队分工 个人独立完成 技能点 字符串处理 栈 . 难度系数 项目扩展 1、添加三角函数、开方等功能。(增加一颗星) 19 课程表 题目要求 烟台大学的作息大家都已经很熟悉了,可是课程表却是个经常容易忘的东西,所以做一个课程 表软件来记录课程并提醒: 能够添加、删除或编辑课程 课程表要包括课程名、授课老师、地点 要能区分单双周的课 能够显示完整课程表 能够根据当前时间显示要上什么课 在每节课前十分钟打印一条提示要上什么课,在哪里上 存储到文件用于每次打开初始化 团队分工 个人独立完成 技能点 字符串处理 文件读写 . 难度系数 项目扩展 1、使用Qt
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号