当前位置:文档之家› VC++程序设计说明书---计算器

VC++程序设计说明书---计算器

VC++程序设计说明书---计算器
VC++程序设计说明书---计算器

目录

目录 ......................................................................................................................................... I 摘要 ....................................................................................................................................... II

1 设计目的 (1)

2 设计要求 (2)

3 设计内容 (3)

3.1 系统分析 (3)

3.2项目创建 (3)

3.3界面设计 (5)

3.4 代码实现 (8)

3.5 方案分析总结 (17)

总结与致谢 (20)

参考文献 (21)

附件 (22)

摘要

GPA英语全称是grade point average,意思就是平均分。GPA的精确度往往达到小数点后1到2位,如:3.0,3.45。GPA的标准计算方法是将大学成绩的加权平均数乘以4,再除以100,得出平均分。美国的GPA满分是4分,即A=4,B=3,C=2,D=1。一般来讲,百分制中的90分以上可视为4分,80分以上为3分,70分以上为2分,60分以上为1分,五分制中的5分为4分,4分为3分,3分为2分,2分为1分。

这次课程设计完成了一个简单的GPA计算器。本次设计系统具有良好的界面,必要的交互信息和较好的健壮性,使我们能快捷简单地进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

关键词:GPA;VC++6.0;MFC;控件;

1 设计目的

《VC程序设计++》是一门实践性、应用性很强的科目。实践教学环节是必不可少的一个重要环节。VC程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握VC程序设计的基本技能和面向对象的概念和方法;了解菜单、视图/文档、数据库等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

2 设计要求

GPA计算器的出现,是为了方便学生进行GPA换算。功能要求有以下几点:(1)学生成绩可以由文件导入。

(2)获GPA标准可以选择,也可以手动输入

(3)GPA的计算过程易于监督控制

(4)计算结果的可读性强

3 设计内容

3.1 系统分析

本次设计要求导入成绩文件,还涉及文件的输入输出控制,界面操作相对频繁,所以对对话框的控件的编程有一定的要求。为了使本次设计更加方便,不容易出错误,设计时应注意:使界面人性化,这样可以减少用户的误操作提高程序的健壮性;界面人性化一般要通过屏蔽当前无效的界面和信息来实现的。

系统设计通过VC6.0来实现,用到了庞大的MFC库。MFC库支持三种不同应用程序:单文档、多文档和基于对话框。本次课程设计用到的是基于对话框的这种情况。这些应用程序模型为我们提供了统一的编程方法和界面基础。

GPA计算器可以简单地分为三个模块,如下图1.1所示。

图1.1 GPA模块设置

3.2项目创建

(1)在Visual c++中,新建MFC AppWizard(exe)单文档工程,命名为GPACalculator。

(2)在MFC AppWizard第一步中设置应用程序的类型为基本对话模式,然后单击“确定”按钮,应用程序GPACalculator就建立了。

图1.2 基本对话模式工程的建立

图1.3 新建工程信息

3.3界面设计

打开对话框资源,为各个控件添加ID,进行属性设计;添加完控件后,打开ClassWizard,针对IDD_GPACALCULATOR_DIALOG所指向的类CCPACalculatorDlg,为该类添加成员变量。

(1)打开对话框资源IDD_GPACALCULATOR_DIALOG,该对话框是程序运行时的主界面,按要求完成控件的添加。

例如,组框的添加。首先,点击控件工具条上的‘组框’按钮,在对话框上画出组框,并适当地调整其大小。然后右键单击组框,选择‘属性’,ID保持默认,标题改为‘第一步:载入分数文件’,关闭对话框。这样,组框控件添加完成。如下图 1.3、1.4所示。

按照这样的步骤,完成所有控件的添加。其中包括按钮、静态文本框、编辑框、组

合框、列表框等。控件添加完成后效果图如图1.6所示。控件列表见附录1。

图1.4 控件属性设置

图1.5 控件添加完成示意图

(2)通过类向导为CCPACalculatorDlg 类添加成员变量。单击菜单栏的‘查看’中的‘建立类向导’,打开‘MFC ClassWizard ’对话框。然后,选择‘Member Variables ’选项,选择要添加成员变量的类,再选择要添加成员变量的控制ID ,单击‘添加变量’按钮,输入变量名,选择变量类型,单击确定即可。然后按照同样的方法为所有的控件添加成员变量。

控件IDC_EDIT_PATHNAME 的成员变量的添加如下图1.7所示。成员变量列表见附录2。

图1.6 控件添加完成效果图

3.4 代码实现

(1)添加菜单控制

①制作菜单资源。右键单击‘资源’选项卡上的最顶层文件夹‘GPACalcularor resources ’,选择‘插入’->‘菜单’,单击‘新建’按钮。这样,就在‘GPACalcularor resources ’文件夹下建立了一个‘Menu ’文件下,内含有一个‘IDR_MAIN_MENU ’资源。

双击‘IDR_MAIN_MENU ’上的虚线框,为其添加文件、帮助两个菜单,再为文件添加一个‘退出’菜单,为帮助添加使用‘说明’、‘关于’两个菜单。并设置菜单的属性,为其设置ID 和表明。分别如下:退出‘ID_MENU_ITEM_EXIT ’、关于‘ID_MENU_ITEM_ABOUT ’、使用说明‘ID_MENU_ITEM_MAN ’。

菜单资源如下图1.8所示。

②装载菜单。选中对话框资源‘IDD_GPACALCULATOR_DIALOG ’,在对话框上右击,从弹出的快捷菜单中选择‘属性’命令,然后弹出属性对话框。在属性对话框中选择相应的菜单资源。如下图1.9所示。

图1.7 控件的成员变量添加举例

③编写菜单代码。使用类向导为菜单添加响应函数。打开类向导,选中退出菜单项的ID ‘ID_MENUITEM_EXIT ’,单击右边‘Message ’框下面的COMMAND ,单击‘Add Function ’为退出菜单添加响应函数。然后,点击‘Edit Code ’在跳转处添加下面代码:

