《C++程序设计》实训报告材料

合集下载

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。

掌握了c语言,可以说你就掌握了很多门语言。

学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。

c程序设计 实验报告

c程序设计 实验报告

c程序设计实验报告C程序设计实验报告引言:C程序设计是计算机科学中一门重要的编程语言,广泛应用于软件开发、系统编程等领域。

本实验报告旨在总结并分析我在C程序设计实验中的学习经验和成果。

实验一:基本语法和数据类型C语言作为一门结构化的编程语言,具有丰富的语法和数据类型。

在本实验中,我学习了C语言的基本语法,包括变量的声明和赋值、运算符的使用以及条件语句和循环语句的控制流程。

通过编写简单的程序,我熟悉了C语言的基本语法和数据类型的使用。

实验二:函数和指针函数是C语言中的重要概念,通过函数的封装和调用,可以实现程序的模块化和复用。

在本实验中,我学习了函数的定义和调用,了解了函数的参数传递和返回值的使用。

同时,我还学习了指针的概念和用法,掌握了指针变量的声明和指针运算的基本操作。

通过实验练习,我对函数和指针的使用有了更深入的理解。

实验三:数组和字符串数组和字符串是C语言中常用的数据结构,对于处理大量数据和字符操作非常重要。

在本实验中,我学习了数组的定义和使用,了解了数组的下标和内存分配的原理。

同时,我还学习了字符串的表示和处理方法,掌握了字符串的输入输出和常见操作函数的使用。

通过实验练习,我对数组和字符串的应用有了更深入的认识。

实验四:结构体和文件操作结构体是C语言中用于组织和管理复杂数据的一种方式,文件操作则是处理外部文件的重要技术。

在本实验中,我学习了结构体的定义和使用,了解了结构体成员的访问和结构体数组的操作。

同时,我还学习了文件的打开、读写和关闭操作,掌握了文件指针的使用和文件读写的基本流程。

通过实验练习,我对结构体和文件操作的应用有了更深入的了解。

实验五:动态内存分配和链表动态内存分配和链表是C语言中高级的数据结构和算法,对于处理动态数据和实现复杂逻辑非常重要。

在本实验中,我学习了动态内存分配的方法和使用,了解了malloc和free函数的原理和使用。

同时,我还学习了链表的定义和操作,掌握了链表的插入、删除和遍历等基本操作。

c程序课程设计实验报告

c程序课程设计实验报告

c程序课程设计实验报告一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和良好的编程习惯。

具体分解为以下三个方面的目标:1.知识目标:使学生了解C程序设计的基本概念,掌握C语言的基本语法和编程方法,包括变量、数据类型、运算符、控制结构、函数等。

2.技能目标:培养学生具备编写和调试C程序的能力,能运用C语言解决简单的实际问题,培养学生的创新能力和实践能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,培养学生良好的编程习惯和团队协作精神,提高学生的自主学习和问题解决能力。

二、教学内容本课程的教学内容主要包括C程序设计的基本概念、语法和编程方法。

具体安排如下:1.C程序设计基本概念:介绍计算机编程的基本概念,使学生了解C语言的特点和应用领域。

2.C语言语法:讲解C语言的基本语法,包括变量、数据类型、运算符、控制结构等。

3.C程序设计方法:教授编程方法,包括函数、数组、指针等,并通过实例使学生掌握编程技巧。

4.编程实践:安排一定的实验课时,使学生动手实践,培养学生的编程能力和问题解决能力。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性,提高教学效果。

具体方法如下:1.讲授法:讲解C程序设计的基本概念、语法和编程方法,使学生掌握理论知识。

2.案例分析法:通过分析典型案例,使学生了解编程技巧和方法,提高学生的实践能力。

3.实验法:安排实验课,使学生动手实践,培养学生的编程能力和问题解决能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队协作能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体如下:1.教材:选用权威、实用的教材,为学生提供系统的学习资源。

2.参考书:推荐学生阅读适量的参考书,丰富学生的知识体系。

3.多媒体资料:制作课件、教学视频等多媒体资料,提高教学的趣味性和直观性。

C语言程序设计实验报告(实验大纲+过程)

C语言程序设计实验报告(实验大纲+过程)

C语言程序设计实验报告(实验大纲+过程)C语言程序设计实验报告(实验大纲+过程)一、实验目的本实验旨在通过实际的C语言程序设计任务,培养学生的编程思维、动手能力,加深对C语言程序设计的理解和掌握。

二、实验内容1. 实验环境的搭建在计算机上安装C语言编程环境,如C语言编译器。

2. 实验材料准备根据给定的实验题目和要求,准备相应的实验材料,包括输入输出测试数据、参考文档等。

3. 实验任务根据实验题目,编写C语言程序,实现特定的功能要求。

程序需包括输入部分、处理部分和输出部分。

4. 程序调试与测试对编写完成的程序进行调试,确保程序的正确性。

使用多组测试数据进行测试,验证程序的功能是否符合要求。

5. 实验总结与思考对实验过程中遇到的问题进行总结,并提出改进建议。

思考课程的重点和关键,深化对C语言程序设计的理解。

三、实验步骤1. 实验环境的搭建在计算机上下载并安装C语言编译器,如Dev-C++或Code::Blocks等。

