北邮c++小学期实验报告

合集下载

北邮 C++计算机实习报告

北邮 C++计算机实习报告

计算机实习报告一.功能说明1.1总体功能说明本工程用C++语言实现了俄罗斯方块经典游戏。

俄罗斯方块游戏特点:俄罗斯方块的基本规则是通过键盘控制移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分,上手简单,是一款经典游戏。

在经典玩法(正常模式)的基础上,本程序还添加了挑战模式,即在游戏伊始时在游戏区域中随机分布方块,减小了留给玩家调整方块的时间和区域,需要通过玩家不断填补消行才能把游戏进行下去。

游戏会随着玩家的得分的增多而加大方块下落的速度,从而增加游戏难度,因此也在原来的基础上大大增加了游戏的可玩性。

游戏中还增加了Esc键的功能,从而可以实现暂停游戏和退出游戏的功能。

1.2用户界面这是游戏的初始界面。

出现游戏名,根据提示,玩家按下“c”“n”即可自行选择挑战模式和正常模式,难度不同。

这样既明确了游戏名称,提供两种模式的入口,又给玩家一个准备的时间以自行控制游戏开始,不必一打开文件就突然开始游戏,增加了游戏的人性化。

以上两图为进入游戏后的主界面,分别为正常模式和挑战模式。

中间的区域为游戏主要界面,游戏从上往下随机产生并自动输出七种方块,对俄罗斯方块的基本操作如←(左移),→(右移),↑(方块变形),↓(加速下落)都在此区域里完成。

最上方显示的是模式。

右边的区域显示一些与游戏相关的信息,从上往下分别是下落速度、游戏得分、游戏操作说明,编者信息。

此图为按下“Esc”键后出现的画面。

程序支持Esc键暂停的功能,即按下后,按Y键退出,按N键可继续游戏,玩家中途有事离开,回来后也可继续游戏,提供了方便。

1.3使用方法打开程序后根据屏幕上的提示信息,按下回车键以进入游戏界面开始游戏。

进入游戏界面后,根据屏幕右下方的游戏说明,通过键盘上←(左移),→(右移),↑(方块变形),↓(加速下落)控制方块。

游戏过程中,可按“Esc”键暂停,并可以通过“Y”和“C”键选择退出和继续。

游戏结束之后,通过键盘按键“Y”和“N”选择是否退出游戏。

北邮实验报告

北邮实验报告

北邮实验报告北邮实验报告一、引言北邮实验报告是北邮学子们在学习和科研过程中的重要一环。

通过实验报告,学生们能够将理论知识与实际操作相结合,提高实践能力和科学素养。

本文将探讨北邮实验报告的重要性、写作技巧以及对学生综合能力的培养。

二、北邮实验报告的重要性1. 培养学生的实践能力北邮实验报告是学生进行实验的重要成果之一。

通过实验报告的撰写,学生们能够将实验过程中的观察、实验数据和实验结果进行整理和分析,培养学生的实践能力。

实验报告要求学生具备实验设计、数据处理和结果解读等能力,这些能力对于学生未来的科研和工作都具有重要意义。

2. 提高学生的科学素养实验报告要求学生在撰写过程中对实验原理和相关理论进行理解和运用。

通过对实验原理的学习和实际操作的实践,学生们能够提高科学素养,深化对学科知识的理解和掌握。

实验报告还要求学生进行数据统计和结果分析,这有助于学生培养科学思维和逻辑思维能力。

三、北邮实验报告的写作技巧1. 清晰明了的结构实验报告的写作需要有清晰明了的结构,包括引言、实验目的、实验原理、实验步骤、实验结果和结论等部分。

每个部分要有明确的标题,以便读者能够快速理解报告的内容。

同时,各部分之间要有合理的过渡,使整篇报告具有逻辑性。

2. 简洁准确的语言实验报告要求使用简洁准确的语言进行描述。

学生们应该避免使用过多的修饰词和冗长的句子,以免使读者产生困惑。

同时,学生们要注意使用科技词汇和专业术语,以确保报告的准确性和专业性。

3. 数据处理和结果分析实验报告的数据处理和结果分析是重要的部分。

学生们应该学会使用合适的统计方法对实验数据进行处理,并能够对结果进行合理解释。

在结果分析中,学生们可以对实验结果和理论知识进行对比和讨论,以展示对学科知识的理解和运用能力。

四、北邮实验报告对学生综合能力的培养1. 科研能力的培养北邮实验报告要求学生进行实验设计和实验操作,培养学生的科研能力。

通过实验报告的撰写,学生们能够学会科学地制定实验方案,独立完成实验操作,并对实验结果进行分析和总结。

北邮程序设计实验报告

北邮程序设计实验报告

实验名称:程序设计实验实验时间:2023年X月X日实验地点:北邮计算机实验室一、实验目的1. 熟悉C语言编程环境,掌握基本的程序设计方法。

2. 通过实际编程,提高逻辑思维和问题解决能力。

3. 理解算法设计的重要性,掌握常用的算法设计方法。

二、实验内容本次实验主要分为以下几个部分:1. 编写一个计算两个整数相加的程序。

2. 编写一个计算两个整数相减的程序。