void CGPACalculatorDlg::OnMenuitemExit() { // TODO: Add your command handler code here

DestroyWindow();

按同样的步骤为使用说明和关于菜单添加程序代码如下: void CGPACalculatorDlg::OnMenuitemMan() {

// TODO: Add your command handler code here

图1.8 菜单资源

图1.9 装载菜单

山东建筑大学信电学院课程设计说明书

WinExec("notepad.exe EXPLAIN.HEP",SW_SHOW);

}

void CGPACalculatorDlg::OnMenuitemAbout()

{

// TODO: Add your command handler code here

CAboutDlg dlg;

dlg.DoModal();

}

(2)分数存储结构。

分数是由磁盘文件导入的,在程序中应该有相应的内存存储结构来存储分数,当需要用分数来进行计算等操作时,则从这个存储结构中读出。当磁盘文件内容变化时,则应更新这个存储结构。

①在类选项卡下,点击‘CGPACalculatorDlg’在其中加入如下结构代码。

typedef struct stScore

{

double dOPoint; //原始分

double dSPoint; //标准分

double dNum; //学分

}stScore;

②在文件选项卡下,双击‘Header Files -> StdAfx.h’,在其中加入以下头文件:

#include

③在类选项卡下,双击‘CGPACalculatorDlg’加入私有对象‘arScore’,用作分数存储。代码如下:

private:

CArrayarScore;

(3)功能函数

①添加GetSDPoint函数。在‘CGPACalculatorDlg’中进行函数的定义:

private:

double GetSDPoint(double dPoint);

在‘CAbourDlg’中添加函数的代码如下:

double CGPACalculatorDlg::GetSDPoint(double dPoint)

{

UpdateData();

CArray arOPoint;

山东建筑大学信电学院课程设计说明书

CArray arSPoint;

arOPoint.Add(m_dO1);

arOPoint.Add(m_dO2);

arOPoint.Add(m_dO3);

arOPoint.Add(m_dO4);

arOPoint.Add(m_dO5);

arOPoint.Add(m_dO6);

arOPoint.Add(m_dO7);

arOPoint.Add(m_dO8);

arSPoint.Add(m_dS1);

arSPoint.Add(m_dS2);

arSPoint.Add(m_dS3);

arSPoint.Add(m_dS4);

arSPoint.Add(m_dS5);

arSPoint.Add(m_dS6);

arSPoint.Add(m_dS7);

if(dPoint>=arOPoint[0])

return arSPoint[0];

for(int i=0;i

{

if(dPoint>=arOPoint[i])

return arSPoint[i-1];

}

return 0;

}

②添加SpliterString函数。分散文件是以‘原始分学分’的方式给出的,需要一个功能函数来将这个字符串拆分成两个double型的原始分和学分。函数定义如下:void SpliterString(CString str,double &a,double &b);

函数代码如下:

void CGPACalculatorDlg::SpliterString(CString str, double &a, double &b)

{

CString strOne,strTwo;

int ifind;

str.TrimLeft(' ');

str.TrimRight(' ');

ifind=str.Find(' ');

strOne=str.Left(ifind);

山东建筑大学信电学院课程设计说明书

strTwo=str.Right(str.GetLength()-ifind-1);

a=atof(LPCTSTR(strOne));

b=atof(LPCTSTR(strTwo));

}

③GatherData的添加。这个函数的作用是将分散文件的信息导入到分数存储及结构,当m_sPathName=“”,即无分数文件时,则导入失败。

定义如下:

void GatherData();

代码如下:

void CGPACalculatorDlg::GatherData()

{

CString str;

stScore temp;

if(m_sPathName=="")

return;

arScore.RemoveAll();

CFile file(m_sPathName,CFile::modeRead);

CArchive ar(&file,CArchive::load);

ar.ReadString(str);

while(str!="")

{

SpliterString(str,temp.dOPoint,temp.dNum);

temp.dSPoint=GetSDPoint(temp.dOPoint);

arScore.Add(temp);

ar.ReadString(str);

};

}

④ChangeType函数的添加。可是实现根据不同的输入值,转变成不同的参比标准。

定义如下:

void ChangeType(int nType);

代码如下:

void CGPACalculatorDlg::ChangeType(int nType)

{

switch(nType)

{

case 0:

case 4:

m_dS1=m_dS2=m_dS3=m_dS4=m_dS5=m_dS6=m_dS7=0;

m_dO1=m_dO2=m_dO3=m_dO4=m_dO5=m_dO6=m_dO7=m_dO8=0;

break;

case 1:

m_dS1=4;

m_dS2=3;

m_dS3=2;

m_dS4=1;

m_dS5=m_dO6=m_dO7=0;

m_dO1=100;

m_dO2=90;

m_dO3=80;

m_dO4=70;

m_dO5=60;

m_dO6=m_dO7=m_dO8=0;

break;

case 2:

m_dS1=4.3;

m_dS2=4;

m_dS3=3.7;

m_dS4=3.3;

m_dS5=3.0;

m_dO6=2.7;

m_dO7=2.3;

m_dO1=100;

m_dO2=90;

m_dO3=85;

m_dO4=80;

m_dO5=75;

m_dO6=70;

m_dO7=65;

m_dO8=60;

break;

case 3:

m_dS1=4;

m_dS2=3;

m_dS3=2;

m_dS4=m_dS5=m_dO6=m_dO7=0;

m_dO1=100;

m_dO2=85;

m_dO3=70;

m_dO4=60;

m_dO5=m_dO6=m_dO7=m_dO8=0;

break;

}

}

⑤SetEditRead函数的添加。输入为‘真’时,参比标准的编辑框将被设为只读模式,而输入为‘假’时,参比标准的编辑框将被设为可写模式。

定义如下:

void SetEditRead(bool bReadOnly);

代码如下:

void CGPACalculatorDlg::SetEditRead(bool bReadOnly)

{

((CEdit *)GetDlgItem(IDC_EDIT_S1))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_S2))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_S3))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_S4))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_S5))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_S6))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_S7))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O1))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O2))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O3))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O4))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O5))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O6))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O7))->SetReadOnly(bReadOnly);