2. 实验材料准备根据实验题目要求,准备好实验所需的输入测试数据和输出要求。

3. 编写C语言程序根据实验题目,使用C语言编写程序。

在程序的开头部分添加必要的注释,说明程序的功能和使用方法。

4. 程序调试与测试编译并运行程序,查看是否存在语法错误。

使用给定的测试数据,验证程序的输出是否符合要求。

5. 实验总结与思考对实验过程中遇到的问题进行总结,并提出改进建议。

思考课程的重点和关键,深化对C语言程序设计的理解。

四、实验结果与分析根据实验题目要求,给出实验编写的C语言程序的详细代码,并解释程序的设计思路和实现方法。

同时,给出实验所得的输出结果,并分析结果是否符合预期。

五、实验心得体会通过完成本次实验,我对C语言程序设计的基本语法和思维方式有了更深入的理解。

在编写程序的过程中,我遇到了一些问题,但通过不断尝试和调试,最终顺利完成了实验任务。

在今后的学习中,我将进一步加强对C语言的理解和应用能力,提高程序设计的质量和效率。

c语言程序设计实验报告

c语言程序设计实验报告

c语言程序设计实验报告C语言程序设计实验报告。

本次实验是关于C语言程序设计的实验报告,主要内容是对C语言程序设计的学习和实践。

通过本次实验,我对C语言的基本语法和程序设计有了更深入的理解和掌握。

首先,本次实验的主要内容是关于C语言的基本语法和程序设计。

在实验中,我们学习了C语言的基本数据类型、运算符、控制语句、函数、数组、指针等内容。

通过实际的编程练习,我对这些内容有了更加具体和深入的了解。

在实验中,我学会了如何定义变量、使用不同类型的数据、编写循环和条件语句、设计函数和调用函数等基本的程序设计技巧。

其次,本次实验还涉及了C语言的程序设计实践。

在实验中,我们完成了一些简单的程序设计任务,比如实现一个简单的计算器、编写一个简单的学生成绩管理系统等。

通过这些实践,我对C语言的程序设计有了更加具体和深入的理解,也提高了我的编程能力和解决问题的能力。

在实验中,我还遇到了一些困难和问题。

比如在编写程序时,可能会出现语法错误、逻辑错误、运行时错误等。

但是通过仔细分析和调试,我逐渐克服了这些问题,也提高了自己的解决问题的能力。

总的来说,本次实验对我来说是一次很好的学习和锻炼机会。

通过实验,我不仅对C语言的基本语法和程序设计有了更深入的理解,也提高了自己的编程能力和解决问题的能力。

希望在以后的学习和工作中,能够继续努力,不断提高自己的编程水平,为将来的发展打下坚实的基础。

最后,我对C语言程序设计实验报告的编写就到此结束。

希望通过这次实验报告的撰写,能够对C语言程序设计有一个更加全面和深入的了解,也希望能够在以后的学习和工作中,能够更加熟练地运用C语言进行程序设计。

感谢老师和同学们在实验中给予我的帮助和支持,也希望在以后的学习和工作中,能够继续努力,不断提高自己的编程能力和解决问题的能力。

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。

一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。

C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。

在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。

非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。

通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。

通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。

C语言程序设计实习报告

C语言程序设计实习报告

C语言程序设计实习报告第一篇:C语言程序设计实习报告实习报告题目: C语言程序设计所属系、部 : 电气工程学院班级: 电子商务131 姓名:贺道君学号: 20***5 指导教师: 费玲玲2014年6月一、实习目的加深理解C语言基础知识及其编程技术,了解高级程序设计语言的结构,熟练掌握程序设计方法和技巧,掌握基本的分析和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。

二、实习时间、地点6月16日(星期一)上午:微机室5下午:微机室56月17日(星期二)3、4:微机室5下午:微机室36月18日(星期三)上午:微机室5下午:学校6月19日(星期四)上午:微机室5下午:微机室36月20日(星期五)上午:C101下午:学校三、实习内容综合四、实习总结在学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。

在为期一周周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。

好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。

在这里,我作为其中的参与者,自然感触良多刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。

回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。

然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。

可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。

说说函数。

虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。

学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。

c语言程序设计_实验一实验报告

c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。

2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。

3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。

4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。

实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。

程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。

C语言程序设计实习报告

C语言程序设计实习报告

C语言程序设计实习报告一、实习目的1. 巩固和加深对C语言程序设计的理解。

2. 掌握C语言编程的基本技巧和方法。

3. 提高分析问题、解决问题的能力。

4. 学会将理论知识应用于实际编程中。

二、实习内容XXX语言基础语法练习变量、数据类型、运算符、表达式等基础语法练习。

控制结构(顺序、分支、循环)的实现。

函数的定义和调用方式练习。

2. 模块化程序设计将一个大的程序分解成多个模块,每个模块完成特定的功能。

通过模块间的调用和传递数据来实现整个程序的功能。

3. 文件操作与文件读写文件的打开、关闭、读写操作练习。

文件格式的转换和数据统计处理。

4. 预处理指令与宏定义使用预处理指令进行条件编译和宏定义替换。

练习使用常见的预处理指令如include、define、ifdef等。