3. 编写一个计算两个整数相乘的程序。

4. 编写一个计算两个整数相除的程序(要求考虑除数为0的情况)。

5. 编写一个判断两个整数是否相等的程序。

三、实验步骤1. 打开C语言编程环境,创建一个新的项目。

2. 编写计算两个整数相加的程序:```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:\n");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数相加的结果为:%d\n", sum); return 0;}```3. 编写计算两个整数相减的程序:```c#include <stdio.h>int main() {int a, b, sub;printf("请输入两个整数:\n");scanf("%d %d", &a, &b);sub = a - b;printf("两个整数相减的结果为:%d\n", sub); return 0;}```4. 编写计算两个整数相乘的程序:```c#include <stdio.h>int main() {int a, b, mul;printf("请输入两个整数:\n");scanf("%d %d", &a, &b);mul = a b;printf("两个整数相乘的结果为:%d\n", mul);return 0;}```5. 编写计算两个整数相除的程序(考虑除数为0的情况):```c#include <stdio.h>int main() {int a, b, div;printf("请输入两个整数:\n");scanf("%d %d", &a, &b);if (b == 0) {printf("除数不能为0,请重新输入。

北邮程序设计实践报告

北邮程序设计实践报告

1.课题概述1.1课题目标和主要内容课程以培养学生动手实践能力为目的,重点是在学习C++程序设计和数据结构的基础上,使学生从实践中学习如何综合运用C++和数据结构的相关知识解决实际应用中的问题,了解程序设计的基本思想在具体实际应用中的体现,掌握分析问题、解决问题的方法,从而提高学生的编程能力,达到编程熟练、会调试、代码书写规范的基本要求,具备简单应用程序的设计、实现能力。

本次试验使用VS2008 的API平台1.2系统的主要功能简单的绘图程序,可以画出不同颜色的直线,矩形,圆形等。

2. 系统设计2.1 系统总体框架2.2 系统详细设计[1] 模块划分图及描述[2] 类关系图及描述[3] 程序流程图及描述2.3 关键算法分析算法1:窗口过程函数[1] 算法功能当按下菜单,或者点击窗口时,窗口需要运行这个消息处理函数。

[2] 算法基本思想在API里定义了一个函数为回调函数,当系统需要向窗口发送消息时,就会调用窗口给出的回调函数WindowProc,如果WindowProc函数不处理这个消息,就可以把它转向DefWindowProc函数来处理,这是系统的默认消息处理函数。

[3]代码逻辑LRESULT CALLBACK ccc_win_proc(HWND hwnd, //窗口句柄UINT message,WPARAM wParam,LPARAM lParam){ PAINTSTRUCT ps; // the display's paint struct HDC mainwin_hdc; //设备描述表static int menuId=0;int wmId = LOWORD(wParam);int wmEvent = HIWORD(wParam);switch (message) {case WM_CREATE:SetTimer(hwnd,1,1000,NULL);break;case WM_TIMER:InvalidateRect(hwnd,NULL,TRUE);break;case WM_COMMAND: //处理菜单消息switch (wmId) {case IDM_FIG1:menuId=IDM_FIG1;InvalidateRect(hwnd,NULL,TRUE);break;case IDM_FIG2:……………………} break;case WM_PAINT: //窗口刷新消息mainwin_hdc = BeginPaint(hwnd, &ps); //UpdateRegion为空//ccc_win_main(); //调用用户的绘图程序if (menuId){ cwin.open(hwnd, mainwin_hdc);switch (menuId){ case IDM_FIG1:……绘图程序……………………}EndPaint(hwnd, &ps); break;case WM_LBUTTONDOWN:getp1();break;case WM_LBUTTONUP:getp2();break;case WM_DESTROY:PostQuitMessage(0);break;default: // 调用默认的消息处理函数, 对其他的消息进行处理return DefWindowProc(hwnd, message, wParam, lParam); }return 0; }算法2:绘图函数(以矩形为例)[1] 算法功能运行函数时,绘出相应图形。

北邮,信息工程,大二上,小学期,C语言,大作业,实验报告

北邮,信息工程,大二上,小学期,C语言,大作业,实验报告

北邮,信息工程,大二上,小学期,C语言,大作业,实验报告北京邮电大学信息与通信工程学院10级小学期C程序设计实践实验报告题目:实验室物料管理系统班级:班姓名:学号:手机号:邮箱:一.功能描述:1.基本功能:(1)添加记录能够添加一条或多条记录,记录包括物料类别、名称、型号、价格、库存等数据。

(2)显示记录显示当前所有记录。

(3)更新记录能够修改已存在记录的信息,可按型号选择要更新的纪录并且选择更新的方式。

(4)删除记录实现删除指定型号记录的功能。

(5)查询记录实现按型号查找的基本功能。

(6)保存文件存储所有记录到文本文档wrecord.txt。

(7)读取文件从rrecord.txt读入所有记录,同时能实现在读入后继续添加记录并执行操作。

(8)统计总量能实现将各类别记录的库存总量存入文本文件total.txt的功能。

(9)排序实现基本功能的按库存量顺序排序,并且存储到文件。

(10)退出系统结束软件操作,释放内存后退出。

2.扩展功能:(1)统计时加入借出量的统计,使物料管理更健全。

(2)进入时需要输入用户名和密码,通过区分采购员和教师给与用户不同的功能使用权限,使程序的针对性更强。

(3)可以选择按照单价或型号进行查找,并给与用户随时退出到主菜单的选项。

(4)可以选择按照库存量或单价进行排序,并将结果打印。

二.数据结构描述:struct info{int type_a;//类型,因为是1到5,所以采用int型变量char name_b[10000];//名称char model_c[10000];//型号,因为二者都可能是字符数字混合,所以采用char型变量float price;//价格,有可能精确到分,所以选择float型变量,并且保留两位显示int inside;//库存int outside;//借出struct info *next;};三.程序模块描述:1.void buy(void);和void use(void);分别对应两种权限的使用者:采购员和实验室老师。

北邮小学期电子秤实验报告

北邮小学期电子秤实验报告

2015年小学期单片机设计实验报告题目:计价电子秤班级: 20班内序号:实验组号:学生姓名:指导教师:计价电子秤——2013211119班曾霜霜实验摘要本次我们制作的是基于压力传感器的既可显示重物质量又可输入单价计算总价的计价电子秤。

整个系统中,微控制器采用了Microchip公司的PIC16F877A,软件设计中涉及PORTA0作为模拟量输入端;用PORTB作为数字量输入端,连接键盘输入重物的单价;PORTA1-3作为数字输出端口连接液晶屏使能端,PORTC作为数字输出端口连接液晶屏,最终显示重物的种类,单价和总价。

概括的说,本实验是通过压力传感器形变后产生的模拟信号经过数模转换、量化、显示获得重物质量,然后输入单价后进行乘法运算的过程。

A b s t r a c tIn this experiment, we made a denominated electronic scale based on the pressure sensor, which can automatically display the weight of the heavy, input the unit price and even calculate the total price of the heavy. Throughout the system, the production of the Microchip cord--PIC16F877A is used as the microcontroller. Software design involves PORTA0 as simulation input port, the analog signal to the microcontroller and digital to analog conversion, as a digital enable output port to control the screen with PORTA1-PORTA3, using PORTB as the digital input port, connect the 4*4 keyboard input weight unit, PORTC as the digital output port is connected with the LCD screen, display the weight categories, unit price and total value.In summary, this experiment was carried out by the analog signal generated by the pressure sensor deformation after digital to analog conversion, quantization to get the weight display quality, and then enter the unit price after the multiplication process.关键字单片机——microcontroller 芯片——CMOS chip 计价——price calculating压力传感器——pressure sensor 模数转换——analog-digital conversion一.实验论证与比较1.压力传感器模块1.1设计思想压力传感器是本实验的核心部分。

北邮编程实验报告

北邮编程实验报告

实验名称:编程基础实验实验日期:2023年X月X日实验地点:北邮计算机实验室实验指导教师:XXX老师实验目的:1. 熟悉编程环境,掌握基本的编程技能。

2. 理解编程的基本概念和语法规则。

3. 培养逻辑思维和问题解决能力。

实验内容:本次实验主要涉及以下几个方面:1. 编程环境搭建2. 基本语法学习3. 编程实践实验步骤:一、编程环境搭建1. 安装编程软件:首先,在北邮计算机实验室的计算机上安装了Visual Studio Code,这是一个功能强大的代码编辑器,可以支持多种编程语言。

2. 配置环境变量:为了方便调用编程软件,我们将环境变量设置好,使得在命令行中输入软件名称即可启动。

二、基本语法学习1. 数据类型:学习了整型、浮点型、字符型等基本数据类型,并掌握了它们的特点和适用场景。

2. 运算符:了解了算术运算符、关系运算符、逻辑运算符等,并学会了如何使用它们进行简单的计算和判断。

3. 控制语句:学习了if-else语句、for循环、while循环等,掌握了如何控制程序的执行流程。

4. 函数:了解了函数的定义、调用和参数传递,学会了如何封装代码,提高代码的可读性和可重用性。

三、编程实践1. 编写计算器程序:根据所学知识,编写了一个简单的计算器程序,实现了加减乘除等基本运算。

2. 编写排序算法:学习了冒泡排序、选择排序、插入排序等基本排序算法,并实现了它们的代码。

3. 编写学生信息管理系统:根据实际需求,设计并实现了一个学生信息管理系统,包括添加、删除、修改和查询学生信息等功能。

实验结果:通过本次实验,我成功完成了以下任务:1. 熟悉了编程环境,掌握了基本的编程技能。

2. 理解了编程的基本概念和语法规则。

3. 培养了逻辑思维和问题解决能力。

实验总结:1. 编程环境搭建:在北邮计算机实验室,我成功安装了Visual Studio Code编程软件,并配置了环境变量。

2. 基本语法学习:通过学习,我掌握了数据类型、运算符、控制语句和函数等基本语法,为后续编程实践打下了基础。

北邮小学期C++程序设计实验报告

北邮小学期C++程序设计实验报告

实验报告计算机学院2010211312班10211490实验一简单C++程序设计一、实验目的:1、熟悉C++编程环境,掌握在Dev-C++开发环境下编写、编译、调试和执行C++程序的方法。

2、掌握C++基本语法、数据类型和程序控制结构,能够编写简单C++程序。

二、实验内容和要求:1、猜价格游戏编写C++程序完成以下功能:(1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数);(2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户做出相应的提示;(3)直到猜对为止,并给出提示。

三、算法设计思路:以时钟作为随机种子产生随机数并将其约束在1-1000范围内,座位商品价格供用户猜。

提示用户输入,根据用户输入的答案与正确价格比较提示用户重新输入,直到猜出正确价格时终止循环,并给出正确提示。

四、实验总结。

初步体会C++编程的语法特点,感悟与C的不同之处。

在助教提示下及时改正,产生1-1000之间的随机数应使用语句rand ()%1000+1而非rand()%1000,否则只能产生0-999,体会细节的重要。

实验二类与对象一、实验目的:1、理解面向对象程序设计的基本思想。

2、掌握面向对象程序设计的重要概念——类和对象。

3、掌握用类分析问题的基本方法,并用C++编程实现。

二、实验内容和要求:1、矩形编写C++程序完成以下功能:(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;(3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标;(4)观察矩形对象以及Point类成员的构造函数与析构函数的调用;(5)计算其面积,并输出。

2、友元编写C++程序完成以下功能:(1)定义一个Boat和Car两个类,他们都具有私用属性——重量;(2)编写一个函数,计算两者的重量和。

double TotalWeight(Boat& b, Car& c);三、算法设计思路1、定义point类,其中包含计算两点间距离的方法,即两点间坐标公式。

北邮计算机组成实验报告

北邮计算机组成实验报告

北邮计算机组成实验报告北邮计算机组成实验报告一、实验概述计算机组成实验是计算机科学与技术专业的一门重要实践课程,旨在通过实际操作和实验验证,加深学生对计算机硬件组成的理解和掌握。

本次实验的主要内容是通过搭建一个简单的计算机系统,包括CPU、存储器和输入输出设备等,来实现一个简单的指令执行过程。

二、实验目的1. 理解计算机系统的基本组成部分,包括CPU、存储器和输入输出设备等。

2. 掌握计算机指令的执行过程,包括指令的获取、解码和执行等。

3. 熟悉计算机系统的工作原理,包括时钟信号、总线传输和寄存器的使用等。

三、实验过程1. CPU设计与搭建在本次实验中,我们选择了基于MIPS架构的CPU进行设计和搭建。

首先,我们需要设计并实现CPU的指令集,包括算术运算、逻辑运算和数据传输等。

然后,根据指令集的要求,设计并实现CPU的控制逻辑电路,包括指令获取、解码和执行等。

最后,通过连接寄存器、ALU和存储器等组件,完成CPU的搭建。

2. 存储器设计与实现在计算机系统中,存储器是用于存储指令和数据的重要组成部分。

在本次实验中,我们选择了SRAM作为存储器的实现方式。

首先,我们需要根据CPU的指令集和数据需求,确定存储器的容量和位宽等参数。

然后,设计并实现存储器的读写控制电路,以实现指令和数据的读写功能。

最后,通过连接存储器和CPU,完成存储器的搭建。

3. 输入输出设备设计与实现在计算机系统中,输入输出设备用于与外部环境进行数据交互。

在本次实验中,我们选择了键盘和显示器作为输入输出设备的实现方式。

首先,我们需要设计并实现键盘的输入控制电路,以实现对输入数据的获取和传输。

然后,设计并实现显示器的输出控制电路,以实现对输出数据的显示和传输。

最后,通过连接输入输出设备和CPU,完成输入输出设备的搭建。

四、实验结果与分析通过实验,我们成功搭建了一个简单的计算机系统,并进行了指令执行的测试。

在测试过程中,我们编写了一些简单的程序,包括加法、乘法和逻辑运算等。

北邮 2011年小学期计算机实习报告

北邮 2011年小学期计算机实习报告

支持2进制、10进制、16进制数的加减乘除运算
支持2进制、10进制、16进制数的相互转化
2、自制小闹钟
制作一个小闹钟:
可多次定时进行提示和多次事件提醒(声音提示并弹出对话框进行事件提醒)
3、模拟信号发生器
制作一个模拟信号发生器:模拟信号和载波信号的频率、幅值可变
载波信号可以是正弦、方波、三角波,并且可加直流偏置
2011年小学期计算机实习报告
姓名:肖霄 班级:2009211207 学号:09211047 班内相关软件。了解并熟悉设计过程,从初步设计到实现到不断完善,掌握设计流程。
二 、实习任务
1、计算器程序
制作一个计算器程序:
② 点击“进制转换”,选择原始进制和目标进制进行换算
③ 点击菜单栏中的“帮助”,弹出使用说明对话框
④ 点击菜单栏中的“退出”,弹出对话框询问是否退出程序
2)设计流程
① 确定使用VB语言
② 明确实现功能:
支持2进制、10进制、16进制数的加减乘除运算
支持2进制、10进制、16进制数的相互转化
帮助选项显示程序使用说明
退出系统如若否则返回计算器界面,若确定结束程序。
③ 安置控件:
选择命令控件分别作为“科学计算”,“进制转换”命令;
用命令控件做数值以及符号输入按钮;
用文本框显示输入的数值;
④ 设计程序:
1
调制信号频率、幅值可变
画出信号波形
对该信号采样,并作文件存入磁盘中
可以适用幅度、频率两种调制方式
三、设计流程及源代码
(一)计算器
1)功能实现:用软件vb6.0来编写程序,生成exe程序

北邮小学期c++实验报告and程序文件

北邮小学期c++实验报告and程序文件

C++实验课总结张涛实验一:简单c++程序设计一、1、猜价格游戏编写C++程序完成以下功能:(1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数);(2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示;(3)直到猜对为止,并给出提示。

#include<iostream>#include<time.h>using namespace std;//使用命名空间std.int main(){srand(time(NULL));//将时钟数作为随机数种子int price,guess;price = rand() % 1000 + 1;//取余,获得1~1000的随机数cout << "please input the price:" << endl;do{cin >> guess;//记录玩家所输入数值if(guess > price)cout << "The price is lower than your guess,please input the price again:" << endl;if(guess < price)cout << "The price is higher than your guess,please input the price again:" << endl;//给予玩家比较大小的提示}while (guess != price);//循环结构cout << "The price you give is right.It cost " << price << "." <<endl;//获得正确答案system("pause");return 0;}2、计算N 以内的所有素数编写C++程序完成以下功能:(1)提示用户输入N;(2)计算出从2到N之间的所有素数;(3)将结果保存在一个文本文件中。

北邮14年小学期实验内容及要求1

北邮14年小学期实验内容及要求1

电路综合实验内容及要求本实验是基于avr单片机最小系统板的电路综合实验。

时间为9月1日——12日。

实验内容及要求如下:实验室开门时间早上8:30——晚上9:00. 期间不关门,安排同学值班。

实验时间上午8:30——11:30下午2:00——5:00晚上6:00——9:002个同学一组,自由组合,每组收100元实验押金,实验结束后交回实验器材退回押金。

实验室要求考勤,所以要按时来上课。

因病因事不能来的要请假,有假条。

没有假条一律按照旷课处理。

实验平台:avrstudio iccavr或者gcc单片机的学习:根据实验室提供的视频和网上资料,自学单片机入门知识。

完成下面的内容。

基本题目:熟悉单片机各个端口,针对端口的一些输入输出练习,中断,定时,AD转换等等。

例如:流水灯,秒表计时器(用数码管显示),按键控制蜂鸣器等等。

实验内容自拟,要求用到上述的功能。

完成这部分内容需要学习视频中的一些基本知识和单片机手册cn_mega16-16L.pdf目的:通过学习和练习,掌握单片机的基本端口和寄存器的运用。

为完成后面电路综合实验的较复杂的题目打基础。

扩展题目:与本组同学讨论,设计一个稍微复杂一些的题目,内容自拟,如所发材料中没有需要的元件,可以和老师协商外购。

目前实验室可以提供:超声波收发探头,红外收发探头,1602液晶,串口通信线,喇叭,4*4键盘,HS038B,DS1302,NE555,LM386,18B20,9014,可变电阻50k参考题目:闹钟(可设定初始时间。

带闹钟(要求可中断),星期显示,上下午显示,12小时24小时显示可调),万年历:带闰年,初始日期可调,也可加入时钟红外通信:模拟电梯系统:模拟遥控器系统:交通灯系统(双向显示红绿黄灯,要求有倒计时,对应绿灯亮时蜂鸣器短促鸣叫,对应红灯亮时蜂鸣器长时鸣叫)密码锁电子琴报告要求:要求每人提交一份实验报告。

实验数据同组共享。

交电子版,不需打印,由各小班学委收齐后,于完成实验一周内刻成光盘上交实验室存档。

北邮计算机院C小学期

北邮计算机院C小学期
using namespace std;
class shape
{
public:
float area()
{
return 1;
}
shape()xt");
("");
int n=1;
while(temp,20))
{
out<<n<<":"<<temp<<endl;
n++;
}
cout<<"数据已被写入测试.txt"<<endl;
}
int main()
{
LinkList P=new TeleBook;
P->next=NULL;
put();
int choice;
cout<<"请输入你的选择:";
cin>>choice;
while(choice!=0)
{
switch(choice)
{
case 1:P=CreatTelebook(P);break;
case 9:put();break;
default:cout<<"没有这个选项,请重新输入:";
}
cout<<"请输入你下一步要进行的操作(温馨提示:如果你忘记了操作菜单,请按9):"<<endl;
cin>>choice;
//system("cls");
}
wenjian(P);
}
s->next=p;
s=p;

北邮 微机原理实验报告

北邮 微机原理实验报告

北邮微机原理实验报告北邮微机原理实验报告引言:微机原理是计算机科学与技术专业的一门重要课程,通过学习和实践,我们可以深入了解计算机的组成结构和工作原理。

本次实验旨在通过对北邮微机原理实验的探索,加深对计算机硬件和软件的理解,并提升我们的实践能力。

一、实验目的本次实验的目的是熟悉计算机的硬件组成和工作原理,并通过实践操作加深对微机原理的理解。

具体包括以下几个方面:1. 熟悉计算机的硬件组成,包括中央处理器(CPU)、内存、硬盘等;2. 掌握计算机的启动过程和操作系统的加载;3. 理解计算机的指令集和指令执行过程;4. 学习计算机的输入输出设备和外部接口。

二、实验过程1. 实验一:计算机硬件的组装与连接在本实验中,我们需要将计算机的各个硬件组件进行正确的连接和组装。

首先,我们需要将主板与CPU、内存、显卡等硬件设备进行连接。

其次,我们需要将硬盘、光驱等存储设备与主板进行连接。

最后,我们需要将键盘、鼠标、显示器等外部设备与计算机进行连接。

通过这一步骤,我们可以了解计算机硬件的组成结构,并掌握正确的连接方式。

2. 实验二:计算机的启动过程和操作系统的加载在本实验中,我们需要了解计算机的启动过程和操作系统的加载过程。

首先,我们需要按下电源按钮,启动计算机。

然后,计算机会进行自检和硬件初始化,并加载操作系统。

在这个过程中,我们可以观察到计算机的启动画面和加载过程。

通过这一步骤,我们可以深入了解计算机的启动过程和操作系统的加载机制。

3. 实验三:计算机的指令集和指令执行过程在本实验中,我们需要学习计算机的指令集和指令执行过程。

首先,我们需要了解不同类型的指令,包括算术指令、逻辑指令、数据传输指令等。

然后,我们需要通过编写简单的汇编语言程序,来实现对数据的处理和操作。

在这个过程中,我们可以观察到指令的执行过程和结果。

通过这一步骤,我们可以深入理解计算机的指令集和指令执行过程。

4. 实验四:计算机的输入输出设备和外部接口在本实验中,我们需要学习计算机的输入输出设备和外部接口。

北邮实验报告模板

北邮实验报告模板

北邮实验报告模板
实验报告模板如下:
实验报告
标题:XXX实验报告
实验日期:(实验日期)
在本次实验中,我们通过实验手段对XXX进行了详细的研究和分析。

通过对实验数据的收集与处理,我们得出了XXX的结论。

本次实验充分展
示了实验方法的正确性和有效性,并为以后的相关研究提供了有益的借鉴。

引言:
(在这一部分,简单介绍实验的背景和目的)。

实验设备和试剂:
(列出实验中所使用的设备和试剂的名称和规格,包括仪器、设备、
试剂等)
实验步骤:
(按照一定的顺序,详细描述实验的步骤,包括操作方法、实验条件、观察点等)
实验数据和结果分析:
(记录和描述实验中所得到的数据,并对数据进行合理的分析和解释,可以使用图表等方式展示数据)
实验结论:
(总结实验中得到的结果和结论,可以简单指出本次实验的目的是否
实现)
实验思考:
(对本次实验中存在的问题进行讨论,提出改进的方法和建议)
附录:
(提供实验原始数据、实验过程中的照片、数据处理程序等附加信息)实验报告中的每个部分都需要清楚地描述实验的过程和结果,并对数
据进行合理的分析和解释。

报告要求简洁明了、层次分明,语言通俗易懂。

同时,实验报告中引用的文献需要做到格式规范和准确性。

完成一份规范
的实验报告需要认真对待,按照模板的要求逐一填写,以确保实验报告的
准确性和完整性。

北京邮电大学小学期农科院实习报告

北京邮电大学小学期农科院实习报告

北京邮电大学实习报告实习名称协力超越专业实习学院学生姓名班级学号实习时间实习地点中国农业科学院协力超越公司实习内容2013/7/9:数据调测2013/7/10:数据调测与WCDMA硬件介绍:RNC子系统、Node B子系统、RNC数据配置、Node B数据配置2013/7/11: WCDMA网络优化与网络规划、WCDMA基本原理、WCDMA关键技术2013/7/12:软件调试与路测实践、配置交换机实践学生实习总结(附页,不少于2000字)见附页实习成绩评定遵照实习大纲并根据以下三方面按五级分制(优秀、良好、中等、及格、不及格)综合评定成绩:1、思想品德、实习态度、实习纪律等2、技术业务考核、笔试、口试、实际操作等3、实习报告、分析问题、解决问题的能力实习评语:实习成绩:指导教师签名:实习单位公章年月日实习报告2013年7月9日至2013年7月12日,我们在中国农业科学院中兴协力超越实习基地进行了为期4天的实习,实习内容主要包括数据调测、WCDMA网络优化设计和WCDMA 硬件调测,最后一天进行了配置交换机的实验。

四天以来,我们掌握了和通信基站相关的知识,学到了很多工程相关的实践操作和理论知识,让我们开阔了眼界,增长了知识,有很大的收获。

专业实习的前两天,是由王运飞老师向我们讲解关于WCDMA的一些课程。

第一天我们学习了WCDMA硬件调测。

首先老师向我们介绍了无线通信的基础知识,包括移动通信的基础知识、双工技术、多址技术、无线传输技术等。

接下来我们学习了3G频谱规划的相关内容,具体包括IMT-2000的频谱分配、中国3G频谱分配、中国的3G频率规划、3G的标准化历程、3G的三种主要技术WCDMA、TD-SCDMA、CDMA2000及其比较。

随后老师有介绍了扩频通信原理的相关内容,具体包括扩频通信的理论基础、收发信机数据处理过程、信道编码及其原理、交织技术、信道编码和交织技术的使用。

这部分的知识由于我们在校内的通信原理课程上已经有所学习,所以接受起来感觉比较容易,老师主要讲了直接扩频通信的扩频和解扩,具体的数据处理过程。

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

面向对象程序设计与实践c++实验总结报告实验一简单C++程序设计1.猜价格游戏编写C++程序完成以下功能:(1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数);(2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示;(3)直到猜对为止,并给出提示。

题目1-1总结:1)本题需要随机生成整数,我开始只使用rand(),即price=rand();来生成随机整数但这样只是一个伪随机函数,每一次重新打开程序生成的数都是一致的。

因此加入时间随机种子:srand((unsigned)time(NULL))2)个人改进1:定义最大值最小值,在每次猜测数字时显示应猜的数字范围,作为提示。

想到这个是因为有一次猜了很多遍都没猜到,一时突然忘记猜到什么范围,然后往前翻猜过的数字和大小感觉相当麻烦,所以就添上了应猜范围,方便再一次猜数。

3)个人改进2:本来有一个判断条件判断生成的随机数是不是1~1000范围内,而后更进为随机生成整数对1000取余得到0~999整数,再+1得到1~1000的整数。

实验二类与对象1.矩形编写C++程序完成以下功能:(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;(3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标;(4)观察矩形对象以及Point类成员的构造函数与析构函数的调用;(5)计算其面积,并输出。

题目2-1总结:1)这一题是第一次用到class类的题目,开始并不明白为何要定义class,然后还需要区分public和private。

而后来去图书馆借了书看到c++最大特色就是可以封装,定义私有属性和公有函数,以确保有些函数和参数不会被轻易访问到,降低错误率。

2)class类在最起初定义时总是在class Rectangle那一行报错,经查书发现class定义最后一个大括号后有分号,开始并没有加上。

3)起初在调用class中函数时用c调用的方式,没有跟面向的对象结合,导致编译出错,而后从distance()改为p.distance()就正确了。

4)计算两点距离和面积运用开方和绝对值函数,前面若没有加头文件math.h则会报错。

5)输入左上角右下角坐标时,若输入不当,可能会出现面积为负值的情况,所以加上绝对值函数保证面积非负。

6)起初不知道构造函数和析构函数的定义和用法,经翻阅书籍和运行程序得知构造函数在创建对象时调用,可以有多个。

而析构函数则在释放对象时调用,一般每一个class中都只有一个默认析构函数。

且构造函数与类名称一致,析构函数则在类名称前加~。

2.友元编写C++程序完成以下功能:(1)定义一个Boat和Car两个类,他们都具有私用属性——重量;(2)编写一个函数,计算两者的重量和。

double TotalWeight(Boat& b, Car& c);题目2-3总结:1)友元函数:在两个对象中都使用到时,可以使用友元函数,并在类外单独定义。

友元函数是允许在类外访问类中的任何成员的。

开始在类外单独定义时跟类的成员函数单独定义混淆,写成了double Boat::TotalWeight(),导致编译错误,而后发现友元函数直接用函数名和函数返回值类型定义即可,不需要加上class类的名称。

2)起初定义完class Boat和class Car后发现编译错误,在友元函数的声明那一行出错,而后发现在这行之前没有定义Car类,于是将其在最开头声明出来,通过。

3)起初并没有加上boat和car类的构造函数和析构函数,可是经上网查阅,默认构造函数和析构函数可以系统自动生成,但析构函数只能删除成员指针,并不能释放指针指向的空间,所以若没有申请动态内存,析构函数可不写出,若申请,则需自行在析构函数中delete。

实验三数组与指针1.矩阵(一)编写C++程序完成以下功能:(1)假定矩阵大小为4×5(整型数组表示);(2)定义矩阵初始化函数,可以从cin中输入矩阵元素;(3)定义矩阵输出函数,将矩阵格式化输出到cout;(4)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;(5)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;(6)定义三个矩阵:A1、A2、A3;(7)初始化A1、A2;(8)计算并输出:A3 = A1加A2,A3 = A1减A2。

题目3-1总结:1)起初在矩阵相加相减的赋值中所用语句为:m.matrix[i][j]=a.matrix[i][j]+b.matrix[i][j]但是运行程序发现m矩阵所有元素都是0。

经单步调试,发现并没有赋值成功。

经查阅书籍,了解到this指针是指向类的对象的地址,便改用this->matrix[i][j]作为赋值对象,最后程序正确。

2)个人改进:将行数列数在文件开头用define定义,可以随时更改。

3)经多次调试后,程序运行结果正确,但矩阵看起来非常混乱,因为并没有行列对齐,于是在打印矩阵中每列直接用table空格隔开,保证美观。

2.矩阵(二)编写C++程序完成以下功能:(1)假定矩阵大小为4×5(整型);(2)矩阵空间采用new动态申请,保存在指针中;(3)定义矩阵初始化函数,可以从cin中输入矩阵元素;(4)定义矩阵输出函数,将矩阵格式化输出到cout;(5)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;(6)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;(7)动态申请三个矩阵:A1、A2、A3;(8)初始化A1、A2;(9)计算并输出A3 = A1加A2,A3 = A1减A2;(10)释放矩阵空间。

题目3-2总结:1)与3-1题目的区别在int main中用new函数动态申请内存,然后析构函数需要释放申请的空间而不只是自动删除指向空间的指针。

析构函数如图。

一开始并不知道该怎么动态申请内存,在c中使用malloc可是c++中并不一样。

经查阅书籍,发现c++中申请释放内存用new和delete非常简便。

2)指针调用类成员函数一开始不知道该怎么写,写成A1.input()结果编译错误。

经查阅书籍,得知指针调用成员函数需写成A1->input()的形式。

3)在释放动态内存时,用到delete函数。

但开始的时候写delete matrix时候会出问题。

上网查询后得到以下delete用法。

Delete用法:当释放内部类型,如int double型时,直接delete a 即可。

若是释放自己定义的class类型,需用delete[]matrix来释放内存。

3.矩阵(三)编写C++程序完成以下功能:(1)用类来实现矩阵,定义一个矩阵的类,属性包括:●矩阵大小,用lines, rows(行、列来表示);●存贮矩阵的数组指针,根据矩阵大小动态申请(new)。

(2)矩阵类的方法包括:●构造函数,参数是矩阵大小,需要动态申请存贮矩阵的数组;●析构函数,需要释放矩阵的数组指针;●拷贝构造函数,需要申请和复制数组;●输入,可以从cin中输入矩阵元素;●输出,将矩阵格式化输出到cout;●矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵类,但必须矩阵大小相同;●矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵类,但必须矩阵大小相同。

(3)定义三个矩阵:A1、A2、A3;(4)初始化A1、A2;(5)计算并输出A3 = A1加A2,A3=A1减A2;(6)用new动态创建三个矩阵类的对象:pA1、pA1、pA3;(7)初始化pA1、pA2;(8)计算并输出pA3=pA1加pA2,pA3=pA1减pA2;(9)释放pA1、pA1、pA3。

题目3-3总结:1)拿到这道题我认为要定义一个矩阵类对象,其中包括3-1和3-2一样的input函数,print函数,plus函数,subtract函数,还有新增的构造函数析构函数。

一上来我认为class中属性不再是之前的某行某列的数值,而是行数和列数还有矩阵的头指针。

根据输入的行数列数来申请内存,再将数值存入不同的位置。

然后在主函数中分为两个部分,一个是直接创建对象,另一个是创建矩阵数组指针。

2)第一部分跟前两题类似,所以很快就调试完成并且得到了正确的结果,但是指针部分一直出现问题。

最开始是三个矩阵分别申请内存,这样的后果就是要输入三次行数和列数的数值,有可能出现行列数不相等的情况,给之后的加减操作带来麻烦。

因此想到让A1矩阵申请内存,而让A2、A3矩阵都与A1相等,就可以避免多次输入行列数,且保证了矩阵大小相等。

但这样输入第一个矩阵数值后,矩阵元素获取正常。

可当输入第二个矩阵的数值以后,A1和A2矩阵的元素都变为第二个矩阵的元素,即第一个矩阵的元素被覆盖掉。

导致和矩阵为第二个矩阵的2倍,差矩阵都是零。

经过反复调试,曾经试过将含参构造函数中输入行列数改到主函数中,再给A1申请动态内存。

但是因为A2和A3还是初始化跟A1相等,结果并没有改变,还是错误的。

而后想到用含参构造函数来申请动态内存,输入固定的行列数后,用确定的行列数来new Matrix(x,y),这样一来不仅矩阵大小相等,而且也不会存在前一个矩阵的值被后一个覆盖掉的问题。

经过调试,终于得到了正确的结果。

3)调试过程中我了解到指针初始化和赋值过程中是容易发生树脂覆盖的,所以尽量不要将指针初始化成跟某个指针相等。

实验四继承与派生1、形状(一)编写C++程序完成以下功能:(1)声明一个基类Shape(形状),其中包含一个方法来计算面积;(2)从Shape派生两个类矩形和圆形;(3)从矩形派生正方形;(4)分别实现派生类构造函数、析构函数和其他方法;(5)创建派生类的对象,观察构造函数、析构函数调用次序;(6)不同对象计算面积。

题目4-1总结:1)这一题主要是函数的派生方法使用,经过查阅书籍,得知在class定义后加上:: public(基类名称)便是作为一个派生类的定义,可以沿用基类中的成员函数。

2)并且经过对构造函数和析构函数调用,得知是先调用基类的构造函数,再调用派生类的构造函数创建派生类对象,在程序结束时,先调用派生类的析构函数释放派生类对象,再调用基类的析构函数释放基类对象。

2、形状(二)——虚函数(1)将【形状(一)】中的基类计算面积的方法定义为虚函数,比较与【形状(一)】程序的差异;(2)将【形状(一)】中的基类定义抽象类,比较与【形状(一)】程序的差异。

题目4-2总结:1)起初并不知道虚函数的作用,后来经过查阅书籍得知在基类中定义虚函数,是为了在派生类中定义这一函数的不同操作方式。

相关文档
最新文档