当前位置:文档之家› qt画图实验报告doc

qt画图实验报告doc

qt画图实验报告doc
qt画图实验报告doc

qt画图实验报告

篇一:QT综合作业实验报告

一、实验目的

1,了解并掌握Qt集成开发环境下使用Qt Designer 开发图形界面程序的流程和相关

操作;

2,了解并掌握Qt的信号槽和信号传递机制,并通过具体应用加深理解;

3,了解并掌握使Qt应用程序支持中文或国际化的方法,并在本次实验中使用; 4,了解并掌握QPainter的translate、shear等库函数的使用方法和Widget类的使用方法,并通过本次实验加深理解;

5,掌握在Qt Designer界面上为菜单项添加工具栏按钮、创建相应槽函数的方法; 6,了解并掌握使用双缓冲机制绘图的方法。

二、实验环境

操作系统:Windows 7

应用软件:Qt Creator

开发平台:qt-sdk-win-opensource-XX.04

三、程序流程图

:

四、核心源代码

mainwindow.cpp的内容(实现菜单项的功能和绘图功能的调用)

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include "donewdialog.h"

#include

#include

#include

#include "aboutdialog.h"

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

setWindowTitle(tr("Qt绘图板"));

setFixedSize(700,500); //主窗口大小设为700*500

area = new PaintArea;

scrollArea = new QScrollArea;

scrollArea->setBackgroundRole(QPalette::Dark); //scrollArea对象的背景色设为Dark scrollArea->setWidget(area); //将画布添加到scrollArea中

scrollArea->widget()->setMinimumSize(800,600); //scrollArea初始化大小设为800*600

ui->dockWidget->hide();

setCentralWidget(scrollArea); //将scrollArea加入到主窗口的中心区

isSaved = false;

curFile = tr("未命名.png");

creatColorComboBox(ui->penColorComboBox); //画笔颜色组合框

creatColorComboBox(ui->brushColorComboBox); //填充颜色组合框

}

MainWindow::~MainWindow()

{

delete ui;

}

void MainWindow::changeEvent(QEvent *e)