5. 结构体、链表与指针结构体的定义和使用。

链表的创建、插入、删除、遍历等操作。

指针的概念和指针运算。

深入理解指针与数组、结构体等数据结构的关系。

6. 位运算与嵌入式系统编程学习位运算符的使用和位段操作的实现。

嵌入式系统的基本概念和编程方法。

7. 综合项目实践参与或独立完成一个综合性C语言程序设计项目。

项目可以包括基于命令行参数的程序设计、基于文件操作的程序设计、基于网络编程的程序设计等。

三、实习过程1. 理论学习:通过教材、网络资源等途径学习C语言的基础知识和编程技巧。

2. 上机实践:在计算机上编写和调试C语言程序,不断巩固所学知识。

3. 问题解决:遇到问题时,通过查阅资料、请教老师或同学等方式解决问题。

4. 团队合作:在小组项目中与他人协作,共同完成任务。

四、实习收获1. 知识技能方面:深入理解了C语言的基本概念和编程技巧,掌握了模块化程序设计和文件操作等常用算法。

2. 解决问题能力方面:学会了如何分析问题、寻找解决方案并通过实践验证解决方案的正确性。

3. 团队协作能力方面:学会了与他人合作,共同完成任务,提高了团队协作能力。

4. 职业素养方面:培养了耐心、细致的工作态度和勇于尝试、敢于创新的探索精神。

c语言实习报告3篇

c语言实习报告3篇

c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

c语言程序设计实验报告模板

 c语言程序设计实验报告模板

c语言程序设计实验报告模板篇一:C语言程序设计实验报告一、实验目的:1、掌握C语言的数据类型和变量的声明。

2、掌握不同类型数据之间赋值的规律。

3、掌握C语言的运算符和表达式的使用。

4、熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:①输人程序:#includevoid main { int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); } ②运行此程序并分析结果(2)按习题4. 8要求编写程序题目为: 设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。

程序:三、实验步骤:①输人程序:#includevoid main { int a, b; float d,e; char c1,c2; double f, g; long m, n;unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果。

C语言程序设计实验报告

C语言程序设计实验报告

C语言程序设计实验报告实验报告:C语言程序设计一、实验目的本实验旨在通过学习C语言程序设计,培养学生的编程思维和解决问题的能力,掌握C语言的基本语法和常见的数据结构,为以后的编程工作打下坚实的基础。

二、实验内容1.C语言基础知识的学习和理解2.C语言程序设计的实践3.编写简单的C语言程序,如输入输出、循环、条件判断等基本操作4.使用C语言实现常见的数据结构,如数组、链表、栈、队列等三、实验过程1.学习C语言的基础知识,包括变量、常量、算术运算、逻辑运算、关系运算等。

2. 通过编写简单的程序来熟悉C语言的基本语法,如输出“Hello World”、计算两个数的和等。

3. 学习C语言的控制结构,如if语句、for循环、while循环等。

4.实现常见的数据结构,如数组、链表、栈、队列,并编写相应的操作函数。

5.在编写程序的过程中,加入适当的注释,提高代码的可读性和可维护性。

四、实验结果通过实验,我掌握了C语言的基本语法和常用的数据结构。

在实践过程中,我能够独立完成简单的C语言程序的编写,能够正确地使用各种控制结构来解决实际问题。

同时,我也学会了如何使用调试工具来找出程序中的错误并进行修正,提高了编程效率。

五、实验总结通过本次实验,我对C语言的程序设计有了进一步的了解和掌握。

C 语言是一门广泛应用于计算机领域的编程语言,掌握好C语言的编程技巧对于提高编程效率和代码质量非常重要。

在实验过程中,我发现编写注释对于代码的可读性和可维护性非常重要,因此在以后的编程过程中,我会养成良好的注释习惯。

同时,我还发现了一些自己在编程过程中常见的错误,如缺少分号、拼写错误等,以后会更加谨慎地避免这些错误的发生。

此外,我还会继续深入学习C语言的高级特性,如指针和动态内存分配等,不断提升自己的编程水平。

通过本次实验,我还学会了如何利用互联网资源解决编程问题,如查阅帮助文档、相关问题的解决方案等。

这为我今后在编程过程中遇到问题时寻找解决办法提供了极大的便利。

程序设计实训报告(9篇)

程序设计实训报告(9篇)

程序设计实训报告(9篇)【导语】程序设计实训报告怎么写出亮点?整理了9篇优秀的《程序设计实训报告》通用版范文,有规范的开头结尾写法和标准的书写格式。

是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。

【第1篇】程序设计实训报告程序设计实训报告1一,实训目的:加深对可视化编程技术基本学问的理解,把握运用vb开发应用程序的基本方法及基本技巧。

二,实训时间:20xx年10月20xx年11月三,实训方式:上机操作四,实训类容:这次在杨立雄老师的带领下,利用vb开发工具与数据库sql开发一个使用的小型管理信息系统。

我选择了学籍管理系统。

它的功能要求如下:1,学籍信息输入:实现同学基本状况的输入。

包括各个同学的状况,姓名,家庭号码,家庭住址,学号等各个信息。

2,学籍信息管理:本模块实现了信息的修改,删除,查询。

