方向,如下: 请选择排序方向: (1)升序 (2)降序 (0)退出程序 (6)此操作可以反复进行,直到用户选择“退出程序”。 5.2项目2:火车订票系统功能需求如下: (1)查询功能:查询车票信息,包括起始地,车次,余票 和票价; (2)订票功能:车票预订: (3)修改功能:修改订票信息; (4)录入管理功能:实现输入车票的基本数据 (5)显示功能:查询到的信息能够显示出来,供用户查看 知识点: 1.进一步掌握数组的声明和使用: 2.掌握结构体的声明,结构体变量的声明和赋值; 3.掌握结构体成员的访问: 4.掌握结构体数组的使用; 5.使用结构体处理复杂的数据结构; 6.为了计数结构体对象,掌握带计数器的辅助结构体的声明、 使用,理解其作用: 7.使用结构体处理复杂的数据结构; 8.掌握C+的引用。 第六章实战6:指针 自学内容:拓展项目(见 6.1项目l:Intent实现组件通信任意个人N围成一圈,每个人 教材) 有一个密码k(整数):从第一个人(其密码为k1)开始往 课堂作业: 后计数,数到第k1个人退出;接着,将退出者的密码k2 作为下一个退出的依据,继续从下一个人开始计数,数到 1.汇报网上在线学习情 第k2个人退出;退出者的密码再作为下一个退出的依 况。 据依次循环,直到全部人员出列。 2.完成基本项目实现。 要求: 3.实验交流。 (1)人数N不确定,用户可以输入任意个人 (2)用户分别依次输入任意个人名,同时输入每个人的密 课外作业: 码k 1.完成本章小结 (3)用单向、循环链表处理 (4)输入完成后,给出操作菜单让用户选择操作,菜单项 1.完成拓展项目的设计 如下: 请选择操作: 和实现。 (1)显示信息 (2)重新输入每个人的密码 (3)开始“数N退出”游戏 (4)退出程序 23
23 方向,如下: 请选择排序方向: -------------------------------------------------- (1)升序 (2)降序 (0)退出程序 -------------------------------------------------- (6)此操作可以反复进行,直到用户选择“退出程序”。 5.2 项目 2:火车订票系统功能需求如下: (1)查询功能:查询车票信息,包括起始地,车次,余票 和票价; (2)订票功能:车票预订; (3)修改功能:修改订票信息; (4)录入管理功能:实现输入车票的基本数据 (5)显示功能:查询到的信息能够显示出来,供用户查看 知识点: 1. 进一步掌握数组的声明和使用; 2. 掌握结构体的声明,结构体变量的声明和赋值; 3. 掌握结构体成员的访问; 4. 掌握结构体数组的使用; 5. 使用结构体处理复杂的数据结构; 6. 为了计数结构体对象,掌握带计数器的辅助结构体的声明、 使用,理解其作用; 7. 使用结构体处理复杂的数据结构; 8. 掌握 C++的引用。 第六章 实战 6:指针 6.1 项目 1:Intent 实现组件通信任意个人 N 围成一圈,每个人 有一个密码 k(整数);从第一个人(其密码为 k1)开始往 后计数,数到第 k1 个人退出;接着,将退出者的密码 k2 作为下一个退出的依据,继续从下一个人开始计数,数到 第 k2 个人退出;退出者的密码再作为下一个退出的依 据……依次循环,直到全部人员出列。 要求: (1)人数 N 不确定,用户可以输入任意个人 (2)用户分别依次输入任意个人名,同时输入每个人的密 码 k (3)用单向、循环链表处理 (4)输入完成后,给出操作菜单让用户选择操作,菜单项 如下: 请选择操作: =========================== (1)显示信息 (2)重新输入每个人的密码 (3)开始“数 N 退出”游戏 (4)退出程序 =========================== 自学内容:拓展项目(见 教材) 课堂作业: 1. 汇报网上在线学习情 况。 2. 完成基本项目实现。 3. 实验交流。 课外作业: 1. 完成本章小结 1. 完成拓展项目的设计 和实现
(5)此操作可以反复进行,直到用户选择“退出程序”。 6.2项目2:有学生成绩登记表下表所示。 平均 学母 性尉 年龄 C 高数 成 201210409601 刘子栋 19 85 87.7 201210409602 童雨嘉 19 66 787 201210409603 杨庆悦 9明 797 201210409604 王子承 19 6 其中: 学号是长度为12的数字字符组成;姓名最大长度10个字 符;性别最多允许4个字符;年龄为整数;成绩包括三项 (C语言、英语、数学),均为整数,总成绩允许有一位小 数。 要求: (1)学生人数未知,用户任意输入。 (2)“平均成绩”项应通过计算获得,不从键盘输入 (3)输入完成后,给出操作菜单让用户选择操作,菜单项 如下: 请选择排序字段: (1)学号 (2)姓名 (3)性别(4)年龄 (5)C语言 (6)英语 (7)高数(8)平均分 (0)退出程序 (4)当用户正确选择反序字段后,进一步请用户选择排序 方向,如下: 请选择排序方向: (1)升序 (2)降序 (0)退出程序 (6)此操作可以反复进行,直到用户选择“退出程序”。 63项目3:贪吃蛇游戏要求:在一个密闭的围墙空间内有一条 蛇,和随机出现的一个食物,通过按WSAD键控制蛇向上 下左右四个方向移动。如果蛇头碰到食物,表示蛇吃掉食 物,蛇的身体会增长一节;接着又出现新的食物,等待被 蛇吃掉。游戏进行的过程中,蛇身会变的越来越长。如果 蛇在移动过程中,蛇头碰到自己的身体咬到自己,则游戏 结束。 要求: (1)实现蛇的表示:用矩形块表示蛇的一节身体。游戏初 始,蛇只有蛇头,用白色矩形块表示;当吃掉一个食物后, 24
24 (5)此操作可以反复进行,直到用户选择“退出程序”。 6.2 项目 2:有学生成绩登记表下表所示。 其中: 学号是长度为 12 的数字字符组成;姓名最大长度 10 个字 符;性别最多允许 4 个字符;年龄为整数;成绩包括三项 (C 语言、英语、数学),均为整数,总成绩允许有一位小 数。 要求: (1)学生人数未知,用户任意输入。 (2)“平均成绩”项应通过计算获得,不从键盘输入 (3)输入完成后,给出操作菜单让用户选择操作,菜单项 如下: 请选择排序字段: ------------------------------------------------- (1)学号 (2)姓名 (3)性别 (4)年龄 (5)C 语言 (6)英语 (7)高数 (8)平均分 (0)退出程序 ------------------------------------------------- (4)当用户正确选择反序字段后,进一步请用户选择排序 方向,如下: 请选择排序方向: ------------------------------------------------- (1)升序 (2)降序 (0)退出程序 ------------------------------------------------- (6)此操作可以反复进行,直到用户选择“退出程序”。 6.3 项目 3:贪吃蛇游戏要求:在一个密闭的围墙空间内有一条 蛇,和随机出现的一个食物,通过按 WSAD 键控制蛇向上 下左右四个方向移动。如果蛇头碰到食物,表示蛇吃掉食 物,蛇的身体会增长一节;接着又出现新的食物,等待被 蛇吃掉。游戏进行的过程中,蛇身会变的越来越长。如果 蛇在移动过程中,蛇头碰到自己的身体咬到自己,则游戏 结束。 要求: (1)实现蛇的表示:用矩形块表示蛇的一节身体。游戏初 始,蛇只有蛇头,用白色矩形块表示;当吃掉一个食物后, 学号 姓名 性别 年龄 成绩 平均 C 语言 英语 高数 成绩 201210409601 刘子栋 男 19 92 85 86 87.7 201210409602 童雨嘉 女 19 88 66 82 78.7 201210409603 杨欣悦 女 18 78 93 68 79.7 201210409604 王子濠 男 19 67 77 75 73 …… …… …… …… …… …… …… ……
蛇身增加一节,即增加一个黑色的矩形块。 (2)实现蛇的移动:必须沿蛇头方向在密闭围墙内上下左 右移动;如果游戏者无按键动作,蛇自行沿当前方向前移; 当游戏者按了WSAD键后,需要重新确定蛇每节的位置, 然后移动。 (3)实现根据坐标绘制蛇、食物;食物要求在密闭围墙中 随机生成。 (4)处理上下左右的方向按键。 (5)实现双向链表表示,和单向链表的操作。 知识点: 1.进一步掌握结构体的声明和使用: 2.掌握指针的声明、初始化和赋值; 3.掌握指针与地址的关系; 4.掌握指针的运算; 5.指针的移动: 6.使用指针和结构体处理复杂的数据结构; 7.使用链表实现数据的动态存储; 8.链表的排序; 9.掌握双向链表。 第七章实战7:文件操作 自学内容:拓展项目(见 7.1项目1:一个程序的运行次数不能保存在内存中,一旦程序 教材) 运行结束后,保存在内存中的数据就会丢失。为了能够把 课堂作业: 每次程序运行的次数都记载下来,可以采用磁盘文件或数 据库来保存数据,本项目就是通过磁盘文件的形式把程序 1.汇报网上在线学习情 的运行次数保存下来。 况。 要求: 2.完成基本项目实现。 (1)程序运行时,打开磁盘的数据文件,读取已运行次数。 3.实验交流。 (2)在内存中计算本次程序的运行次数。 (3)显示该程序当前运行次数。 课外作业: (4)程序结束前,保存运行次数到磁盘数据文件中。 1.完成本章小结 7.2项目2:有学生成绩登记表下表所示。 2.完成拓展项目的设计 或 和实现。 C请事 英请 高数 2012104096801 刘子体 果 19 92 85 86 7.7 201210409602 童雨嘉 66 82 87 201210409603 杨代悦 18 93 68T 77 201210u09604 王于 5 其中: 学号是长度为12的数字字符组成:姓名最大长度10个字 符;性别最多允许4个字符;年龄为整数;成绩包括三项 25
25 蛇身增加一节,即增加一个黑色的矩形块。 (2)实现蛇的移动:必须沿蛇头方向在密闭围墙内上下左 右移动;如果游戏者无按键动作,蛇自行沿当前方向前移; 当游戏者按了 WSAD 键后,需要重新确定蛇每节的位置, 然后移动。 (3)实现根据坐标绘制蛇、食物;食物要求在密闭围墙中 随机生成。 (4)处理上下左右的方向按键。 (5)实现双向链表表示,和单向链表的操作。 知识点: 1. 进一步掌握结构体的声明和使用; 2. 掌握指针的声明、初始化和赋值; 3. 掌握指针与地址的关系; 4. 掌握指针的运算; 5. 指针的移动; 6. 使用指针和结构体处理复杂的数据结构; 7. 使用链表实现数据的动态存储; 8. 链表的排序; 9. 掌握双向链表。 第七章 实战 7:文件操作 7.1 项目 1:一个程序的运行次数不能保存在内存中,一旦程序 运行结束后,保存在内存中的数据就会丢失。为了能够把 每次程序运行的次数都记载下来,可以采用磁盘文件或数 据库来保存数据,本项目就是通过磁盘文件的形式把程序 的运行次数保存下来。 要求: (1)程序运行时,打开磁盘的数据文件,读取已运行次数。 (2)在内存中计算本次程序的运行次数。 (3)显示该程序当前运行次数。 (4)程序结束前,保存运行次数到磁盘数据文件中。 7.2 项目 2:有学生成绩登记表下表所示。 其中: 学号是长度为 12 的数字字符组成;姓名最大长度 10 个字 符;性别最多允许 4 个字符;年龄为整数;成绩包括三项 学号 姓名 性别 年龄 成绩 平均 C 语言 英语 高数 成绩 201210409601 刘子栋 男 19 92 85 86 87.7 201210409602 童雨嘉 女 19 88 66 82 78.7 201210409603 杨欣悦 女 18 78 93 68 79.7 201210409604 王子濠 男 19 67 77 75 73 …… …… …… …… …… …… …… …… 自学内容:拓展项目(见 教材) 课堂作业: 1. 汇报网上在线学习情 况。 2. 完成基本项目实现。 3. 实验交流。 课外作业: 1. 完成本章小结 2. 完成拓展项目的设计 和实现
(C语言、英语、数学),均为整数,总成绩允许有一位小 数。 要求: (l)学生信息可长期保存在磁盘文件studentInfo.dat中 (2)学生学藉管理系统可完成对学生成绩信息的增、删、 改、查操作 (3)“平均成绩”项应通过计算获得,不从键盘输入 (4)第一次使用该系统时,可从键盘输入初始数据,并建 立初始学生信息磁盘文件:studentInfo.dat (5)学生信息在内存中使用单链表进行存储和管理,如果 增加、删除或修改学生信息后,可根据需要随时保存到文 件中 (6)退出系统前,要求把当前系统内的数据保存到文件中 知识点: 1,掌握单链表的建立、查询、修改及删除结点操作; 2.进一步掌握文件的打开、读写和关闭操作; 3.掌握通过指针动态分配和释放内存空间的操作; 4.进一步掌握指针和结构体处理复杂的数据结构。 第八章实战8:数据库操作 自学内容:拓展项目(见 8.1项目1:使用MySQL数据库保存程序运行次数,要求: 教材) (1)程序运行后产生并显示一个整数,该整数是前一次运 课堂作业: 行产生的整数+1。 (2)程序产生的整数永久保存在MySQL数据库的表中。 1. 汇报网上在线学习情 8.2项目2:使用MySQL管理学生信息,要求: 况。 (1)将学生及成绩信息存放在MySQL数据库中,不限学 2.完成基本项目实现。 生人数。本程序通过主菜单访问数据库中的学生成绩。可 3.实验交流。 以对学生成绩进行4种基本操作:增加,修改,删除,查 询。 课外作业: (2)4种操作无先后之分,可以任意进行。 1.完成本章小结 (3)“平均成绩”项应通过计算获得,不从键盘输入。 2.完成拓展项目的设计 知识点: 和实现。 1.掌握调用MySQL数据库的访问接口; 2.了解一些MySQL相关结构体和指针的应用方式; 3.掌握一些MySQL相关函数的调用方式; 4.了解MySQL的日常管理方法和知识; 5.了解在数据库中创建一个表,对表进行数据的增加,修改; 6.了解SQL语句语法。 第九章实战9:图形操作*(选学) 自学内容:拓展项目(见 9.1项目1:贪吃蛇游戏。在一个密闭的围墙空间内有一条蛇, 教材) 和随机出现的一个食物,通过按WSAD键控制蛇向上下左 课堂作业: 右四个方向移动。如果蛇头碰到食物,表示蛇吃掉食物, 蛇的身体会增长一节;接着又出现新的食物,等待被蛇吃 1.汇报网上在线学习情 况。 26
26 (C 语言、英语、数学),均为整数,总成绩允许有一位小 数。 要求: (1)学生信息可长期保存在磁盘文件 studentInfo.dat 中 (2)学生学藉管理系统可完成对学生成绩信息的增、删、 改、查操作 (3)“平均成绩”项应通过计算获得,不从键盘输入 (4)第一次使用该系统时,可从键盘输入初始数据,并建 立初始学生信息磁盘文件:studentInfo.dat (5)学生信息在内存中使用单链表进行存储和管理,如果 增加、删除或修改学生信息后,可根据需要随时保存到文 件中 (6)退出系统前,要求把当前系统内的数据保存到文件中 知识点: 1. 掌握单链表的建立、查询、修改及删除结点操作; 2. 进一步掌握文件的打开、读写和关闭操作; 3. 掌握通过指针动态分配和释放内存空间的操作; 4. 进一步掌握指针和结构体处理复杂的数据结构。 第八章 实战 8:数据库操作 8.1 项目 1:使用 MySQL 数据库保存程序运行次数,要求: (1)程序运行后产生并显示一个整数,该整数是前一次运 行产生的整数+1。 (2)程序产生的整数永久保存在 MySQL 数据库的表中。 8.2 项目 2:使用 MySQL 管理学生信息,要求: (1)将学生及成绩信息存放在 MySQL 数据库中,不限学 生人数。本程序通过主菜单访问数据库中的学生成绩。可 以对学生成绩进行 4 种基本操作:增加,修改,删除,查 询。 (2)4 种操作无先后之分,可以任意进行。 (3)“平均成绩”项应通过计算获得,不从键盘输入。 知识点: 1. 掌握调用 MySQL 数据库的访问接口; 2. 了解一些 MySQL 相关结构体和指针的应用方式; 3. 掌握一些 MySQL 相关函数的调用方式; 4. 了解 MySQL 的日常管理方法和知识; 5. 了解在数据库中创建一个表,对表进行数据的增加,修改; 6. 了解 SQL 语句语法。 自学内容:拓展项目(见 教材) 课堂作业: 1. 汇报网上在线学习情 况。 2. 完成基本项目实现。 3. 实验交流。 课外作业: 1. 完成本章小结 2. 完成拓展项目的设计 和实现。 第九章 实战 9:图形操作*(选学) 9.1 项目 1:贪吃蛇游戏。在一个密闭的围墙空间内有一条蛇, 和随机出现的一个食物,通过按 WSAD 键控制蛇向上下左 右四个方向移动。如果蛇头碰到食物,表示蛇吃掉食物, 蛇的身体会增长一节;接着又出现新的食物,等待被蛇吃 自学内容:拓展项目(见 教材) 课堂作业: 1. 汇报网上在线学习情 况
掉。游戏进行的过程中,蛇身会变的越来越长。如果蛇在2.完成基本项目实现。 移动过程中,蛇头碰到自己的身体咬到自己,或碰到围墙, 3.实验交流。 则游戏结束。 要求: 课外作业: (1)利用EGE库对图形进行操作。 (2)利用C语言位运算提高游戏运行性能。 1.完成本章小结 (3)实现蛇的表示:通过画矩形框,并利用一定的颜色进 2.完成拓展项目的设计 行填充,表示蛇的一节身体。游戏初始,蛇只有蛇头,当 和实现。 吃掉一个食物后,蛇身增加一节。 (4)实现蛇的移动:必须沿蛇头方向在密闭围墙内上下左 右移动;如果游戏者无按键动作,蛇自行沿当前方向前移; 当游戏者按了WSAD键后,需要重新确定蛇的位置,然后 移动。 (5)实现根据坐标绘制蛇、食物;食物要求在密闭围墙中 随机生成。 (6)处理上下左右的方向按键。 9.2项目2:俄罗斯方块。 要求: ()实现各种方块的生产,包括形状和颜色等信息; (2)实现各个方块的上下左右移动和旋转的功能; (3)实现消行的功能; (4)实现开始,结束、重玩等功能。 知识点: 1.图形函数及调用 附注:实验教学安排见《C语言课程设计》实验教学大纲 五、建议学时分配表 学时分配 序号 课程内容 对应教学目标 讲授 实验 习题课 小计 第一章实战1:语法及条 目标1、目标2、 1 0 4 4 件结构应用 目标3 目标1、目标2、 第二章实战2:递归 0 4 目标3 第三章实战3:大型C项 目标1、目标2、 0 4 4 目的实现 目标3 目标1、目标2、 第四章实战4:数组 0 4 目标3 27
27 掉。游戏进行的过程中,蛇身会变的越来越长。如果蛇在 移动过程中,蛇头碰到自己的身体咬到自己,或碰到围墙, 则游戏结束。 要求: (1)利用 EGE 库对图形进行操作。 (2)利用 C 语言位运算提高游戏运行性能。 (3)实现蛇的表示:通过画矩形框,并利用一定的颜色进 行填充,表示蛇的一节身体。游戏初始,蛇只有蛇头,当 吃掉一个食物后,蛇身增加一节。 (4)实现蛇的移动:必须沿蛇头方向在密闭围墙内上下左 右移动;如果游戏者无按键动作,蛇自行沿当前方向前移; 当游戏者按了 WSAD 键后,需要重新确定蛇的位置,然后 移动。 (5)实现根据坐标绘制蛇、食物;食物要求在密闭围墙中 随机生成。 (6)处理上下左右的方向按键。 9.2 项目 2:俄罗斯方块。 要求: (1) 实现各种方块的生产,包括形状和颜色等信息; (2) 实现各个方块的上下左右移动和旋转的功能; (3) 实现消行的功能; (4) 实现开始,结束、重玩等功能。 知识点: 1. 图形函数及调用 2. 完成基本项目实现。 3. 实验交流。 课外作业: 1. 完成本章小结 2. 完成拓展项目的设计 和实现。 附注:实验教学安排见《C 语言课程设计》实验教学大纲 五、建议学时分配表 序号 课程内容 学 时 分 配 对应教学目标 讲 授 实 验 习题课 小 计 1 第一章 实战 1:语法及条 件结构应用 0 4 4 目标 1、目标 2、 目标 3 2 第二章 实战 2:递归 0 4 4 目标 1、目标 2、 目标 3 3 第三章 实战 3:大型 C 项 目的实现 0 4 4 目标 1、目标 2、 目标 3 4 第四章 实战 4:数组 0 4 4 目标 1、目标 2、 目标 3