((CEdit *)GetDlgItem(IDC_EDIT_O8))->SetReadOnly(bReadOnly);

}

(4)控件事件。

①组合框。通过组合框(IDC_COMBO_STANDARD)可以选择不同的参比标准,相应的编辑框会随着组合框的选择不同而随之改变。添加的处理函数如下:void CGPACalculatorDlg::OnSelchangeComboStandard()

{

// TODO: Add your control notification handler code here

int nIndex=m_cmbStandard.GetCurSel();

if(4==nIndex)

SetEditRead(false);

else

山东建筑大学信电学院课程设计说明书

SetEditRead(true);

ChangeType(nIndex);

UpdateData(false);

}

②[浏览]按钮(IDC_BUTTON_OPEN),单击该按钮可以弹出‘打开’对话框以供选择打开磁盘上的分数文件。添加的处理函数如下:

void CGPACalculatorDlg::OnButtonOpen()

{

CFileDialog fdlg(true, NULL, NULL, OFN_OVERWRITEPROMPT, "成绩文件|*.dat;*.txt|", NULL);

if(fdlg.DoModal()==IDOK){

m_sPathName=fdlg.GetPathName();

}

UpdateData(false);

// TODO: Add your control notification handler code here

}

③[统计]按钮(IDC_BUTTON_OK)。单击该按钮计算各项参数值,并可以把分数显示在列表框。添加的处理函数如下:

void CGPACalculatorDlg::OnButtonOk()