还有个人信息。

把信息统计这个繁琐的工作简洁化,为同学信息的管理方面提高工作效率。

3,学籍信息查询:通过输入学号便可以查询到这个同学的全部信息,包括姓名,性别,诞生年月,班级,入学日期,联系电话,嘉奖和成果表都一目了然,很大的便利了教工们查询同学信息的过程。

4,统计查询:实现查询全班人数,男女生比例等。

五,实训体会:这次实训,感觉既好玩又有些辛苦。

这还是老师担忧我们适应不了所以没教那么多学问,即使这样我们仍学到了比以前上学时更多的学问,而且这些学问有好多都是我们自己去领悟的到的。

我也知道有人比我们更累,所以我自觉得还是挺好的。

经过这次的实训,我真真实切的感受到了计算机在我们生活中工作中的运用,这些软件,程序能让我们提高工作的效率,更直观更便捷切入主题。

这次我们学习的是数据源的原理及应用的各方面学问,由老师带着我们不断操作。

vb能有效的组织,管理和共享数据库信息,能把数据库信息与ado结合在一起,实现数据库信息的共享。

同时,vb概念清楚,简洁易学,使用。

是适合企业管理人员,数据库管理员使用的首选。

《C语言程序设计》实验报告(实验1-11) 2013.3

《C语言程序设计》实验报告(实验1-11) 2013.3

《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:教材《C语言程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:教材《C语言程序设计教程》第2章。

三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。

《C语言程序设计》实训报告

《C语言程序设计》实训报告

《C语言程序设计》实训报告C语言程序设计实训报告一、实训目的本次实训旨在提高学生的C语言程序设计能力,培养学生的编程思维,并通过实践锻炼学生的动手能力,将所学的理论知识应用于实际编程中。

二、实训内容本次实训内容包括学习C语言的基本语法,掌握C语言程序的编写规范,学习使用C语言的基本数据类型和控制结构,了解C语言的函数和指针等概念,通过实践编写简单的C语言程序。

三、实训过程1.学习基本语法在实训开始前,我们首先学习了C语言的基本语法,包括变量的声明与定义、运算符的使用、条件语句和循环结构等。

通过阅读教材和课堂讲解,我们对C语言的语法有了初步的了解。

2.编写实验程序在掌握了基本语法后,我们开始编写实验程序。

实验题目包括简单的数学计算、字符串处理和数组操作等。

通过这些实验,我们巩固了所学的语法知识,并培养了编程的思维方式。

3.实验结果分析在编写程序的过程中,我们需要进行实验结果的分析和验证。

通过调试程序和比较实验结果与预期结果的差异,我们发现了一些程序错误,并逐步进行了修正。

这些经验对我们以后的编程工作将会非常有益。

四、实训收获通过本次实训,我对C语言的理论知识有了更深入的了解,学会了如何编写简单的C语言程序。

在编程过程中,我养成了认真阅读题目、分析问题的习惯,能够通过逻辑思维找到解决问题的方法,提高了我的动手能力和解决问题的能力。

五、不足与反思在实训过程中,由于时间有限,我只完成了实验内容的一部分,没有能够更深入地学习和掌握C语言的更高级特性和应用。

在以后的学习中,我会更加努力地提高自己的编程水平,不断完善自己的知识体系。

六、实训总结C语言是计算机科学的基础,在实训中,通过学习C语言的基本语法和编程思想,我得到了很大的收获。

我相信,通过不断的学习和实践,我能够更好地掌握C语言的编程技巧,为将来的编程工作打下坚实的基础。

同时,我还要感谢老师和同学们在实训中给予的帮助和支持,让我能够更好地完成这次实训。

《C语言程序设计》综合实习报告

《C语言程序设计》综合实习报告

《C语言程序设计》综合实习报告一、实习目的和任务本次综合实习是为了提高我们的C语言编程能力,培养我们解决实际问题的能力和团队合作精神。

实习的任务是通过编写C语言程序,完成指定的功能,包括字符串操作、数学运算和数组处理等。

二、实习内容和过程1.字符串操作我们首先学习了C语言中字符串的定义和基本操作,包括字符串的输入输出、连接、比较、查找等。

在实习中,我们编写了一个程序,实现了两个字符串的连接功能。

这个程序首先要求用户输入两个字符串,然后调用一个函数将这两个字符串连接起来,并输出结果。

这个实习让我们熟悉了字符串操作的方法,提高了我们对函数的编写和调用的能力。

2.数学运算接下来,我们学习了C语言中的数学运算,包括整数的加减乘除、浮点数的四则运算、取余和取模等。

为了巩固所学知识,我们编写了一个程序,实现了两个整数的相加和相除功能。

这个程序要求用户输入两个整数,然后调用不同的函数实现相应的运算,并输出结果。

这个实习让我们掌握了数学运算符的使用和函数的定义与调用。

3.数组处理最后,我们学习了C语言中的数组处理,包括数组的定义、初始化、访问和排序等。

为了加深理解,我们编写了一个程序,实现了对一个整型数组进行排序的功能。

这个程序首先要求用户输入一个整型数组,然后调用一个函数对数组进行排序,并输出结果。

这个实习让我们熟悉了数组的基本操作和函数的嵌套调用。

