C++课程设计
- 格式:doc
- 大小:243.00 KB
- 文档页数:14
软件学院c 课程设计一、课程目标知识目标:1. 让学生掌握软件工程的基本原理,理解软件开发流程和项目管理方法;2. 培养学生运用面向对象设计思想进行软件设计和分析的能力;3. 使学生了解软件测试的基本方法和策略,并能运用到实际项目中。
技能目标:1. 培养学生运用UML图进行软件设计和分析的能力,提高学生的团队合作与沟通能力;2. 让学生掌握至少一种编程语言,能够运用所学知识完成小型软件项目的开发;3. 培养学生运用软件测试方法对软件进行质量保证的能力。
情感态度价值观目标:1. 培养学生热爱软件事业,树立正确的专业观念;2. 培养学生具备良好的职业道德和团队协作精神,尊重他人的知识产权;3. 培养学生具备问题解决意识,面对困难和挑战时保持积极态度,勇于克服困难。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成软件需求分析、设计、编码和测试等环节;2. 学生能够运用所学知识解决实际问题,具备一定的软件项目开发经验;3. 学生能够在团队合作中发挥积极作用,与他人共同完成项目任务;4. 学生能够认识到软件工程在现代社会的重要性,具备持续学习的热情和动力。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 软件工程基本原理:讲解软件工程的概念、软件开发流程、项目管理方法等,对应教材第一章。
2. 面向对象设计:介绍面向对象的基本概念、UML图、设计模式等,对应教材第二章。
3. 编程语言:以Java或C++为例,讲解编程基础、面向对象编程、异常处理等,对应教材第三章。
4. 软件测试:介绍软件测试的基本方法、策略、自动化测试等,对应教材第四章。
5. 软件项目实践:结合实际案例,让学生参与软件需求分析、设计、编码、测试等环节,培养实际操作能力。
教学内容安排如下:第一周:软件工程基本原理第二周:面向对象设计第三周:编程语言基础第四周:面向对象编程第五周:软件测试第六周:项目实践与总结在教学过程中,将结合教材章节内容,确保教学内容的科学性和系统性。
c 教学课程设计一、教学目标本课程的教学目标是让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单的C程序的能力,使学生了解C语言在软件开发领域的应用,并培养学生的逻辑思维能力和解决问题的能力。
具体来说,知识目标包括:1.理解C语言的基本语法和编程规范;2.掌握C语言的数据类型、运算符和控制结构;3.了解函数的定义和调用方式;4.了解C语言在软件开发领域的应用。
技能目标包括:1.能够使用C语言编写简单的程序;2.能够阅读和理解C语言程序代码;3.能够运用C语言解决实际问题。
情感态度价值观目标包括:1.培养学生对计算机编程的兴趣和热情;2.培养学生团队合作精神和自主学习能力;3.培养学生良好的编程习惯和职业道德。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历史、特点和应用领域;2.第二章:数据类型和运算符,介绍C语言的数据类型、变量、常量、运算符及其优先级;3.第三章:控制结构,介绍条件语句、循环语句和跳转语句;4.第四章:函数,介绍函数的定义、声明、调用和返回值;5.第五章:数组和字符串,介绍数组的概念、运算和字符串的操作。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:教师通过讲解、举例等方式,向学生传授C语言的基本知识和技能;2.讨论法:学生分组讨论编程问题,培养团队合作精神和解决问题的能力;3.案例分析法:分析实际编程案例,使学生更好地理解和运用C语言;4.实验法:学生动手编写程序,巩固所学知识和技能。
四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。
具体如下:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等;2.参考书:《C语言程序设计》、《C语言编程实践》等;3.多媒体资料:教学PPT、视频教程、在线编程练习等;4.实验设备:计算机、编程软件、实验器材等。
大一c语言程序课程设计一、课程目标知识目标:1. 理解C语言程序设计的基本概念,掌握数据类型、变量、运算符、表达式等基础知识;2. 学会使用顺序结构、分支结构、循环结构进行程序设计;3. 掌握数组和函数的使用,理解指针的概念及其应用;4. 了解结构体、联合体和枚举类型的使用。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 能够分析问题,运用逻辑思维进行程序设计;3. 能够阅读和理解他人编写的C语言程序;4. 能够对程序进行调试和优化,提高程序效率。
情感态度价值观目标:1. 培养学生的编程兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 培养学生的创新精神,敢于尝试新思路和方法;4. 培养学生严谨的学术态度,遵循编程规范。
课程性质:本课程为大一C语言程序设计的基础课程,旨在使学生掌握C语言的基本知识和编程技能,为后续专业课程打下坚实基础。
学生特点:大一学生刚接触编程,对编程知识有一定好奇心,但缺乏实际操作经验。
教学要求:结合学生特点,注重理论与实践相结合,通过案例分析和实际操作,使学生熟练掌握C语言编程技巧。
在教学过程中,注重培养学生的编程兴趣和创新能力,提高学生分析问题和解决问题的能力。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,理解编程的基本概念。
相关教材章节:第一章2. 数据类型与运算符:讲解基本数据类型、变量定义、常量声明,运算符及其优先级。
相关教材章节:第二章3. 顺序结构程序设计:学习基本输入输出函数,编写简单的顺序结构程序。
相关教材章节:第三章4. 分支结构程序设计:介绍if语句、switch语句,学会编写分支结构程序。
相关教材章节:第四章5. 循环结构程序设计:讲解for循环、while循环、do-while循环,掌握循环结构编程。
相关教材章节:第五章6. 数组:介绍一维数组、二维数组的使用,学会存储和操作批量数据。
c与数据结构课程设计一、教学目标本课程的教学目标是使学生掌握C语言编程基础及其在数据结构中的应用。
具体目标如下:1.知识目标:–理解C语言的基本语法、数据类型、运算符、控制结构。
–掌握函数的定义、调用和参数传递。
–了解数据结构的基本概念,包括线性表、栈、队列、树、图等。
–理解算法的基本概念,能够分析算法的时间和空间复杂度。
2.技能目标:–能够使用C语言编写简单的程序,对数据进行处理和分析。
–能够运用数据结构解决实际问题,提高程序的效率和可维护性。
–掌握算法的设计和分析方法,能够编写高效的程序。
3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决实际问题的能力。
–培养学生团队合作的精神,提高学生的沟通和协作能力。
–培养学生勇于探索、不断创新的精神,提高学生的自主学习能力。
二、教学内容本课程的教学内容主要包括C语言基础、数据结构及其在C语言中的应用。
具体安排如下:1.C语言基础:–基本语法、数据类型、运算符、控制结构。
–函数的定义、调用和参数传递。
–指针的概念和应用。
2.数据结构:–线性表的顺序存储和链式存储。
–栈和队列的定义、实现及其应用。
–树的基本概念、二叉树的遍历和应用。
–图的定义、遍历算法和应用。
3.数据结构在C语言中的应用:–排序算法及其实现。
–查找算法及其实现。
–动态规划算法及其应用。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
具体安排如下:1.讲授法:用于讲解C语言基础知识和数据结构的基本概念。
2.案例分析法:通过分析实际案例,使学生掌握数据结构在C语言中的应用。
3.实验法:让学生动手编写程序,巩固所学知识,提高实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体安排如下:1.教材:选用《C程序设计语言》作为主教材,辅助以《数据结构与算法分析》等参考书。
2.多媒体资料:提供PPT、视频教程等资料,帮助学生更好地理解课程内容。
东华大学c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法和程序结构,包括变量声明、数据类型、运算符、控制语句等。
2. 理解函数的定义与调用,能够编写简单的自定义函数,并进行参数传递。
3. 了解数组、指针和字符串的使用,能够运用它们进行数据操作和存储。
4. 掌握基本的文件操作,如文件的打开、读写和关闭。
技能目标:1. 能够使用C语言编写简单的程序,解决问题并进行调试。
2. 能够运用逻辑思维和算法设计,解决基本的算法问题。
3. 能够分析并优化代码,提高程序的执行效率。
4. 能够通过编写代码,实现数据的存储和提取,进行文件操作。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习编程的热情。
2. 培养学生的逻辑思维和问题解决能力,增强自信心。
3. 培养学生的团队协作意识,学会与他人共同解决问题。
4. 培养学生注重程序规范和代码质量,养成良好的编程习惯。
课程性质:本课程为东华大学计算机科学与技术专业的学科基础课,旨在让学生掌握C语言的基本知识和编程技能。
学生特点:学生具备一定的计算机基础,对编程有一定了解,但可能缺乏深入理解和实践经验。
教学要求:结合学生特点,通过理论讲解、案例分析和实践操作,使学生在掌握C语言知识的同时,提高编程能力和问题解决能力。
教学过程中注重培养学生的实际操作能力和创新思维,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,使学生了解C语言的重要性和学习价值。
相关教材章节:第一章 C语言概述2. 数据类型、运算符与表达式:讲解基本数据类型、变量声明与赋值,各类运算符的使用及表达式求值。
相关教材章节:第二章 数据类型与表达式3. 控制语句:介绍顺序结构、选择结构(if-else)、循环结构(for、while、do-while),以及跳转语句(break、continue、goto)。
相关教材章节:第三章 控制语句4. 函数:讲解函数的定义、调用、参数传递、返回值,以及递归函数。
c语言课程设计带解析一、教学目标本课程旨在通过C语言的学习,使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生具备基本的编程能力,能够编写简单的C语言程序。
同时,通过编程实践,培养学生的逻辑思维能力、问题解决能力和创新意识。
此外,通过课程的学习,使学生了解计算机编程的基本原理和方法,培养学生对计算机科学的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体包括以下几个方面:1.C语言的基本语法和规则,如变量声明、数据类型、运算符、表达式等。
2.控制结构,如条件语句、循环语句等。
3.函数的定义和调用,包括主函数、用户自定义函数等。
4.基本的数据结构,如数组、字符串等。
5.指针的概念和应用。
6.结构体和文件操作等高级内容。
三、教学方法本课程采用讲授法、实践法、讨论法等多种教学方法相结合。
在教学过程中,教师将理论知识与实际编程案例相结合,通过生动的讲解和示例,帮助学生理解和掌握C语言的基本语法和编程方法。
同时,通过上机实践和编程作业,使学生能够将所学的知识应用于实际编程中,提高编程能力。
此外,鼓励学生之间的讨论和合作,培养学生的团队协作能力和问题解决能力。
四、教学资源为了保证本课程的顺利进行,需要准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C语言 Primer》等。
2.参考书籍:提供一些相关的参考书籍,如《C专家编程》、《C陷阱与缺陷》等,供学生自主学习参考。
3.在线资源:提供一些在线编程平台和资源,如LeetCode、Codeforces等,供学生进行编程练习和挑战。
4.实验设备:提供计算机实验室,让学生能够进行上机实践和编程实验。
以上是对本课程的教学目标、教学内容、教学方法和教学资源的详细设计。
希望通过这些设计,能够帮助学生更好地学习和掌握C语言,培养学生的编程能力和计算机科学素养。
c 课程设计报告范文一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生具备基本的编程能力和逻辑思维能力。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针、字符串、结构体等基本概念。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的编程能力和问题解决能力。
3.情感态度价值观目标:培养学生对编程的兴趣,增强学生的自信心和自主学习能力,培养学生的团队合作意识和创新精神。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。
2.控制结构:条件语句、循环语句、分支语句等。
3.函数:函数的定义和声明、函数的调用、参数传递、返回值等。
4.数组和指针:一维数组、多维数组、指针的概念和应用等。
5.字符串:字符串的基本操作、字符串数组、字符串指针等。
6.结构体和文件操作等高级内容:结构体的定义和使用、文件的基本操作等。
三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和演示,使学生掌握C语言的基本语法和概念。
2.讨论法:通过小组讨论和问题解答,培养学生的思考能力和问题解决能力。
3.案例分析法:通过分析实际案例,使学生了解C语言在实际编程中的应用。
4.实验法:通过编写和调试程序,使学生掌握C语言的编程技巧和调试方法。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。
2.参考书:提供一些相关的参考书籍,如《C语言深度探索》、《C指针》等。
3.多媒体资料:制作课件、演示文稿等多媒体资料,以图文并茂地展示C语言的基本概念和编程技巧。
4.实验设备:提供计算机实验室,让学生能够进行编程实践和调试。
c程序设计课程设计作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段等数据结构,以及文件操作、调试技巧等编程实践知识。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的程序调试和优化能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生独立思考、创新意识和团队合作能力。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。
2.控制结构:顺序结构、选择结构、循环结构等。
3.函数:函数的定义和声明、参数传递、返回值、局部变量和全局变量等。
4.数组和指针:一维数组、多维数组、字符串、指针的概念和应用等。
5.数据结构:结构体、共用体、位字段、链表、栈和队列等。
6.文件操作:文件的打开、关闭、读写、定位等操作。
7.编程实践:调试技巧、代码优化、算法分析等。
三、教学方法为了达到教学目标,本课程将采用以下几种教学方法:1.讲授法:通过讲解和演示,使学生掌握C语言的基本概念和语法。
2.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:安排上机实验,让学生动手编写程序,培养编程能力和实践能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的创新意识和团队合作能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程、在线课程等。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)、网络资源等。
c语言课程设计优秀论文一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力。
同时,通过编程实践,使学生能够熟练使用C语言进行程序设计,提高学生的动手能力和创新能力。
此外,通过课程的学习,使学生养成良好的编程习惯,培养学生的团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
在教学过程中,我们将按照教材的章节顺序进行讲解,并结合实际案例进行演示和分析。
具体的教学内容安排如下:1.第一章:C语言概述介绍C语言的历史、特点和应用领域,熟悉C语言的编译环境和基本语法。
2.第二章:数据类型和运算符学习C语言的基本数据类型、运算符及其使用方法。
3.第三章:控制结构学习条件语句、循环语句及其应用。
4.第四章:函数学习函数的定义、声明和调用,熟悉常用的库函数。
5.第五章:数组和字符串学习数组的概念和应用,字符串的操作。
6.第六章:指针学习指针的概念、运算和应用。
7.第七章:结构体和联合体学习结构体、联合体的定义和应用。
8.第八章:文件操作学习文件的概念、文件操作函数及其应用。
三、教学方法为了提高教学效果,我们将采用多种教学方法相结合的方式进行教学。
包括:1.讲授法:通过教师的讲解,使学生掌握C语言的基本知识和编程技巧。
2.案例分析法:通过分析实际案例,使学生更好地理解和掌握C语言的应用。
3.实验法:通过动手实践,使学生熟练掌握C语言的编程方法和技巧。
4.小组讨论法:通过小组合作,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言编程思想》3.多媒体资料:教学PPT、视频教程、在线编程练习平台4.实验设备:计算机、编程环境、调试工具五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多元化的评估方式。
c语言课程设计需求分析一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立编写C语言程序的能力。
具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、关键字、数据类型、运算符、表达式、语句、函数、数组、指针、结构体等基本概念。
2.技能目标:学生能够熟练使用C语言编写程序,解决实际问题,具备一定的编程能力和调试能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生独立思考、解决问题的能力,培养学生的创新精神和团队合作意识。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程思想。
具体安排如下:1.教材章节:–第1章:C语言概述–第2章:基本数据类型和运算符–第3章:控制结构–第4章:函数–第5章:数组和指针–第6章:结构体和文件–第7章:算法和编程思想2.教学内容:–C语言的基本语法和关键字–数据类型、运算符和表达式–控制结构:条件语句、循环语句–函数的定义和调用–数组、指针和字符串–结构体、文件操作–常见算法和编程思想三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解基本概念、语法和编程技巧,引导学生理解并掌握相关知识。
2.案例分析法:通过分析实际案例,让学生了解C语言在实际应用中的作用,提高学生的编程能力。
3.实验法:安排上机实验,让学生动手编写程序,培养学生的实际编程能力和解决问题的能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队合作意识和沟通能力。
四、教学资源本课程的教学资源包括:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:课件、教学视频、编程实例4.实验设备:计算机、编程环境(如Code::Blocks、Visual Studio等)5.网络资源:在线编程平台(如LeetCode、牛客网等)、开源代码库(如GitHub等)五、教学评估本课程的教学评估主要包括以下几个方面:1.平时表现:考察学生的课堂参与度、提问回答、小组讨论等,占总评的20%。
面向对象程序课程设计(2013/2014学年第一学期第17周)指导教师:庄巧莉、肖荣班级:计算机科学与技术3班学号:2012329620058姓名:胡冰倩面向对象程序课程设计任务书一、题目:电影院自动售票机有一个小型的电影院,这个电影院只有一个放映厅,厅里有10排座位,每排10个座位。
这个电影院从早上8:00开始营业,每2小时放映一部电影,营业至次日凌晨2点结束。
这个电影院现在打算使用自动售票机,来让观众自己购票。
现在请你为这个自动售票机编写一个程序,使得这个自动售票机能够正确工作。
二、目的:1、提高分析问题、解决问题的能力,进一步巩固面向对象程序设计中的基本原理与方法。
2、通过设计一个小型系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。
三、要求3.1总体要求1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
尤其是对编程软件的使用有基本的认识。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
3.2实施要求1、理解各种类设计方法及确切意义。
2、独立进行方案的制定,系统结构设计要合理。
3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。
在写课设报告时,必须要将主要函数的功能和参数做详细的说明。
3.3 课程设计报告的内容及要求在完成课题验收后,学生应在规定的时间内完成课程设计报告一份(不少于2000字),报告的内容和要求如下课程设计必须使用规定的课程设计实验报告本书写,并且要使用钢笔或用中性水笔,不能使用圆珠笔。
四、工作内容及工作计划:(一周,分散进行)五、成绩评定标准与考核:本课程设计的评价由三部分组成,包括程序演示(50%),课程设计报告(30%),回答教师提问(20%)。
1、程序演示:(1)优功能完善,全部测试正确,并且能够对局部进行完善(2)良功能完善,但测试欠缺(3)中功能基本完善,但程序尚有部分错误(4)及格实现了主要功能基本完善,有部分功能尚未实现。
(5)不及格功能不完善,且程序错误较多,无法运行2、课程设计报告:(1)优包括设计内容,设计思想,已经完成的任务及达到的目标,设计思路清晰、书写条理清楚,源程序结构合理、清晰,注释说明完整,有对本次课程设计的心得体会。
(2)良包括设计内容,设计思想,已经完成的任务及达到的目标,设计思路基本清晰、书写条理基本清楚,源程序结构合理、清晰,注释说明基本完整,有对本次课程设计的心得体会。
(3)中课程设计报告内容基本完整,思路较清晰,书写基本清楚,源程序结构尚可,有注释说明但不完整(4)及格课程设计报告内容基本完整,思路较差,书写尚清楚。
(5)不及格课程设计报告内容不完整,书写没有条理。
3、回答教师提问:(1)优能回答教师提出的所有问题,并完全正确,思路清晰(2)良基本能回答教师提出的所有问题,有些小错误(3)中基本能回答教师提出的问题,少数问题回答错误或不清楚(4)及格能回答教师提出的问题,但较多问题回答错误或不能回答(5)不及格基本不能回答教师提出的问题面向对象程序课程设计目录一、题目二、需求分析三、系统结构图四、类的设计五、程序代码与说明六、运行结果与分析七、心得与体会一.题目【题目】电影院自动售票机【目的】通过设计一个小型电影院的自动售票系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。
【要求】1、每个学生必须独立完成;2、课程设计时间为1周;3、设计语言采用C++;4、学生有事离校必须请假。
课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。
【内容简介】有一个小型的电影院,这个电影院只有一个放映厅,厅里有10排座位,每排10个座位。
这个电影院从早上8:00开始营业,每2小时放映一部电影,营业至次日凌晨2点结束。
这个电影院现在打算使用自动售票机,来让观众自己购票。
现在请你为这个自动售票机编写一个程序,使得这个自动售票机能够正确工作。
二、需求分析一开始显示的是所有可以预定的场次以及各场次的时间、票价、剩余座位数,选择场次之后会显示该场次的所有座位情况以方便顾客选择座位。
第二排座位价格是第一排的9.8折,第三排是第一排的9.6折,以此类推,每往后一排价格降低2%。
三、系统结构图四、类的设计1.电影类class Movie{char Data[20]; //电影播放日期char Time[20]; //电影播放时间int Number; //场次char MovieName[20];int Remain; //剩余的票int BasePrice; //基本票价即第一排票价bool seat[10][10];public:int Price;Movie(char*,char*,int,char*,double,int);void display();void Input();void run(int,int);};2.各成员函数的功能1)Movie::Movie(char *data,char *time,int number,char *moviename,double price,int remain){strcpy(Data,data);strcpy(Time,time);Number=number;strcpy(MovieName,moviename);BasePrice=price;Remain=remain;}类的构造函数用于初始化对象2)void Movie::display(){cout<<setw(10)<<Data<<setw(15)<<Time<<setw(7)<<Number;cout<<setw(20)<<MovieName<<setw(13)<<BasePrice<<setw(10)<<Remai n<<endl;}输出电影的日期、时间等信息3)void Movie::Input(){cout<<endl<<endl;cout<<" 该电影的座位情况如下:"<<endl;for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(seat[i][j]==1)cout<<"[有人] ";elsecout<<"[空位] ";}cout<<endl;}cout<<"________________________________________________________ ___________________"<<endl<<endl;}输出每个座位的情况,如果seat[][]=1表示有人4)void Movie::run(int i,int j){seat[i-1][j-1]=1;Price=BasePrice*(1-0.02*(i-1));Remain--;}每运行一次,代表卖出一张票,余票减一,把相应的座位值变为1五、程序代码与说明#include<iostream>#include<iomanip>using namespace std;class Movie{char Data[20]; //电影播放日期char Time[20]; //电影播放时间int Number; //场次char MovieName[20];int Remain; //剩余的票int BasePrice; //基本票价即第一排票价bool seat[10][10];public:int Price;Movie(char*,char*,int,char*,double,int);void display();void Input();void run(int,int);};Movie::Movie(char *data,char *time,int number,char*moviename,double price,int remain){strcpy(Data,data);strcpy(Time,time);Number=number;strcpy(MovieName,moviename);BasePrice=price;Remain=remain;}void Movie::display(){cout<<setw(10)<<Data<<setw(15)<<Time<<setw(7)<<Number;cout<<setw(20)<<MovieName<<setw(13)<<BasePrice<<setw(10 )<<Remain<<endl;}void Movie::Input(){cout<<endl<<endl;cout<<" 该电影的座位情况如下:"<<endl;for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(seat[i][j]==1)cout<<"[有人] ";elsecout<<"[空位] ";}cout<<endl;}cout<<"________________________________________________ ___________________________"<<endl<<endl;}void Movie::run(int i,int j){seat[i-1][j-1]=1;Price=BasePrice*(1-0.02*(i-1));Remain--;}int main(){int choice,i,j;Movie x1("2013-12-21","8:00-10:00",1,"画皮",81,100);Movie x2("2013-12-21","10:00-12:00",2,"哈利波特与凤凰社",95,100);Movie x3("2013-12-21","12:00-14:00",3,"泰囧",72,100); Movie x4("2013-12-21","14:00-16:00",4,"四大名捕",77,100);Movie x5("2013-12-21","16:00-18:00",5,"让子弹飞",89,100);Movie x6("2013-12-21","18:00-20:00",6,"泰坦尼克号",108,100);Movie x7("2013-12-21","20:00-22:00",7,"白狐",50,100);Movie x8("2013-12-21","22:00-0:00",8,"十二生肖",69,100);Movie x9("2013-12-22","0:00-2:00",9,"不二神探",112,100);while(1){cout<<" 所有电影情况如下"<<endl<<endl;cout<<setw(10)<<"日期"<<setw(15)<<"时-间"<<setw(7)<<"场次";cout<<setw(20)<<"电影名称"<<setw(13)<<"第一排票价"<<setw(10)<<"余票"<<endl<<endl;x1.display();x2.display();x3.display();x4.display();x5. display();x6.display();x7.display();x8.display();x9.display();cout<<"________________________________________________ ___________________________"<<endl<<endl;cout<<"请输入您要看的电影场次:";cin>>choice;switch(choice){case 1:x1.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x1.run(i,j);cout<<"该座位票价为"<<x1.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 2:x2.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x2.run(i,j);cout<<"该座位票价为"<<x2.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 3:x3.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x3.run(i,j);cout<<"该座位票价为"<<x3.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 4:x4.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x4.run(i,j);cout<<"该座位票价为"<<x4.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 5:x5.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x5.run(i,j);cout<<"该座位票价为"<<x5.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 6:x6.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x6.run(i,j);cout<<"该座位票价为"<<x6.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 7:x7.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x7.run(i,j);cout<<"该座位票价为"<<x7.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 8:x8.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x8.run(i,j);cout<<"该座位票价为"<<x8.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;case 9:x9.Input();cout<<"请输入您要预定的座位(如4 3,表示在第四排第三列;每往后一排座位价格降低2%):";cin>>i>>j;x9.run(i,j);cout<<"该座位票价为"<<x9.Price<<endl;cout<<"************************************************ *******************************"<<endl;break;default:cout<<"输入错误"<<endl;}}return 0;}六、运行结果与分析卖出一张票后,余票变为99,座位情况:七、心得与体会一开始设计类的时候只设置了一个Price用于存储电影票价,写后面的程序时,发现每卖出一张票后价格就会变化,所以后来又定义了一个BasePrice来代表基本票价,是不变的,Price代表座位票价,可根据座位的位置改变。