{

double dGPAall=0;

double dAvgall=0;

GatherData();

int i=0;

int size=arScore.GetSize();

if(size==0)

{

return;

}

m_ListScore.ResetContent();

m_ListScore.AddString("序号成绩学分标准");

m_ListScore.AddString("---------------------------");

m_dTotal=0;

while(i

{

CString str;

m_dTotal+=arScore.GetAt(i).dNum;

dGPAall+=arScore.GetAt(i).dSPoint*arScore.GetAt(i).dNum;

山东建筑大学信电学院课程设计说明书

dAvgall+=arScore.GetAt(i).dOPoint*arScore.GetAt(i).dNum;

str.Format("%d %0.2f %0.2f %0.2f",i+1,arScore.GetAt(i).dOPoint,arScore.GetAt(i).dNum,arScor e.GetAt(i).dSPoint);

i++;

m_ListScore.AddString(str);

}

m_strGPA.Format("%.2f",dGPAall/m_dTotal);

m_strAverage.Format("%.2f",dAvgall/m_dTotal);

UpdateData(false);

}

(5)界面外观。

如果对界面的外观不满意,可以截取消息加以控制。本程序截取‘WM_CTCOLOR’函数来达到修改控件外观眼色的目的。添加的函数代码如下:

HBRUSH CGPACalculatorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here

switch(pWnd->GetDlgCtrlID())

{

case IDC_EDIT_S1:

case IDC_EDIT_S2:

case IDC_EDIT_S3:

case IDC_EDIT_S4:

case IDC_EDIT_S5:

case IDC_EDIT_S6:

case IDC_EDIT_S7:

case IDC_EDIT_O1:

case IDC_EDIT_O2:

case IDC_EDIT_O3:

case IDC_EDIT_O4:

case IDC_EDIT_O5:

case IDC_EDIT_O6:

case IDC_EDIT_O7:

case IDC_EDIT_O8:

pDC->SetBkColor(RGB(255,255,255));

pDC->SetTextColor(RGB(0,0,255));

break;

case IDC_LIST_SCORE:

山东建筑大学信电学院课程设计说明书

pDC->SetBkColor(RGB(255,255,255));

pDC->SetTextColor(RGB(0,0,255));

break;

case IDC_EDIT_A VERAGE:

case IDC_EDIT_GPA:

case IDC_EDIT_TOTAL:

pDC->SetBkColor(RGB(255,255,255));

pDC->SetTextColor(RGB(255,0,255));

// TODO: Return a different brush if the default is not desired

return hbr;

}

3.5 方案分析总结

(1)设计结果说明。

把要计算的成绩和学分,按照一定的格式保存在一个文本文件中。格式如下:[spaces] 课程成绩 学分数

然后把文本文件载入,选好参比标准,单击‘统计’按钮就可以求出相应的加权平均分,GPA和总学分。程序也可以选择‘用户自定义’,自己输入所需的标准,程序还可以显示分数文件中的分数,依次核对计算结果是否正确。

按照步骤,载入包含成绩和学分的文本文件,计算后得出结果,符合要求,证明设计的正确性。

GPA计算器运行结果如图1.10所示,用‘4.3标准算法’的参比标准计算的结果如图1.11所示。

图1.10 GPA计算器运行结果

计算器说明书

Java程序设计说明书 设计题目:Java计算器 学生姓名: 指导教师: 专业名称:计算机科学与技术所在院系:

目录 摘要2第1章计算器概述 1.1设计目的 4 1.2功能模块设计 4 1.3系统功能图 4 设计实现的详细步骤 2.2.1 计算器界面7 2.2.2 界面设计代码7 2.3程序运行效果9 第3章设计中遇到的重点及难点 (13) 3.1 设计中的重点 (13) 3.2 设计中的难点 (13) 3.2.1 设计难点1:布局 (13) 3.2.2 设计难点2:代码 (13) 3.2.3设计难点3:运行结果 (14) 3.3 本章总结 (14) 第4章本次设计中存在不足与改良方案 (15) 4.1设计不足 (15) 4.2改良方案 (15) 4.3本章总结 (18) 结论 (19) 参考文献 (20)

JAVA课程设计说明书 摘要 一、计算器概述 1、1设计计算器的目的: 该计算器是由Java语言编写的,可以进行十进制下的四则运算(加、减、乘、除)、开平方、百分号、求倒数,还可以实现其他按钮的功能。添加了一个编辑、查看、帮助的主菜单并能实现其功能。Backspace 表示逐个删除,CE 表示全部清除,C 表示一次运算完成后,单击“C”按钮即可清除当前的运算结果,再次输入时可开始新的运算,MC 表示清除储存数据,MR 表示读取储存的数据,MS 表示将所显示的数存入存储器中,存储器中原有的数据被冲走,M+ 表示计算结果并加上已经储存的数。界面类似Windows 自带的计算器。 该计算器围绕Java编程语言在编程方面的具体应用,论述了使用面向对象方法,对计算器程序进行需求分析、概要设计、详细设计,最后使用Java编程实现的全过程。在编程使用Java语言,是目前比较流行的编程语言。在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。 关键词:Java语言、标准、计算器

基于单片机的简易计算器设计

目录 引言 (1) 第一章设计原理及要求 (2) 1.1设计方案的确定 (2) 1.2系统的设计方案 (2) 1.3系统的设计要求 (2) 第二章硬件模块设计 (4) 2.1单片机AT89C51 (4) 2.1.1 AT89C51芯片的特点 (5) 2.1.2 管脚说明 (5) 2.1.3 振荡器特性 (7) 2.1.4 芯片擦除 (7) 2.2键盘控制模块 (7) 2.2.1 矩阵键盘的工作原理 (8) 2.2.2 键盘电路主要器件介绍 (8) 2.3LCD显示模块 (10) 2.3.1 显示电路 (11) 2.3.2 LCD1602主要技术参数 (11) 2.3.3 引脚功能说明 (11) 2.4运算模块(单片机控制) (12) 第三章软件设计 (14) 3.1功能介绍 (14) 3.2系统流程图 (14) 3.3程序 (16) 第四章系统调试 (17) 4.1软件介绍 (17) 4.1.1 Keil uVision2仿真软件简介 (17) 4.1.2 protues简介 (17)

4.2软件调试 (18) 4.2.1 软件分析及常见故障 (18) 4.2.2 仿真结果演示 (20) 4.3硬件调试 (21) 结束语 (23) 参考文献 (24) 附录 (25) 致谢 (36)

引言 计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

单片机设计简易计算器

简易计算器 Simply Calculator 1 设计思想 此计算器有键盘部分、单片机、显示部分三部分组成,键盘部分主要完成输入功能;单片机主要完成数据处理功能,包括确定按键,完成运算,以及输出数据;显示器部分主要完成单片机输出的显示。 本设计的思路是利用单片机性能好,稳定性强的优点来实现系统的运行。设计大致可以分为三个步骤:第一步,硬件的选取和设计;第二步,程序的设计和调试;第三步,Protues 系统仿真。 硬件是设计的骨骼,不仅关系到设计总体方向的确定,还要综合考虑节能,环保,以及稳定性和经济性等各种因素。因此需要花费大量的时间。硬件的选取最为重要,包括选用的芯片,显示设备的选取,输入设备的选取等。本设计是通过单片机来实现的,因此选用了ATMEGA16单片机作为主体,输入设备选用矩阵键盘。程序是硬件的灵魂,是实现设计的中心环节。本设计使用的程序语言是C语言,在“ICC AVR”中运行,调试,直到运行出正确结果,然后输出后缀名为.HEX格式的文件,以备在Protues中仿真使用。程序是设计的关键,程序的调试需要大量的时间,耐心,还够要有足的细心才能成功。本设计中就出现了大量的错误,经过认真修改,最终才能运行出正确结果。最后的系统仿真是设计是否成功的验证,是设计不可缺少的重要环节。这就要求能掌握Protues的一些基本操作。2原理分析 矩阵键盘的扫描 —

》 图矩阵键盘图 如图所示,单片机的8个I/O口和矩阵键盘相连,用8个I/O口来控制矩阵键盘的16个按键是非常有意思的,首先我们设置单片机的PD0—PD7为输出,且PD0—PD3依次设置为低电平,而PD4—PD7设置为高电平,然后我们设置PD4—PD7为输入,而PD0—PD3仍然为输出,假如此时M1键按下,则PD0与PD4相连,因为PD0是低电平,而PD4是输入,所以PD4会被拉为低电平,同理,如果M2被按下,则PD5会被拉低,M3按下,PD6会被拉低,M4按下,PD7被拉低。这是判断有无键盘按下的过程,当我们判断是那一个键盘按下时,我们首先设置8个I/O口为输出,输出为FE,即,PD0为低电平,其他全为高电平,然后我们设置PD4—PD7为输入,如果M1被按下,则PD4会比被拉为低电平,此时会变成EE,同理可以知道M2被按下时会变为DE,M3被按下时会变为BE,M4被按下时会变为7E。同理我们可以设置8个I/O口输出FD来检测M5—M8是否被按下,设置8个I/O口输出FC来来检测M9—M12,设置8个I/O口输出F7来检测M13—M16,如果M1—M4没有被按下,就继续检测M4—M8,一次类推,就可以检测出16个按键了。在这次设计中,16个按键M1—M16所对应检测值分别为:EE,DE,BE,7E,ED,DD,BD,7D,EB,DB,BB,7B,E7,D7,B7,77。 数字显示与计算 本次设计选用的显示器是1602液晶显示器,此液晶显示器能显示32个字符,VSS接地,VDD接电源正极,E为时使能信号,R/W为读写选择端(H/L),RS为数据/命令选择端(H/L),D0—D7为数据I/O口。 首先我们初始化液晶显示器,然后显示出第一个被按下的数,并且使光标右移,如果有第二个数按下,则据继续显示,以此类推,然后把所有显示出来的数换算成一个数,如果按下“+”号,则显示出“+”,并且同理显示出“+”号后面按下的数字,然后调用加子程序,运算出结果,如果按下的是“-”,则调用减子程序,如果按下“*”,则调用乘子程序,如果按下“/”,则调用除子程序。然后再调用显示结果子程序,显示出结果。 《

系统概要设计说明书规范

KTV点歌系统概要设计说明书

1. 引言 1.1目的 选歌系统是为某KTV唱吧开发的视频歌曲点唱软件。该软件能方便顾客进行选歌,帮助系统管理员管理歌曲的播放,提高KTV歌曲点唱的效率和准确率。 本文档为该系统的概要设计说明书,详细阐述了对用户所提出需求的设计方案,对系统中的各项功能需求、技术需求、实现环境及所使用的实现技术进行了明确定义。同时,对软件应具有的功能和性能及其他有效性需求也进行了定义。 1.2项目背景 ●系统名称:选歌系统 ●项目提出者:某KTV唱吧 ●项目开发者: ●项目管理者: ●最终用户:某KTV唱吧 1.3术语定义 实现环境:系统运行的目标软件、硬件环境。 实现技术:系统所采用的软件技术或体系结构。 实现语言或工具:实现系统最终采用的编程语言或工具包,如Delphi、VB、PB、Java、Ada等。 参考资料 1)新余电视点播系统; 2)某KTV唱吧《视频点歌系统计划任务书》; 本项目所参照的文件有: 3)康博工作室,《Visual Basic 新起点》,机械工业出版社,2000