三、实习结果和总结通过本次综合实习,我们的C语言编程能力得到了提升。

我们掌握了字符串操作、数学运算和数组处理的基本方法和技巧,加深了对C语言的理解和应用。

我们学会了合理运用不同的函数,提高了编程效率和代码的可读性。

同时,我们也培养了团队合作精神,通过互相帮助和讨论,解决了实际问题。

在实习过程中,我们遇到了一些困难和挑战,但通过不断努力和坚持,最终取得了满意的成果。

通过这次实习,我们对C语言的学习充满了信心,相信在以后的学习和工作中,我们能够更好地运用C语言解决实际问题。

《C语言程序设计实验》实验报告

《C语言程序设计实验》实验报告

《C语言程序设计实验》实验报告实验目的:通过完成实验,加深对C语言程序设计的理解,掌握C语言中常用的编程技巧和方法,提高编程能力。

实验内容:本次实验包括以下三个实验题目:1.编写一个C程序,实现输入5个整数,然后按照从小到大的顺序输出这5个整数。

2.编写一个C程序,实现输入一个整数n,计算并输出从1到n的所有自然数的阶乘。

3.编写一个C程序,实现输入一个整数n,计算并输出n的前n项斐波那契数列。

实验步骤:1.第一个实验题目的完成步骤:1.1.定义一个长度为5的整型数组,用于存储输入的5个整数。

1.2. 使用for循环语句输入5个整数,并将其存储到数组中。

1.3.使用冒泡排序算法对数组进行排序。

1.4. 使用for循环语句输出排序后的数组。

2.第二个实验题目的完成步骤:2.1.定义一个变量n,用于存储输入的整数。

2.2. 使用for循环语句计算并输出从1到n的阶乘。

3.第三个实验题目的完成步骤:3.1.定义一个整型数组,用于存储斐波那契数列。

3.2.输入一个整数n,用于确定斐波那契数列的长度。

3.3. 使用for循环语句计算并输出前n项斐波那契数列。

实验结果:经过实验,我成功完成了以上三个实验题目,分别实现了输入5个整数按照从小到大排序输出、计算n的阶乘以及输出n的前n项斐波那契数列的功能。

实验总结:通过本次实验,我巩固了C语言的基础知识,掌握了数组、循环和排序算法等编程技巧。

在实验中,我发现了程序设计中的一些细节问题,并通过修改和调试解决了这些问题,提高了自己的编程能力。

在未来的学习中,我会继续深入学习C语言及其他编程语言,不断提升自己的编程水平。

C程序设计实验报告

C程序设计实验报告

C程序设计实验报告第一篇:C程序设计实验报告浙江理工大学信息学院C程序设计实验报告实验名称:学时安排:实验类别:实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

三、实验内容四、程序清单五、运行结果六、实验心得第二篇:分支程序设计实验报告[范文模版]实验二二分支程序设计一、实验目得: 1、学习分支程序得设计方法 2、熟悉在 PC 机上建立、汇编、连接、调试与运行汇编语言程序得过程二、实验环境:硬件环境IBM/ PC及其兼容机软件环境统操作系统 DO S编辑程序 EDIT 或其她编辑程序序程编汇ﻩ汇编程序 M ASM、E XE连接程序LIN K、EXE 序调试程序 DEB UG、EXE 三、实验内容::、在屏幕上显示如下信息:—-——-------—-—---——------—-Panda2——---——---—-—-———-----——-—--Catﻩ3-——--------------———--——-Ra bbit4——-——-——-——--——---—---——------Pig——------—--—--—-—---——---—EXI T(Plea sech oo se 1, 2, 3,4or 5)—-----入若输入 1, 显示“I lik eeppanda ”后程序结束;若输入 2, 显示“Ilik ecat” ”后程序结束;若输入 3,显示“Ilik erab bitt入”后程序结束;若输入4, 显示“Ido n’t llike pig ”后程序结束;若输入 5,程序直接结束;若输入其它字符,显示“Youpr ess an error key!“ 后程序结束.1)流程图2)源程序 DATA SEGMENTINFOR1 DB 0AH,0DH,”1-—-—----—-—Panda:$"INFOR2 DB0AH,0DH,”2—-—-——--———Cat:$”INFOR3 DB0AH,0DH,"3---—---——-—Rabbit;$”INFOR4 DB0AH,0DH,"4---—------—pig:$“INFOR5 DB 0AH,0DH,”5--—--——--—-EXIT:$"INFOR6DB 0AH,0DH,”(please choose 1,2,3,4 or 5——-):$“INFOR7 DB 0AH,0DH,”I like Panda:$“INFOR8DB 0AH,0DH,"I like Cat:$”INFOR9 DB 0AH,0DH,"I like Rabbit;$"INFOR10 DB 0AH,0DH,”I like pig:$"INFOR11 DB 0AH,0DH,”you press an error key!:$” DATA ENDS;数据段结束 CODE SEGMENT;代码段开始 Y Y Y Y N N N N N 开始选项用户输入 Al=1 Al=2 Al=3 Al=4 Al=5 You press an error key 结束 I like panda I like cat I like rabbit I like do notASSUMECS:CODE,DS:DATA;段寻址 START: MOV AX,DATA;将 data 得数据存入ax 中MOV DS,AX;为 ds 赋值MOV DX,OFFSETINFOR1;返回变量 INFOR1 段内偏移地址【运行后在屏幕上显示字符 1--——--—--—-Panda:】MOV AH,09HINT 21H;执行九号功能调用MOV DX,OFFSETINFOR2MOV AH,09HINT 21HMOV DX,OFFSETINFOR3MOV AH,09HINT 21HMOV DX,OFFSETINFOR4MOV AH,09HINT 21HMOV DX,OFFSETINFOR5;返回变量INFOR5 段内偏移地址【运行后在屏幕上显示字符5—-—--——----EXIT:】MOV AH,09HINT 21HMOV DX,OFFSETINFOR6MOVAH,09HINT 21HMOV AH,01HINT 21HCMP AL,“1’JEPandaCMP AL,'2’JECatCMP AL,”3’JERabbitCMP AL,’4'JE PigCMP AL,’5’JE PENDJMP Other Panda:MOV DX,OFFSET INFOR7MOV AH,09HINT 21HJMP PEND Cat:8ROFNI TESFFO,XD VOMﻩH90,HAVOMﻩH12 TNIﻩJMP PEND Rabbit:MOV DX,OFFSET INFOR9MOV AH,09HH12 TNIﻩJMP PEND Pig:MOV DX,OFFSET INFOR10H90,HA VOMﻩ INT 21HJMP PEND Other:MOV DX,OFFSET INFOR11MOV AH,09HH12 TNIﻩJMP PEND PEND:MOV AH,4CHINT 21H CODEENDSEND START2、、从键盘输入一字符,判断该字符就是小写字母、大写字母、数字或其它字符.若输入为小写字母, 显示“YYouI nput a Lo wer case Letter!”;若输入为大写字母, 显示“You Inp ut a Uppercase L et ter!”;若输入为数字,显示“Y oou Input aDigit!“;若输入为其它字符,显示“You Inpu tOt her Lettt er!”。