{

QMainWindow::changeEvent(e);

switch (e->type()) {

case QEvent::LanguageChange:

ui->retranslateUi(this);

break;

default:

break;

}

void MainWindow::doOpen()

{

if (maybeSave())

{

QString fileName = QFileDialog::getOpenFileName(this,

tr("打开文件"), QDir::currentPath());

if (!fileName.isEmpty())

{

area->openImage(fileName);

scrollArea->widget()->resize(area->getImageSize());

//获得图片的大小,然后更改scrollArea的大小

isSaved = true;

curFile = fileName;

}

}

void MainWindow::doNew()

{

if(maybeSave())

{

DoNewDialog dlg;

if(dlg.exec() == QDialog::Accepted)

{

int width = dlg.getWidth();

int height = dlg.getHeight();

area->setImageSize(width,height); scrollArea->widget()->resize(width,height); area->setImageColor(dlg.getBackColor()); isSaved = false;

}

}

bool MainWindow::maybeSave()

{

if(area->isModified())

{

QMessageBox::StandardButton box;

box = QMessageBox::warning(this,tr("保存文件"),tr("图片已经改变,是否保存?"), QMessageBox::Yes|QMessageBox::No|QMessageBox::Cance l);

if(box == QMessageBox::Yes)

{

return doFileSave();

}

else if(box == QMessageBox::Cancel)

{

return false;

}

return true;

}

bool MainWindow::doFileSave()

{

if(isSaved)

{

return saveFile(curFile);

}

else return doFileSaveAs();

}

bool MainWindow::saveFile(QString fileName) {

if(area->saveImage(fileName,"png"))

篇二:C++实验报告-QT PaintPad

《面向对象程序设计与C++》实验报告

报告创建时间:

篇三:QT实验五QT绘图基础实验

QT绘图基础实验

(一)编程绘图实现显示时钟窗口

使用定时器和QPAINTER类绘制时钟,包括使用刷子、画笔、定义坐标旋转、刻度定义、画线等函数,完成时钟实时显示。

定义一个GUI工程,包含下列文件:

源文件analogclock.h代码

#include

class AnalogClock : public QWidget

{

Q_OBJECT

public:

AnalogClock(QWidget *parent = 0);

protected:

void paintEvent(QPaintEvent *event);

};

源文件main.cpp代码

#include

#include "analogclock.h"

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

AnalogClock clock;

clock.show();

return a.exec();

}

源文件AnalogClock.cpp代码

#include

#include "analogclock.h"

AnalogClock::AnalogClock(QWidget *parent) : QWidget(parent)

{

QTimer *timer = new QTimer(this);

基本运算电路实验报告

实报告 课程名称:电路与模拟电子技术实验指导老师:成绩: 实验名称:基本运算电路设计实验类型:同组学生姓名: 一、实验目的和要求: 实验目的: 1、掌握集成运算放大器组成的比例、加法和积分等基本运算电路的设计。 2、了解集成运算放大器在实际应用中应考虑的一些问题。 实验要求: 1、实现两个信号的反向加法运算 2、用减法器实现两信号的减法运算 3、用积分电路将方波转化为三角波 4、实现同相比例运算(选做) 5、实现积分运算(选做) 二、实验设备: 双运算放大器LM358 三、实验须知: 1.在理想条件下,集成运放参数有哪些特征? 答:开环电压增益很高,开环电压很高,共模抑制比很高,输入电阻很大,输入电流接近于零,输出电阻接近于零。2.通用型集成运放的输入级电路,为啥均以差分放大电路为基础? 答:(1)能对差模输入信号放大 (2)对共模输入信号抑制 (3)在电路对称的条件下,差分放大具有很强的抑制零点漂移及抑制噪声与干扰的能力。 3.何谓集成运放的电压传输特性线?根据电压传输特性曲线,可以得到哪些信 息? 答:运算放大器的电压传输特性是指输出电压和输入电压之比。4.何谓集成运放的输出失调电压?怎么解决输出失调? 答:失调电压是直流(缓变)电压,会叠 加到交流电压上,使得交流电的零线偏移 (正负电压不对称),但是由于交流电可 以通过“隔直流”电容(又叫耦合电容) 输出,因此任何漂移的直流缓变分量都不 能通过,所以可以使输出的交流信号不受 失调电压的任何影响。 专业: 姓名: 日期: 地点:紫金港东

5.在本实验中,根据输入电路的不同,主要有哪三种输入方式?在实际运用中这三种输入方式都接成何种反馈形式,以实现各种模拟运算? 答:反相加法运算电路,反相减法运算电路,积分运算电路。都为负反馈形式。 四、实验步骤: 1.实现两个信号的反相加法运算 实验电路: R′= Rl//R2//RF 电阻R'的作用:作为平衡电阻,以消除平均偏置电流及其漂移造成的运算误差 输入信号v s1v s1输出电压v o ,1kHz 0 2.减法器(差分放大电路) 实验电路: R1=R2、R F=R3 输入信号v s1v s1输出电压v o ,1kHz 0 共模抑制比850 3.用积分电路转换方波为三角波 实验电路: 电路中电阻R2的接入是为了抑制由I IO、V IO所造成的积分漂移,从而稳定运放的输出零点。 在t<<τ2(τ2=R2C)的条件下,若v S为常数,则v O与t 将近似成线性关系。 因此,当v S为方波信号并满足T p<<τ2时(T p为方波半个周期时间),则v O将转变

C语言程序设计实验报告参考答案

长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() { printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { inta,b,c; a=0; b=-10; c=(a>b)?b:a; printf("c=%d\n",c); }

中间代码生成实验报告doc

中间代码生成实验报告 篇一:编译方法实验报告(中间代码生成器) 编译方法实验报告 XX年10月 一、 实验目的 熟悉算术表达式的语法分析与中间代码生成原理。 实验内容二、 (1)设计语法制导翻译生成表达式的四元式的算法; (2)编写代码并上机调试运行通过。 输入——算术表达式; 输出——语法分析结果; 相应的四元式序列。 (3)设计LL(1)分析法或LR(0)分析法的属性翻译文法,并根据这些属性翻译文 法,使用扩展的语法分析器实现语法制导翻译。 三、实验原理及基本步骤 ●算术表达式文法: G(E):E ? E ω0 T | T T ? T ω1 F | F F ? i | (E) ●文法变换:

G’(E) E ? T {ω0 T(本文来自:小草范文网:中间代码生成实验报告)} T ? F {ω1 F} F ? i | (E) ●属性翻译文法: E ? T {ω0 “push(SYN, w)” T “QUAT”} T ? F {ω1 “push(SYN, w)” F “QUAT”} F ? i “push(SEM, entry(w))” | (E) 其中: push(SYN, w) —当前单词w入算符栈SYN; push(SEM, entry(w)) —当前w在符号表中的入口值压入语义栈SEM; QUAT —生成四元式函数 i.T = newtemp; ii.QT[j] =( SYN[k], SEM[s-1], SEM[s], T); j++; iii.pop( SYN, _ ); pop( SEM, _ ); pop( SEM, _ ); push( SEM, T ); ●递归下降子程序: 数据结构:SYN —算符栈; SEM —语义栈; 四、数据结构设计 使用递归的结构进行四元式的设计,同时,运用堆栈

计算机网络基础模拟器实验报告

计算机网络模拟器实验报告 实验说明:共5个实验,其中前3个必做,后2个选做。 一、实验目的 1、掌握模拟器软件的使用方法; 2、掌握配置PC、交换机、路由器的方法; 3、掌握为交换机设置VLAN,为端口设置TRUNK的方法。 二、实验环境(请注意关闭杀毒软件) WinXP/WIN7、HW-RouteSim 2.2(软件请到BB课程 资源下载,下载后直接解压缩运行;下载前请关闭 杀毒软件) 三、实验步骤及结果 实验一:计算机和交换机基本设置 添加一个交换机,两个计算机,连接A电脑到交换机3号端口,B电脑到6号端口,双击交换机,进入终端配置: system password: [Quidway]sysname S3026 ;交换机重命名为S3026

[S3026]super password 111 ;设置特权密码为111 [S3026]quit sys password:111 [S3026]display currect-config ;查看当前所有配置[S3026]display vlan all ;查看当前VLAN设置 观察此时所有交换机端口都在同一个vlan1内。 双击小电脑A: login:root password:linux [root@PCAroot]# ? ;输入?号查看命令提示 [root@PCAroot]#ifconfig eth0 10.65.1.1 netmask 255.255.0.0 双击小电脑B: login:root password:linux [root@PCAroot]#ifconfig eth0 10.65.1.2 netmask 255.255.0.0 点击A电脑做测试: [root@PCA root]#ping 10.65.1.2

电路基础实验报告

北京交通大学电路基础实验报告

实验目的: (1)学习MultiSim2001建立电路、直流电路的分析方法。 (2)掌握伏安特性的测量。 (3)通过实验,加深对叠加定理和戴维南定理的理解。 实验内容: 1)测量二极管的伏安特性 (1)建立如右图所示的仿真Array电路。 (2)启动Simulate菜单中的 Analyses下的DC Sweep 设置相应的参数后,单击Simulate按钮,得到二极管的伏 安特性曲线。 2)验证叠加定理Array(1)建立如右图 所示的仿真电路。 (2)启动仿真开 关后,用电压表分 别测出V1、V2单 独作用和共同作 用时个支路的电压值,验证叠加定理。 3)验证戴维南定理 (1)建立如下图所示的仿真电路。(其中a对应2的位置,

b 对应0的位置) (2)用电压表测量R3断开时a 、b 端口的开路电压。 (3)将电阻R3短路,用电流表测量a 、b 端口短路电压。 (4)计算出等效电阻。重新建立一仿真电路,调出一个直流电压源,设置其电压为测量出的开路电压值,调一个电阻值为计算出的等效电阻,与R3电阻串联成一个等效电路。再用电压表和电流表测量R3两端的电压和流过电流,验证戴维南定理。 实验过程: 1) 测量二极管的伏安特性。 如右图,建立仿真电路图后,启动Simulate 菜单中的Analyses 下的DC Sweep 命令,设置相应的参数后,单击Simulate 按钮,得到二极管的伏安特性曲线如下:

2)验证叠加定理。 V1单独作用: 令V2=0.启动仿真开关如下图: U11=8.727V U21=3.273V U31=3.273V V2单独作用: 令V1=0,启动仿真开关如下图:

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

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

实验二MATLAB程序设计含实验报告

实验二M A T L A B程序设计含实验报告 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 5. (Root Mean Square)的计算(1(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。 6.根据2 2222 1......3121116n ++++=π,求π的近似值。当n 分别取100、1000、10000时,结果是多少 思考题:

通信网络基础实验报告

通信网络基础实验 报告 学号:。。。 姓名:。。。 专业:通信工程 指导老师:孙恩昌 完成时间:2015-12-27

目录 一.实验目的 (3) 二.实验内容 (3) 三.实验原理 (3) 四.实现停等式ARQ实验过程及结果: (5) 五.实现返回n-ARQ实验过程及结果: (7) 六.实现选择重发式ARQ过程及结果: (8) 七.心得体会 (10)

一.实验目的 1.理解数据链路层ARQ协议的基本原理 2.用算法实现四种不同形式的ARQ重传协议:停等式ARQ、返回n-ARQ、选择重发式ARQ和ARPANET ARQ。 3.提高分析和解决问题的能力和提高程序语言的实现能力 二.实验内容: 1.根据停等式ARQ协议基本理论,编写协议算法,进行仿真; 2.根据返回N-ARQ协议基本理论,编写协议算法,进行仿真; 3.根据选择重传ARQ协议基本理论,编写协议算法,进行仿真; 4.根据并行等待ARQ协议基本理论,编写协议算法,进行仿真 三.实验原理 1.停等式ARQ:在开始下一帧传送出去之前,必须确保当前帧已被正确接受。假定A到B的传输链路是正向链路,则B到A的链路称为反向链路。在该链路上A要发送数据帧给B,具体的传送过程如下: 发送端发出一个包后,等待ACK,收到ACK,再发下一个包,没有收

到ACK、超时,重发 重发时,如果ACK 不编号,因重复帧而回复的ACK,可能被错认为对其它帧的确认。 2. 返回n-ARQ:发送方和接收方状态示意图 返回n-ARQ方案的特点如下: (1)发送方连续发送信息帧,而不必等待确认帧的返回; (2)在重发表中保存所发送的每个帧的备份; (3)重发表按先进先出(FIFO)队列规则操作; (4)接收方对每一个正确收到的信息帧返回一个确认帧,每一个确认帧包含一个惟一的序号,随相应的确认帧返回; (5)接收方保存一个接收次序表,包含最后正确收到的信息帧的序号。当发送方收到相应信息帧的确认后,从重发表中删除该信息帧的备份;

电路基础实验报告 日光灯功率因素改善实验

实验题目: 日光灯电路改善功率因数实验 一、实验目的 1、了解日光灯电路的工作原理及提高功率因数的方法; 2、通过测量日光灯电路所消耗的功率,学会电工电子电力拖动实验装置; 3、学会日光灯的接线方法。 二、实验原理 用P 、S 、I 、V 分别表示电路的有功功率、视在功率、总电流和电源电压。按定义电路的功率因数IU P S P = = ?cos 。由此可见,在电源电压且电路的有功功率一定时,电路的功率因数越高,它占用电源(或供电设备)的容量S 就越少。 日光灯电路中,镇流器是一个感性元件(相当于电感与电阻的串联),因此它是一个感性电路,且功率因数很低,约0.5—0.6。 提高日光灯电路(其它感性电路也是一样)功率因数的方法是在电路的输入端并联一定容量的电容器。如图7-1所示: 图7-1 图7-2 图7-1 并联电容提高功率因数电路 图7-2 并联电容后的相量图 图7-1中L 为镇流器的电感,R 为日光灯和镇流器的等效电阻,C 为并联的电容器, 设并联电容后电路总电流I ,电容支路电流C I ,灯管支路电流RL I (等于未并电容前电路中的总电流),则三者关系可用相量图如图7-2所示。由图7-2知,并联电容C 前总电流 为RL I ,RL I 与总电压U 的相位差为L ?,功率因数为L ?cos ;并联电容C 后的总电流为I ,I 与总电压U 的相位差为?,功率因数为?cos ;显然?cos >L ?cos ,功率被提高了。并联电容C 前后的有功功率??cos cos IU U I P L RL ==,即有功功率不变。并联电容C 后的 总电流I 减小,视在功率IU S =则减小了,从而减轻了电源的负担,提高了电源的利用率。 三、实验设备 电工电子电力拖动实验装置一台,型号:TH-DT 、导线若干 四、实验内容 1、功率因数测试 按照图7-3的电路 实验电路如图7-3所示,将三表测得的数据记录于表7-1中。 图7-3 日光灯实验电路 W 为功率表,C 用可调电容箱。 五、实验数据与分析 表7-1 感性电路并联电容后的原始数据 C (μF ) P(瓦) V (伏) I (安) Cos ф 0 44.7 220 0.410 0.42

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

青岛科技大学实验报告(实验一)

班级:姓名:学号:成绩: 实验一: Qt 开发环境的搭建 (一)实验目的: ?掌握Qt 开发环境的搭建方法 ?掌握Qt Creator 的基本使用方法 ?了解Qt Creator 的界面布局 ?了解Qt 相关工具软件 (二)实验准备 ?对Qt 及Qt Creator 有基本了解 ?了解MinGW ?下载Qt 4.8.5、Qt Creator 2.8.0 和MinGW 安装包 (三)实验内容: ?安装Qt Creator ?安装MinGW ?安装Qt ?关联Qt Creator 和Qt ?运行一个示例程序 ?查看Qt 工具 (四)实验过程 1.安装Qt Creator (1)双击运行qt-creator-windows-opensource-2.8.0.exe 安装包,将出现如图1.1 所示的安装向导界面。单击“下一步”按钮。

图1.1 Qt Creator 安装向导 (2)选择安装位置界面如图1.2 所示。这里默认安装在C 盘,选中“Associate common filetypes with Qt Creator”选项会为Qt Creator 关联相应类型的文件,以后双击相应类型的文件(如Qt 项目文件)可直接在Qt Creator 中打开。这里保持默认设置,单击“下一步”按钮。 图1.2 选择安装位置 (3)在如图 1.3 所示的“许可协议”界面,选择“我接受此许可”即可。然后单击“下一步”按钮。 图1.3 许可协议界面

(4)在设置“开始菜单快捷方式”界面,可以在系统开始菜单中创建Qt Creator 的快捷方式,可以选择显示的位置和更改显示名称。如图1.4 所示。这里保持默认即可。单击“下一步”按钮。 图1.4 设置开始菜单快捷方式 (5)在“已做好安装准备”界面,单击“安装”按钮开始安装。如图1.5 所示。 图1.5 已做好安装准备界面 (6)完成安装。在完成安装界面,单击“完成”按钮结束安装。因为默认勾选了“Launch Qt Creator”,所以完成安装后会自动运行Qt Creator。如图1.6 所示。

电路基础实验报告

基尔霍夫定律和叠加定理的验证 组长:曹波组员:袁怡潘依林王群梁泽宇郑勋 一、实验目的 通过本次实验验证基尔霍夫电流定律和电压定律加深对“节点电流代数和”及“回路电压代数和”的概念的理解;通过实验验证叠加定理,加深对线性电路中可加性的认识。 二、实验原理 ①基尔霍夫节点电流定律[KCL]:在集总电路中,任何时刻,对任一结点,所有流出结点的支路电流的代数和恒等于0。 ②基尔霍夫回路电压定律[KVL]:在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于0。 ③叠加定理:在线性电阻电路中,某处电压或电流都是电路中各个独立电源单独作用时,在该处分别产生的电压或电流的叠加。 三、实验准备 ①仪器准备 1.0~30V可调直流稳压电源 2.±15V直流稳压电源 3.200mA可调恒流源 4.电阻 5.交直流电压电流表 6.实验电路板 7.导线

②实验电路图设计简图 四、实验步骤及内容 1、启动仪器总电源,连通整个电路,分别用导线给电路中加上直流电压U1=15v,U2=10v。 2、先大致计算好电路中的电流和电压,同时调好各电表量程。 3、依次用直流电压表测出电阻电压U AB、U BE、U ED,并记录好电压表读数。 4、再换用电流表分别测出支路电流I1、I2、I3,并记录好电流读数。 5、然后断开电压U2,用直流电压表测出电阻电压U、BE,用电流表分别测出支路电流I、1并记录好电压表读数。 6、然后断开电压U1,接通电压U2,用直流电压表测出电阻电压U、、BE,用电流表分别测出支路电流I、、1并记录好电压表读数。 7、实验完毕,将各器材整理并收拾好,放回原处。 实验过程辑录 图1 测出U AB= 图2 测出电压U BE=

C程序设计实验报告

实验1 C程序运行环境、数据类型、运算符和表达式 一、实验目的 1. 掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2. 掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3. 学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。 4. 掌握C语言源程序的结构特点与书写规范。 二、实验要求 1. 根据题目要求,进行各种程序测试与验证,并记录结果。 2. 上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根 据这些信息找到程序中的错误所在,然后修改程序,直至正确。 3. 详细记录数据的输入、输出信息,按要求写出实验报告。 三、实验内容 1. 开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以exl.C存盘。 / *ex1.c* / #include main() { printf("Hello!\n"); printf("This is C program!\n"); } 试编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2. 输入并调试运行以下程序,查看运行结果 (由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf("char\t%d bytes\n",sizeof(char)); printf("short\t%d bytes\n",sizeof(short)); printf("int\t%d bytes\n",sizeof(int)); printf("long\t%d bytes\n",sizeof(long)); printf("float\t%d bytes\n",sizeof(float)); printf("double\t%d bytes\n",sizeof(double)); } 运行结果是: 3. 输入并调试运行以下程序。 main() {int i,j,m,n; i=8;j=10;

QT拼图实验报告

拼图游戏 1. 文档介绍 本文档主要介绍了一个简单的拼图游戏的开发过程 2. 系统概述 就是一个简单的拼图游戏,将一幅图片随机打散,然后拼出原图,很简单,也没有加入时间限制,只是一个拼图游戏的核心。 3. 设计约束 本软件是用Qt开发出来的,Qt一个c++的gui类库,可以跨多种操作系统平台。除了Qt库,还用到的就是标准的c程序库,各个系统中的开发环境也都有。基于这两点,所以我开发出来的拼图游戏可以跨平台移植而不用修改代码,直接在目标平台上再重新编译一下就行了。另外,我开发的只是一个拼图游戏的核心。有很强的可扩展性,可以根据不同的需要而加入代码进行定制。拼图中用到的图像分割和随机打散算法都是比较高效的。鼠标点击图像块进行图像的交换,非常易用,对用户来说,非常清晰。 4. 开发与运行环境 ●操作系统:Windows7 32位旗舰版Service Pack 1 ●处理器:Pentium(R) Dual-Core CPU E6300 @ 2.8GHz 2.8GHz ●安装内存(RAM): 2.00GB ●编译器:minGW移植到windows下的gcc编译器 ●调试器:minGW移植到windows下的gdb调试器 ●Make:minGW中的mingw32-make ●Qt C++ GUI库 ●软件开发成功后拿到windowx xp和其他windows 7下运行毫无问题。

5. 软件的总体结构图 图1 程序总流程图

5.1 随机打散图片 图2 随机打散图片

5.2 拼图流程 图3 拼图流程

6. 功能模块设计 对于一个拼图游戏的核心来说,主要的模块就是图片的随机打散模块和拼图模块。我将屏幕窗口分成9块,如下图所示: 图4 屏幕窗口 6.1 图像随机分割 我们将图像也分成和屏幕窗口一样的9块,如下图所示: 图5 图像分割 在Qt中,视口是物理坐标系下指定的任意矩形,窗口指的是同一矩形,只不过是逻辑坐标系下的。我们先将视口设置成屏幕上的一块,然后窗口设置成一块大小和一块图像的大小一样的矩形,我们将一块图像绘制到窗口中,经过窗口-视口变换后就绘制到了视口所对应的屏幕上。

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

QT应用程序设计

南昌航空大学实验报告 二00 一四年五月十四日 课程名称:嵌入式系统设计及应用实验名称:QT应用程序设计 班级:姓名:同组人: 指导教师评定:签名: 一、实验内容 1. 阅读QT主窗口程序helloworld.cpp,然后编译并运行。 2.在helloworld.cpp程序中增加一个名为“hello”的按钮。 3. 编写一个登陆对话窗程序 二、实验步骤 (一)helloword程序 1.我们用File->New菜单来新建工程。 2这里我们选择Qt4 Gui Application。 3下面输入工程名和要保存到的文件夹路径。我们这里的工程名为helloworld。 4这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next。 5.我们将base class选为QDialog对话框类。然后点击Next。 6点击Finish,完成工程的建立。 7我们可以看见工程中的所有文件都出现在列表中了。我们可以直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。 (二)登陆对话框程序 1.先新建Qt4 Gui Application工程,工程名为mainWidget,选用QWidget作为 Base class,这样便建立了主窗口 2.然后新建一个Qt Designer Form Class类,类名为loginDlg,选用Dialog without Buttons,将其加入上面的工程中 3.在logindlg.ui中设计下面的界面:行输入框为Line Edit。其中用户名后面的输入 框在属性中设置其object Name为usrLineEdit,密码后面的输入框为pwdLineEdit,登录按钮为loginBtn,退出按钮为exitBtn。 4.将exitBtn的单击后效果设为退出程序,关联如下: 5.右击登录按钮选择go to slot,再选择clicked(),然后进入其单击事件的槽函数,写 入一句 void loginDlg::on_loginBtn_clicked()

计算机控制基础实验报告

重庆交通大学 学生实验报告 实验课程名称机械工程控制基础 开课实验室交通装备与制造工程实训中心 学院机电与汽车工程学院年级 2012专业班机械电子工程(2)学生姓名学号 开课时间 2014 至 2015 学年第二学期

验证性设计性综合性

ans = (1/2)^n (2) ) 1.0)(8.0()(2 --=z z z z F syms z >> f=((z^2)/((z-0.8)*(z-0.1))) f = z^2/((z - 4/5)*(z - 1/10)) >> iztrans(f) ans = (8*(4/5)^n)/7 - (1/10)^n/7 实验项目 系统分析 实验时间 实验地点 90304 实验性质 验证性 设计性 综合性 教师评价: 评价教师签名: 第三章:计算机控制系统的分析 1 试求如题图 3.1所示的采样控制系统在单位阶跃信号作用下的输出响应)(*t y 。设 ) 10(*20 )(+= s s s G ,采样周期T=0.1s 。

解: gs=tf([20],[1 10 0]); gz=c2d(gs,0.1,'imp'); gzb1=gz/(gz+1); gzb2=feedback(gz,1); y=step(gzb1); step(gzb1,gzb2); 结果: 2 试求如题图3.1所示的采样控制系统在单位速度信号作用下的稳态误差。 设) 11.0(1 )(+= s s s G ,采样周期T=0.1s. 解: gs=tf([1],[0.1 1 0]); T=0.1; gz=c2d(gs,T,'imp'); gzb=feedback(gz,1); rz = tf([0.1 0],[1 -2 1],T); rz1 = zpk([0],[1 1],T,T); yz=rz*gzb; impulse(yz); t=[0:0.1:10]'; ramp=t; lsim(gzb,ramp,t) [y,t1] = lsim(gzb,ramp,t); ER = ramp - y

电路分析基础实验报告

实验一 1. 实验目的 学习使用workbench软件,学习组建简单直流电路并使用仿真测量仪表测量电压、电流。 2.解决方案 1)基尔霍夫电流、电压定理的验证。 解决方案:自己设计一个电路,要求至少包括两个回路和两个节点,测量节点的电流代数和与回路电压代数和,验证基尔霍夫电流和电压定理并与理论计算值相比较。 2)电阻串并联分压和分流关系验证。 解决方案:自己设计一个电路,要求包括三个以上的电阻,有串联电阻和并联电阻,测量电阻上的电压和电流,验证电阻串并联分压和分流关系,并与理论计算值相比较。 3.实验电路及测试数据 4.理论计算 根据KVL和KCL及电阻VCR列方程如下: Is=I1+I2, U1+U2=U3, U1=I1*R1,

U2=I1*R2, U3=I2*R3 解得,U1=10V,U2=20V,U3=30V,I1=5A,I2=5A 5. 实验数据与理论计算比较 由上可以看出,实验数据与理论计算没有偏差,基尔霍夫定理正确; R1与R2串联,两者电流相同,电压和为两者的总电压,即分压不分流; R1R2与R3并联,电压相同,电流符合分流规律。 6. 实验心得 第一次用软件,好多东西都找不着,再看了指导书和同学们的讨论后,终于完成了本次实验。在实验过程中,出现的一些操作上的一些小问题都给予解决了。 实验二 1.实验目的 通过实验加深对叠加定理的理解;学习使用受控源;进一步学习使用仿真测量仪表测量电压、电流等变量。 2.解决方案 自己设计一个电路,要求包括至少两个以上的独立源(一个电压源和一个电流源)和一个受控源,分别测量每个独立源单独作用时的响应,并测量所有独立源一起作用时的响应,验证叠加定理。并与理论计算值比较。 3. 实验电路及测试数据 电压源单独作用:

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

linux实验报告(QT)

Linux实验报告 学号:092201046 姓名:张攀班级:信工0901 实验时间:2012-4-26 实验地点:A4049 指导老师:雷鸿实验名称QT/E图形界面开发环境的搭建 实验目的成功搭建QT/E图形界面 一、实验题目 QT/E图形界面开发环境的搭建 二、实验内容及结果(请将相应题目代码和结果截图写在相应题目 下方) 1、[admin@localhost ~]$ su - root 密码: [root@localhost ~]# cd /mnt/hgfs/V MwareFedora14/ [root@localhost my6410]# cd qt-x11-opensource-src-4.5.3 [root@localhost qt-x11-opensource-src-4.5.3]# ./configure Which edition of Qt do you want to use ? Type 'c' if you want to use the Commercial Edition. Type 'o' if you want to use the Open Source Edition. O This is the Qt/X11 Open Source Edition. Y ou are licensed to use this software under the terms of the Lesser GNU General Public License (LGPL) versions 2.1. Y ou are also licensed to use this software under the terms of the GNU General Public License (GPL) versions 3. Type '3' to view the GNU General Public License version 3. Type 'L' to view the Lesser GNU General Public License version 2.1. Type 'yes' to accept this license offer. Type 'no' to decline this license offer. Do you accept the terms of either license? Y es for /home/admin/my6410/qt-x11-opensource-src-4.5.3/demos/arthurplugin/arthurplugin.pro Qt is now configured for building. Just run 'gmake'. Once everything is built, you must run 'gmake install'. Qt will be installed into /usr/local/Trolltech/Qt-4.5.3 To reconfigure, run 'gmake confclean' and 'configure'.

相关主题
文本预览
相关文档 最新文档