2. 系统概述 2.1系统需求 2.1.1系统目标 本软件是为某KTV唱吧开发的视频点歌系统软件。该软件用于提高点歌系统的工作效率。随着人们业余生活的丰富,休闲活动的多种多样,人们更多的喜欢选择KTV这种形式的娱乐方式。且随着计算机普及,点歌系统越来越智能化,人性化;一个好的音乐唱吧必须要拥有一个方便、快捷、准确的点歌系统,因此,急需一个软件系统解决这些问题。本软件应能结合当前选歌播放手工操作的流程以及将来业务发展的需要,对视频点歌系统中歌曲信息、歌手信息、最新排行榜等等的查询、更新提供完全的计算机管理。 2.1.2性能需求 数据精确度 数量值:精确到小数后一位; 时间值:精确到日,并以yyyy/mm/dd的形式表示; 价格值:精确到分,并以.XX的形式表示。 时间特性 页面响应时间:不超过10秒 更新处理时间:不超过15秒 数据转换与传输时间:不超过30秒。 适应性 1) 开发基于的平台要考虑向上兼容性,如操作系统,数据库等要考虑更高版本的兼容 性。 2) 当需求发生变化时系统应具有一定的适应能力,要求系统能够为将来的变更提供以 下支持:能够在系统变更用户界面和数据库设计,甚至在更换新的DBMS后,系统的现有设计和编码能够最大程度的重用,以保护现阶段的投资和保证软件系统能够在较少后续投入的情况下适应系统的扩展和更新。在设计中最好列出针对变更所需要重新设计的模块部分

多项式程序

实习一 一、课程题目 一元稀疏多项式计算器 二、需求分析 1、一元稀疏多项式简单计算器的功能是: 1.1 输入并建立多项式; 1.2 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,………cn,en, 其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列; 1.3 计算多项式在x处的值; 1.4多项式a和b相加,建立多项式a+b; 1.5 多项式a和b相减,建立多项式a-b。 2、设计思路: 2.1 定义线性表的动态分配顺序存储结构; 2.2 建立多项式存储结构,定义指针*next 2.3利用链表实现队列的构造。每次输入一项的系数和指数,可以输出构 造的一元多项式 2.4演示程序以用户和计算机的对话方式执行,即在计算机终站上显示 “提示信息”之后,由用户在键盘上输入演示程序中规定的运行命令;最后根据相应的输入数据(滤去输入中的非法字符)建立的多项式以及多项式相加的运行结果在屏幕上显示。多项式显示的格式为:c1x^e1+c2x^e2+… +cnx^en 3、设计思路分析 要解决多项式相加,必须要有多项式,所以必须首先建立两个多项式,在这里采用链表的方式存储链表,所以我将结点结构体定义为 运用尾插法建立两条单链表,以单链表polyn p和polyn h分别表示两个一元多项式a和b,a+b的求和运算等同于单链表的插入问题(将单链表polyn p中的结点插入到单链表polyn h中),因此“和多项式”中的结点无须另生成。 为了实现处理,设p、q分别指向单链表polya和polyb的当前项,比较p、q结点的指数项,由此得到下列运算规则:

① 若p->expnexpn,则结点p所指的结点应是“和多项式”中的一项, 令指针p后移。 ② 若p->expn=q->expn,则将两个结点中的系数相加,当和不为0时修改结 点p的系数。 ③ 若p->expn>q->expn,则结点q所指的结点应是“和多项式”中的一项, 将结点q插入在结点p之前,且令指针q在原来的链表上后移。 四、概要设计 1、元素类型、结点类型和指针类型: typedef struct Polynomial{ float coef; //系数 int expn; //指数 struct Polynomial *next; }*Polyn,Polynomial; 2、建立一个头指针为head、项数为m的一元多项式, 建立新结点以接收数据, 调用Insert函数插入结点: Polyn CreatePolyn(Polyn head,int m){ int i; Polyn p; p=head=(Polyn)malloc(sizeof(struct Polynomial)); head->next=NULL; for(i=0;icoef,&p->expn); Insert(p,head); } return head; } 3、主函数和其他函数: void main() { int m,n,a,x; char flag; Polyn pa=0,pb=0,pc; } float ValuePolyn(Polyn head,int x) //输入x值,计算并返回多项式的值 五、调用关系图 六、程序代码:

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

简单计算器的设计与实现

C/C++程序设计课程设计设计说明书 简单计算器的设计与实现 学生姓名 学号 班级 成绩 指导老师 计算机科学与技术系 2010年11月22日

C/C++程序设计课程设计评阅书

课程设计任务书 2010—2011学年第一学期 专业:计算机科学与技术学号:姓名: 课程设计名称: C/C++程序设计课程设计 设计题目:简单计算器的设计与实现 完成期限:自2010 年 11月 15 日至 2010 年 11 月 26 日共2 周 设计内容及要求: 要求用C/C++语言设计一个简易的计算器程序,对输入的数据进行加、减、乘、除、开平方等操作。 设计要求及功能如下: 1.阐述设计思想,画出流程图; 2.实现功能: (1)对输入的数据进行加法运算; (2)对输入的数据进行减法运算; (3)对输入的数据进行乘法运算; (4)对输入的数据进行除法运算; (5)对输入的数据进行开平方根运算。 最终设计成果形式为: 1.编写好的程序; 2.撰写课程设计说明书一份,打印并装订成册。 指导教师(签字):教研室主任(签字): 批准日期:年月日

摘要 设计了一个简单的计算器程序,该计算器具有简单的四则混合运算以及复杂的数学表达式的功能。该计算器采用VC++作为软件开发环境,采用算数表达式处理算法来实现加、减。乘、除四则混合运算。操作简单,界面清晰,易于用户使用,容易被他们所接受的。 关键词:计算器;VC++;数学表达式

目录 1课题描述 (1) 2问题分析和任务制定 (2) 3详细设计 (3) 3.1头文件设计 (3) 3.2简单计算器的设计与实现函数设计 (3) 4 程序调试与测试 (8) 4.1主界面测试 (8) 4.2基本功能的测试 (8) 5结果分析 (12) 总结 (13) 参考文献 (14)

Windows下的计算器设计说明书

课程设计说明书Windows环境下的计算器 学院名称:机械工程学院 专业班级:测控0901 学生姓名:李彧文 指导教师姓名:张世庆 指导教师职称:副教授 2011年6月

摘要

课程设计任务书 Windows环境下的计算器 一、课程设计题目:设计一个windows附件中所示的计算器 二、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和C++调试技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,对windows环境下的编程有一个基本的认识。 3、创新要求: 在基本要求达到后,可进行创新设计,如增加计算器的函数功能。 4、写出设计说明书 按照设计过程写出设计说明书。 三、设计方法和基本原理: 1、问题描述(功能要求): 要求所编写的计算器能够完成基本的加、减、乘、除运算,类似于Windows下附件中的计算器。 2、问题的解决方案(参考): 根据题目的要求,可以将问题解决分为以下步骤: (1)完成界面的设计,要求界面要美观实用; (2)添加成员变量和成员函数(消息映射函数); (3)利用结构化程序的设计思路完成按键的判断和数据的移位以及计算功能; (4)程序功能调试; (5)完成系统总结报告以及系统使用说明书。

四、程序设计和调试: 五、答辩与评分标准: 1、完成基本功能:40分; 2、设计报告及使用说明书:30分; 3、设置错误或者按照要求改变结果:15分; 4、回答问题:15分。

简易计算器设计说明书

摘要 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心。如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。计算器的出现给我们的生活带来了巨大的便利,计算器在我们的生活中随处可见,也是我们日常生活中不可缺少的工具。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除简单的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用按键作为计算器的键盘的输入。显示采用字符LCD 静态显示。软件方面使用C语言编程,并用PROTUES仿真。 单片微型计算机简称单片机。它是在一块芯片上集成中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口电路等部件,构成一个完整的微型计算机。它的特点是:高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。本文介绍了单片机的产生发展、功能特点、应用开发等内容。 【关键词】简单计算器单片机 LCD 应用发展

背景 近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。 本设计采用80c51 芯片,实现了利用单片机进行了一个简单计算器设计。允许对输入数据进行加减乘除运算及LCD 显示.如果设计对象是更为复杂的计算器系统,其实际原理与方法与本设计基本相同。LCD液晶显示器是Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。 现在LCD已经替代CRT成为主流,价格也已经下降了很多,并已充分的普及。故采用LCD.设计的关键所在,必须非常熟悉单片机的原理与结构,同时还要对整个设计流程有很好的把握,将单片机和其他模块完整的衔接。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除基本四则运算,并在LCD上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,显示采用字符LCD静态显示;软件方面使用C 语言编程,并用PROTUES仿真i。

在线交易二手市场系统概要设计说明书

在线交易二手市场系统概要设计说明书概要设计说明书 信息与电气工程学院 软工1401 ** 201422******

1.引言 1.1编写目的 此概要设计说明书实现一个简易的基于校园网在线交易二手市场系统,对交易管理系统的总体设计、接口设计、界面总体设计、系统出错处理设计以及系统安全数据进行了说明,在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 1.2背景 A.待开发软件系统名称为: 在线交易二手市场; B.任务提出者:** 开发者:** C.使用用户能在校园网上进行交易的系统。 D. 按照《在线交易二手市场系统需求分析说明书》为基础来具体细化系统所具备的所有功能及功能的实现方法和接口。 1.3 开发环境 Visual Studio 2010 Mircosoft sql server 2008 Express

PowerDesigner 15.1 1.4定义 本系统:基于校园网的在线交易二手市场系统设计与实现 1.5参考资料 《基于校园网在线交易二手市场需求分析说明书》 《项目计划表》 《校园网在线交易二手市场系统_数据库模型》 2.总体设计 2.1设计目标 基于校园网的在线交易二手市场主要实现以下目标: ⑴为师生提供展示商品及表现学校形象的平台。 ⑵为用户提供商品信息查看、在线商品订购、商品浏览等功能。 ⑶采用动态网页技术,使页面中展示的商品信息更具时效性、先进性。 ⑷提供客户互评及客户给商品评论功能,收集用户对商品的意见及看法。 ⑸提供后台管理页面,简化了用户信息、商品信息、订单信息等系统数据的维护操作。 2.2运行环境

VB课程设计报告+计算器

目录 ●概要设计说明 (3) ●总体设计分析 (3) ●小组成员及分工方法....................................3 -4 ●功能模块图 (4) ●负责模块的程序设计分析 (5) ●负责模快的程序源代码及流程图.....................5-12 ●公共系统使用说明及截图..............................13-16 ●结束语、心得体会 (17) ●课程设计结评分表…………………………………18-19

一、概要设计说明 本组设计的科学计算器具有科学型和标准型两种类型,适合不同需要。科学型中包含弧度与角度的计算,同时兼具2、8、10、16进制的运算。在标准型中,编辑菜单(edit)包含复制(copy)、粘贴(paste)。查看菜单包含标准型(standar)、科学型(scientific)。帮助菜单中包含关于(about)(内含开发制作者信息) 二、总体设计分析(含功能模块图) 一.小组成员分工 1 科学型角度弧度和进制的调用,由小组成员共同完成 2 科学计算器中,x^2,x^3,x^y,1/x,n!,Log按键,及八进制转二 进制,八进制转十进制,由**负责。 3科学计算器中,BackSpance、CE、C和运算符号+、-、*、/、.、-/+、=以及标准型计算器由***负责 4 科学计算器中,sin,cos,tan,Rnd,Exp,ATn按钮以sin/cos/tan 计算时角度和弧度的转换由**负责。 5 科学行计算器中,Copy,Pst,Not,And,Xor,Int,Or, Abe,Exit按钮;将十进制转化为二进制,制转化为十进制,将二进制转化为八进制由**负责。

单片机简易计算器课程设计

课程设计 题目名称简易计算器设计 课程名称单片机原理及应用 学生姓名 班级学号 2018年6 月20日

目录 一设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUES仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘; 执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。

三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。 四主程序流程图 程序的主要思想是:将按键抽象为字符,然后就是对字符的处理。将操作数分别转化为字符串存储,操作符存储为字符形式。然后调用compute()函数进行计算并返回结果。具体程序及看注释还有流程图 五程序源代码 #include #include #include/* isdigit()函数*/ #include/* atoi()函数*/ #define uchar unsigned char #define uint unsigned int

基于51单片机的计算器设计说明

目录 第一章引言 (3) 1.1 简述简易计算器 (3) 1.2 本设计主要任务 (3) 1.3 系统主要功能 (4) 第二章系统主要硬件电路设计 (4) 2.1 系统的硬件构成及功能 (4) 2.2 键盘电路设计 (5) 2.3 显示电路设计 (6) 第三章系统软件设计 (7) 3.1 计算器的软件规划 (7) 3.2 键盘扫描的程序设计 (7) 3.3 显示模块的程序设计 (8) 3.4 主程序的设计 (9) 3.5 软件的可靠性设计 (9) 第四章调试 (9) 第五章结束语 (10) 参考文献 (11) 附录源程序 (11)

第一章引言 1.1 简述简易计算器 近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢? 本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×6矩阵键盘,可以进行加、减、乘、除9位带符号数字运算,并在LCD1602上显示操作过程。 科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器, 使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。 1.2 本设计主要任务 以下是初步设定的矩阵键盘简易计算器的功能: 1.扩展4*6键盘,其中10个数字,5个功能键,1个清零 2.强化对于电路的焊接 3.使用五位数码管接口电路 4. 完成十进制的四则运算(加、减、乘、除); 5. 实现结果低于五位的连续运算; 6. 使用keil 软件编写程序,使用汇编语言; 7. 最后用ptoteus模拟仿真; 8.学会对电路的调试

数据结构一元多项式的计算

课程设计成果 学院: 计算机工程学院班级: 13计科一班 学生姓名: 学号: 设计地点(单位): 设计题目:一元多项式的计算 完成日期:年月日 成绩(五级记分制): _________________ 教师签名:_________________________ 目录 1 需求分析 ......................................................................... 错误!未定义书签。 2 概要设计 ......................................................................... 错误!未定义书签。 2.1一元多项式的建立 ............................................................... 错误!未定义书签。 2.2显示一元多项式 ................................................................... 错误!未定义书签。 2.3一元多项式减法运算 ........................................................... 错误!未定义书签。 2.4一元多项式加法运算 ........................................................... 错误!未定义书签。 2.5 设计优缺点.......................................................................... 错误!未定义书签。3详细设计 .......................................................................... 错误!未定义书签。 3.1一元多项式的输入输出流程图........................................... 错误!未定义书签。 3.2一元多项式的加法流程图................................................... 错误!未定义书签。 3.3一元多项式的减法流程图.................................................. 错误!未定义书签。 3.4用户操作函数....................................................................... 错误!未定义书签。4编码 .................................................................................. 错误!未定义书签。5调试分析 .......................................................................... 错误!未定义书签。4测试结果及运行效果...................................................... 错误!未定义书签。5系统开发所用到的技术.................................................. 错误!未定义书签。参考文献 ............................................................................. 错误!未定义书签。附录全部代码................................................................... 错误!未定义书签。

计算机课程设计说明书(C++,包括代码)

数学与计算机学院 课程设计说明书 课程名称: 面向对象程序设计-课程设计课程代码: 题目: 计算器 年级/专业/班: 学生姓名: 学号: 开始时间:2011 年 5 月28日 完成时间:2011 年6月 27 日 课程设计成绩: 学习态度及平时成绩(30)技术水平与实际 能力(20) 创新(5)说明书撰写质量(45) 总分 (100) 指导教师签名:年月日 目录 1 引言 (1) 1.1问题的提出 (1) 1.2任务与分析 (1)

2.1加法功能 (2) 2.2减法功能 (2) 2.3乘法功能 (2) 2.4除法功能 (2) 2.5开平方功能 (2) 2.6四则混合运算功能 (2) 2.7显示功能 (2) 3 程序运行平台 (3) 4 总体设计 (3) 5 程序类的说明 (4) 6 模块分析 (6) 6.1加法模块 (6) 6.2减法模块 (7) 6.3乘法模块 (8) 6.4除法模块 (10) 6.5开方模块 (11) 6.6求余模块 (13) 6.7四则混合运算模块 (14) 7 系统测试 (22) 8 结论 (27)

参考文献 (28) 摘要 本课程设计是为了实现一个简单计算器,该计算器类似于windows附件中自 带的计算器。分析了现在人们对数据的处理需求,利用系统平台Windows 2000XP, 程序设计语言采用面向对象程序设计语言C++,利用Visual C++编程实现了该系 统。该系统具有数据录入,数据修改,数据处理,数据显示等功能。用户根据系

统界面提示,输入需要处理的数据,系统根据要求实现加、减、乘、除以及开方等功能。 关键词:计算器;程序设计;C++

系统概要设计说明书(数据库设计书)

[招生管理系统] 概要设计说明书 [V1.0(版本号)] 拟制人______________________ 审核人______________________ 批准人______________________ [二零零八年十月二十二日]

概要设计说明书 1.引言 1.1编写目的 本说明书交给各个被调研单位审核,并经领导层讨论通过后,软件开发小组成员将以这本说明书为框架开发新的系统。 1.2背景 a.待开发软件系统的名称: 基于XML的网上招生管理系统 b.本项目的任务提出者: 石河子大学 c.本项目开发者 d.本项目用户 石河子大学招生办 1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4参考资料 《软件工程》 2.总体设计 2.1需求规定 2.1.1功能规定

2.1.2系统功能 能对各招生子单位进行管理 能添加、修改、删除、考生信息 能对考生进行分类管理 能将考生信息导出至网上信息发布子系统 能根据各分类统计考生信息 能添加新的管理员 能修改管理员的密码 2.1.2.1精度 由于采用数据库技术并且用户的应用领域对数据精确度的要求不高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。 2.1.2.2时间特性要求 本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。 2.1.2.4可靠性 由于系统较小只保留一定程度上的可靠性。 2.1.2.5灵活性 由于系统较小只保留一定程度的灵活性。 2.1.3输入输出要求 2.1.4数据管理能力要求

简单计算器的需求分析

简单计算器的需求分析 一确定系统的要求 1系统功能要求 在程序设计过程中,该程序是要实现简单的加减乘除运算等功能。还要实现数据的输入,输出,计算,显示及程序退出等功能。 2系统性能要求 用户提交查询时,得到返回结果的延时不得超过5秒提交数据录入是,得到结果的延时不得超过5秒。 系统的性能包括内容较多,在本系统中主要约定了作业的响应时间要求。作业可以定义为“一个交易是当一个单一角色跨越系统边界触发一个事件并执行一定数量的处理和数据库访问,它将影响架构中的所有服务器层”。作业响应时间指完成目标系统中的交互或批量处理所需的响应时间。 3系统运行要求 (1)用户界面 系统的用户界面应作到可靠性、简单性、易学习和使用。 (2)硬件接口 在输入方面,对于键盘、鼠标的输入,可用C++的标准输入/输出,对输入进行处理。

在输出方面,打印机的连接及使用,也可用C++的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速A TM。 二分析系统的数据要求 任何一个软件系统本质上都是系统信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定系统的面貌,对软件的设计有深远的影响。 计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 给对话框添加菜单。 制定高级按钮控件,该按钮具有不规则的形状,可以根据用户鼠标的位置和单击状态的不同,显示不同的颜色。 制定高级编辑控件,该编辑控件可以指定文本文字的字体和颜色。输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 概要设计与详细设计的区别 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。 详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 概要设计阶段通常得到软件结构图 详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等 概要设计和详细设计 在软件设计中,大家经常问到的一个问题是:概要设计应该怎样一个概要法,

计算器——概要设计说明书

计算器 概要设计说明书 1、引言 1.1编写目的 在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为JAVA程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。 1.2项目背景 计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。要实现计算功能,可以用JAVA 的知识编写程序来解决此问题。该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。 在课程设计中,系统开发平台为Windows 7,程序设计设计语言采用JAVA,在程序设计中,采用了结构化与面向对象两种解决问题的方法。 1.3定义

事务流:数据进入模块后可能有多种路径进行处理。 系统:若未特别指出,统指本系统。 1.4参考资料 [1]钱银中,眭碧霞.Java程序设计案例教程 [2]道客巴巴:https://www.doczj.com/doc/416837752.html,/p-642874533756.html 2、运行环境 操作系统:Windows 2000﹑Windows XP Professional、Windows 2000 Server或者window 7.0操作系统. 3、总体设计 3.1 系统设计流程 系统设计主要有五部分组成:需求分析、概要设计、详细设计、编写代码和系统测试。如下图所示: ⑴需求分析 这次课程设计的题目是实现简单计算器的功能。实现功能:加,减,乘,除,可加其它运算功能;还要实现数据的输入,输出,计算,显示及清除等功能。 ⑵概要设计 计算器包含的功能有:加、减、乘、除、清除。计算器的屏显为JFrame控件,左侧的数字、操作符按键、右侧的功能为BUTTON控件。输入的原始数据、运算中间数据和结果在顶部的TEXTBOX 控件显示。每种计算功能均为独立设计算法。 ⑶详细设计 详细设计部分则是在概要设计的基础上对计算器的功能实现作出更为详细

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