计算机c语言实训报告(精选5篇)

计算机c语言实训报告(精选5篇)

计算机c语言实训报告(精选5篇)计算机c语言实训报告篇1一、课题名称:简单计算器设计一个简单的程序来模拟计算器的功能。

二、设计目的:1、通过理论知识与实际需求相结合,编辑解决一些日常中的实际问题,培养初步的独立分析和设计能力。

2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用C语言进行程序设计的基本规范;3、重点掌握C语言的程序编写、函数设计、算法设计和程序调试方法;4、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

三、设计任务:1、通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、_、等运算符号),然后将其信息存入文件中。

输入一个算术计算式,就在屏幕上显示结果。

2、输入简单的加减乘除算术计算式,并在屏幕上显示计算结果;四、设计要求:1、用C语言实现程序设计并进行调试;2、画出查询模块的流程图;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机互交)。

5、完成设计(A4)。

五、代码设计:#include "stdio.h" main { float x,y;char operator;printf("x,yun suan fu ,y: "); scanf("%f%c%f",&x,&operator,&y); switch(operator){case '+': printf("%.2f+%.2f=%.2f",x,y,x+y); break; case '-':printf("%.2f-%.2f=%.2f",x,y,x-y); break; case '_':printf("%.2f_%.2f=%.2f",x,y,x_y); break; case '/': if(y==0) printf("chushushilingwuyiyi"); elseprintf("%.2f/%.2f=%.2f",x,y,x/y); break;default: printf("yunsunfuwuxiao"); } }?七、设计总结:学习C程序这门课一个学期了,这是我们学的第一门专业课,所以作为我这个计算机系的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个学期的学习,使我初步掌握了一些关于这门课的知识这次的课程设计是对我们一个学期来所学的知识的综合考察,里面涉及到了我们大多数所学知识。

最新《C语言程序设计》综合性实验实验报告

最新《C语言程序设计》综合性实验实验报告

最新《C语言程序设计》综合性实验实验报告实验目的:1. 巩固和加深对C语言程序设计基础知识的理解。

2. 掌握C语言的基本编程技巧和程序调试方法。

3. 提高解决实际问题的编程能力,培养综合运用C语言进行程序设计的能力。

实验内容:1. 实现一个基本的学生信息管理系统,包括学生信息的录入、查询、修改和删除功能。

2. 设计并编写一个简单的文本编辑器,支持文本的增删改查操作。

3. 开发一个计算器程序,能够进行基本的四则运算以及复杂运算如指数、开方等。

4. 利用C语言的文件操作功能,实现文件的读写操作,并对文件内容进行处理。

实验环境:- 操作系统:Windows 10- 编程工具:Code::Blocks IDE- 编译器:GCC 9.3.0实验步骤:1. 学生信息管理系统:- 设计学生信息的数据结构,包括学号、姓名、年龄、成绩等。

- 使用数组或链表存储学生信息。

- 实现用户界面,提供简单的文本菜单供用户选择操作。

- 对学生信息进行增删改查的函数实现。

- 测试程序,确保所有功能正常运行。

2. 简单文本编辑器:- 设计文本编辑器的基本功能,如打开文件、保存文件、文本输入输出等。

- 实现文本的插入、删除、查找和替换功能。

- 提供友好的用户界面,支持命令行操作。

- 对程序进行单元测试,确保文本编辑的准确性和稳定性。

3. 计算器程序:- 设计计算器的用户界面,支持用户输入运算表达式。

- 实现基本的四则运算功能。

- 扩展支持指数、开方等复杂运算。

- 对计算器进行测试,验证计算结果的准确性。

4. 文件处理程序:- 实现文件的打开、读取、写入和关闭功能。

- 设计文件内容处理功能,如统计文件中的单词数量、查找特定字符串等。

- 编写用户友好的命令行界面,方便用户操作。

- 对文件处理程序进行全面测试,确保文件操作的安全性和可靠性。

实验结果:通过本次综合性实验,成功实现了学生信息管理系统、文本编辑器、计算器和文件处理程序。

所有程序均通过了功能测试和性能测试,满足了实验的基本要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实用标准文案实训一:类和对象的定义及使用实训目的:(1)掌握类与对象的定义与使用方法,理解面向对象方法中通过对象间传递消息的工作机制。

(2)正确掌握类的不同属性成员的使用方法。

(3)掌握构造函数与析构函数的概念,理解构造函数与析构函数的执行过程。

(4)掌握友元函数和友元类的定义和使用。

(5)基本掌握指针和引用作为函数参数的应用。

实训内容:定义一个时间类Time,有三个私有成员变量Hour、Minute、Second,定义构造函数、析构函数以及用于改变、获取、输出时间信息的公有函数,主函数中定义时间对象,并通过调用各种成员函数完成时间的设定、改变、获取、输出等功能。

①按要求完成类的定义与实现。

②修改数据成员的访问方式,观察编译结果。

③在Time类中定义一个成员函数,用于实现时间增加一秒的功能,主函数中通过对象调用该函数,并输出增加一秒后的时间信息。

④定义一个普通函数。

void f(Time t){t. PrintTime( );}在Time类中增加拷贝构造函数的定义,主函数中调用该函数,运用调试工具跟踪,分析整个程序调用构造函数(包括拷贝构造函数)和析构函数的次数;再将f函数的形式参数分别修改为引用参数和指针参数(此时函数代码修改为{t-> PrintTime( );},主函数中调用,再分析此时调用构造函数和析构函数的次数。

实训代码:#include<iostream>using namespace std;class Time{private:int Hour,Minute,Second;public:Time(int h=0,int m=0,int s=0);Time(const Time &ob);~Time();void ChangeTime(int h,int m,int s);int GetHour();int GetMinute();int GetSecond();void PrintTime();void IncreaseOneSecond();};Time::Time(int h,int m,int s){Hour=h;Minute=m;Second=s;}Time::Time(const Time &ob){Hour=ob.Hour;Minute=ob.Minute;Second=ob.Second;}Time::~Time(){}void Time::ChangeTime(int h,int m,int s) {Hour=h;Minute=m;Second=s;}int Time::GetHour(){return Hour;}int Time::GetMinute(){return Minute;}int Time::GetSecond(){return Second;}void Time::PrintTime(){cout<<Hour<<": "<<Minute<<": "<<Second<<endl;}void Time::IncreaseOneSecond(){Second++;}/*void Time::f(Time t){t.PrintTime();cout<<"call f\n";}*/int main(){Time a;Time b(13);Time c(13,15);Time d(13,15,45);a.PrintTime();b.PrintTime();c.PrintTime();d.PrintTime();a.ChangeTime(12,15,45);b.ChangeTime(12,15,45);c.ChangeTime(12,15,45);d.ChangeTime(12,15,45);cout<<a.GetHour()<<":"<<a.GetMinute()<<":"<<a.GetSecond()<<endl; cout<<b.GetHour()<<":"<<b.GetMinute()<<":"<<b.GetSecond()<<endl; cout<<c.GetHour()<<":"<<c.GetMinute()<<":"<<c.GetSecond()<<endl; cout<<d.GetHour()<<":"<<d.GetMinute()<<":"<<d.GetSecond()<<endl; return 0;}程序运行结果实训小结:构造函数与析构函数的调用方式及执行顺序是:先是构造函数然后是析构函数。

调用方式是自动调用,执行顺序是先执行构造函数,待程序结束时再执行析构函数。

实训二:个人银行账户管理程序的类设计实训目的:掌握面向对象中类、继承、多态性的开发思想;掌握流的概念;独立设计个人银行账户管理程序。

实训内容:1、个人银行账户管理程序的类关系图2、个人银行账户管理程序的个人账户设置和应用3、个人银行账户管理程序实训代码:1、个人银行账户管理程序的类设计class account{private:std::string id;double balance;static double total;protected:account(const Date &date,const std::string &id);void record(const Date &date,double amount,const std::string &desc);void error(const std::string &msg) const;public:const std::string &getId() const {return id;}double getBalance() const {return balance;}static double gettotal() {return total;}void show() const; };class SavingsAccount:public account{private:accumulator acc;double rate;public:SavingsAccount(const Date &date,const std::string &id,double rate);double getrate() const {return rate;}void deposit(const Date &date,double amount,const std::string &desc);void withdraw(const Date &date,double amount,const std::string &desc);void settle(const Date &date); };class creditaccount:public account{private:accumulator acc;double credit;double rate;double fee;double getdebt() const {double balance=getBalance();return (balance<0 ? balance : 0); }public:creditaccount(const Date &date,const std::string &id,double credit,double rate,double fee);double getcredit() const {return credit;}double getrate() const {return rate;}double getfee() const {return fee;}double getavailablecredit() const{if (getBalance()<0)return credit+getBalance();Else return credit; }void deposit(const Date &date,double amount,const std::string &desc);void withdraw(const Date &date,double amount,const std::string &desc);void settle(const Date &date);void show() const; };class accumulator{private:Date lastdate; double value; double sum;public:accumulator(const Date &date,double value):lastdate(date),value(value),sum(0){}double getsum(const Date &date)const {return sum+value*date.distance(lastdate);}void change(const Date &date,double value){sum=getsum(date);lastdate=date;this->value=value;}void reset(const Date &date,double value){lastdate=date;this->value=value;sum=0; } };class Date{private:int year; int month; int day; int totaldays;public:Date(int year,int month,int day);int getyear() const{return year;}double getmonth() const{return month;}int getday() const{return day;}int getmaxday() const;bool isleapyear() const{return year%4==0 && year%100!=0 || year%400==0; } void show() const;int distance (const Date& date) const {return totaldays-date.totaldays; } };2、个人银行账户管理程序的类关系图3、个人银行账户管理程序的个人账户设置和应用SavingsAccount wutingming(date,"0901********",0.015);creditaccount wutingmin(date,"0901********",2000,0.0005,50);wutingming.deposit(Date(2008,11,5),1000,"buy book");wutingmin.withdraw(Date(2008,11,5),2000,"buy MP3");wutingming.settle(Date(2008,12,5));wutingmin.settle(Date(2008,12,5));wutingming.show();cout<<endl;wutingmin.show();cout<<endl;4、个人银行账户管理程序的重点代码#include "account.h"#include<iostream>using namespace std;int main(){Date date(2008,11,1);SavingsAccount sa1(date,"03755217",0.015);SavingsAccount sa2(date,"02342342",0.015);SavingsAccount wutingming(date,"0901********",0.015);creditaccount ca(date,"C5392394",10000,0.0005,50);creditaccount wutingmin(date,"0901********",2000,0.0005,50);sa1.deposit(Date(2008,11,5),5000,"salary");sa2.deposit(Date(2008,11,25),10000,"sell stock 0323");wutingming.deposit(Date(2008,11,5),1000,"buy book");wutingmin.withdraw(Date(2008,11,5),2000,"buy MP3");ca.withdraw(Date(2008,11,15),2000,"buy a cell");ca.settle(Date(2008,12,1));ca.deposit(Date(2008,12,1),2016,"repay the credit");sa1.deposit(Date(2008,12,5),5500,"salary");sa1.settle(Date(2009,1,1));sa2.settle(Date(2009,1,1));wutingming.settle(Date(2008,12,5));wutingmin.settle(Date(2008,12,5));ca.settle(Date(2008,12,1));cout<<endl;sa1.show();cout<<endl;sa2.show();cout<<endl;wutingming.show();cout<<endl;wutingmin.show();cout<<endl;ca.show();cout<<endl;cout<<"total: "<<account::gettotal()<<endl;return 0; }#include "account.h"#include<iostream>using namespace std;int main(){Date date(2008,11,1);SavingsAccount sa1(date,"s3755217",0.015);SavingsAccount sa2(date,"02342342",0.015);SavingsAccount wutingming(date,"0901********",0.015);creditaccount ca(date,"C5392394",10000,0.0005,50);account*accounts[]={&sa1,&sa2,&wutingming,&ca};const int n=sizeof(accounts)/sizeof(account *);cout<<"(d)deposit (w)withdraw (s)show (c)chang day (n)next month (e)exit"<<endl;char cmd;do{ date.show();cout<<"\ttotal: "<<account::gettotal()<<endl;cout<<"command>";int index,day,i;double amount;string desc;cin>>cmd;switch (cmd){case 'd':cin>>index>>amount;getline(cin,desc);accounts[index]->deposit(date,amount,desc); break;case 'w':cin>>index>>amount;getline(cin,desc);accounts[index]->withdraw(date,amount,desc); break;case 's':for (i=0;i<n;i++){cout<<"["<<i<<"]";accounts[i]->show();cout<<endl; } break;case 'c':cin>>day;if (day<date.getday())cout<<"you cannot specify a previous day";else if (day>date.getmaxday())cout<<"invalid day";else date=Date(date.getyear(),date.getmonth(),day); break;case 'n':if(date.getmonth()==12)date=Date(date.getyear()+1,1,1);else date=Date(date.getyear(),date.getmonth()+1,1);for(i=0;i<n;i++)accounts[i]->settle(date); break; }}while (cmd!='e');return 0;}程序运行结果实训小结:通过本实训,应用虚函数和抽象类对程序进行改进:1)将show函数声明为虚函数,因此通过指向creditaccount类实例的account类型的指针来调用show函数时,被实际调用的将是creditaccount类定义的show函数。

相关文档
最新文档