当前位置:文档之家› Web程序设计用大作业报告模板

Web程序设计用大作业报告模板

Web程序设计用大作业报告模板
Web程序设计用大作业报告模板

武汉工业学院Web高级程序设计

大作业报告

专业信息系统与信息管理

学号090502227

姓名吴思敏

日期20121019

一、需求分析

1引言

随着网络与信息技术的发展,很多陌生人之间都有了或多或少的联系。如何更好地管理这些信息是没跟人必须面临的问题,特别是那些很久没有联系的朋友,再次见面无法马上想起关于这个人的记忆,造成一些不必要的尴尬。基于上述种种原因,开发一套通讯录管理系统很重要,我们结合这次课程设计开发以下的通讯录管理系统方案。

2编写目的

本系统主要是为了更好的管理每个人的通讯录,给每个人提供一个井然有序的管理平台,防止手工管理混乱,造成不必要的麻烦。

3功能需求

通过对自己及朋友的通讯录的询问以及了解,一个完整的通讯录管理系统应该包括:数据集模块,登录窗体模块,系统管理模块,主窗体模块,通讯录数据管理模块,信息管理模块,登录信息查询模块。本系统主要实现我们信息的管理,包括我们平时朋友信息的添加、修改、查询和删除,及一些辅助项目的管理,如登录系统用户管理和用户组管理。

二、系统框架

本系统将实现多用户对各自通讯录的管理功能,包括:添加联系人、修改联系人、删除联系人、查找联系人。为了体现多用户的特性,还必须包含一个用户管理子系统,作用是对用户的信息进行管理。具体功能模块如图所示

登录的处理模块

处理流程图如图

主窗体处理流程图如图

新增联系人处理模块

新增联系人窗体流程图如图

三、模块设计

登陆界面的实现

登录窗体如图

主窗体的实现

主窗体设计如图

新增联系人实现

新增联系人设计如图

四、编码实现

存储过程代码

查找联系人模块使用储存过程来搜索数据,查找联系人的储存过程如下ALTER PROCEDURE [查找联系人]

(

@name varchar(50),

@phone varchar(50),

@user varchar(50)

)

AS

if len(@user)=0 return 1

if len(@name)=0 and len(@phone)=0

begin

select 姓名,组别,工作单位,联系电话,电子邮箱? from [联系人]

return

end

if len(@name)<>0 and len(@phone)=0

begin

set @name='%'+@name+'%'

select姓名,组别,工作单位,联系电话,电子邮箱? from [联系人]

where 姓名like @name

return

end

if len(@name)=0 and len(@phone)<>0

begin

select姓名,组别,工作单位,联系电话,电子邮箱? from [联系人]

where 联系电话like @phone

return

end

if len(@name)=0 and len(@phone)<>0

begin

select姓名,组别,工作单位,联系电话,电子邮箱? from [联系人]

where 联系电话like @phone and 姓名like @name

return

end

登录窗体

实现代码如下

private void btnOK_Click(object sender, EventArgs e)

{

try

{

if (txtUserName.Text.Trim() == "" || txtPassword.Text.Trim() == "")

{

MessageBox.Show("用户名不能为空,登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

//验证用户

SqlConnection conn = new SqlConnection("server=.;database=通讯录管理系统;uid=sa;pwd=521125;");

StringBuilder sql = new StringBuilder();

sql.AppendFormat("select count(*) from 用户where 用户名=杨

雪and 密码='01'", txtUserName.Text.Trim(), txtPassword.Text.Trim());

SqlCommand cmd = new SqlCommand(sql.ToString(), conn);

conn.Open();

int result = Convert.ToInt32(cmd.ExecuteScalar());

conn.Close();

if (result == 1)

{

//登陆成功

frmMain f = new frmMain();

f.tsslUserName.Text = txtUserName.Text.Trim();

f.Show();

this.Hide();

}

else

{

MessageBox.Show("用户名错误!", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

}

catch (Exception ee)

{

MessageBox.Show("发生错误!" + ee.Message, "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

}

主窗体

实现代码如下

public partial class frmMain : Form

{

private string strConn = "server=.;database=通讯录管理系

统;uid=sa;pwd=521125;";

public frmMain()

{

InitializeComponent();

}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

{

LoadList();

}

//主窗体加载事件

private void frmMain_Load(object sender, EventArgs e)

{

LoadGroup();

if (trvGroup.Nodes.Count > 0)

{

trvGroup.SelectedNode = trvGroup.Nodes[0];

LoadList();

}

else

{

lvContact.Clear();

}

}

/加载分组信息到TreeView

private void LoadGroup()

{

try

{

trvGroup.Nodes.Clear();

SqlConnection conn = new SqlConnection(strConn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

https://www.doczj.com/doc/9618360678.html,mandText = "select 组别from 联系人where 用户名='" + tsslUserName.Text + "'";

conn.Open();

SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())

{

trvGroup.Nodes.Add(sdr[0].ToString());

}

sdr.Close();

conn.Close();

}

catch

{ }

}

//加载当前分类的联系人信息

private void LoadList()

{

if (trvGroup.Nodes.Count == 0)

{

lvContact.Clear();

return;

}

if (trvGroup.SelectedNode.Index >= 0)

{

string strGroup = trvGroup.SelectedNode.Text;

try

{

lvContact.Clear();

lvContact.Columns.Add("姓名", 100);

lvContact.Columns.Add("工作单位", 150);

lvContact.Columns.Add("联系电话", 100);

lvContact.Columns.Add("电子邮箱", 150);

SqlConnection conn = new SqlConnection(strConn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

https://www.doczj.com/doc/9618360678.html,mandText = "select 编号,姓名,工作单位,联系电话,电子邮箱from 联系人where 组别='" + strGroup + "'and 用户名='" + tsslUserName.Text + "'";

conn.Open();

SqlDataReader sdr = cmd.ExecuteReader();

int count = 0;

while (sdr.Read())

{

ListViewItem lvi = new ListViewItem();

lvi.Text = sdr["姓名"].ToString();

lvi.SubItems.Add(sdr["工作单位"].ToString());

lvi.SubItems.Add(sdr["联系电话"].ToString());

lvi.SubItems.Add(sdr["电子邮箱?"].ToString());

lvi.Tag = sdr["编号"];

lvi.ImageIndex = 0;

lvContact.Items.Add(lvi);

count++;

}

tsslCount.Text="共计"+count.ToString()+"个联系人";

sdr.Close();

conn.Close();

}

catch

{ }

}

}

//详细信息在工具栏上的事件

private void详细信息ToolStripMenuItem_Click(object sender, EventArgs e)

{

lvContact.View=View.Details;

}

//详细信息在菜单栏上的事件

private void详细信息ToolStripMenuItem1_Click(object sender, EventArgs e)

{

lvContact.View=View.Details;

}

//添加方法在主窗体中的实现

private void Add()

{

frmAdd f=new frmAdd();

if(f.ShowDialog(this)==DialogResult.OK)

{

LoadGroup();

if(trvGroup.Nodes.Count>0)

{

trvGroup.SelectedNode=trvGroup.Nodes[0];

LoadList();

}

else

{

lvContact.Clear();

}

}

}

//编辑方法在主窗体的实现

private void Edit()

{

if(lvContact.SelectedItems.Count==1)

{

string id=lvContact.SelectedItems[0].Text.ToString();

frmEdit f=new frmEdit(id);

if(f.ShowDialog(this)==DialogResult.OK)

{

LoadGroup();

if(trvGroup.Nodes.Count>0)

{

trvGroup.SelectedNode=trvGroup.Nodes[0];

LoadList();

}

else

{

lvContact.Clear();

}

}

}

}

//删除方法在住窗体中的实现

private void Delete()

{

if(lvContact.SelectedItems.Count<1)

{

return;

}

if(MessageBox.Show("是否要删除选中的联系人","删除确认

",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes) {

string strWhere="";

foreach (ListViewItem lvi in lvContact.SelectedItems)

{

strWhere+=lvi.Text.ToString();

}

try

{

SqlConnection conn=new SqlConnection(strConn);

SqlCommand cmd=new SqlCommand();

cmd.Connection=conn;

https://www.doczj.com/doc/9618360678.html,mandText = "delete from 联系人where 姓名='" + strWhere + "'";

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

LoadGroup();

if(trvGroup.Nodes.Count>0)

{

trvGroup.SelectedNode=trvGroup.Nodes[0];

LoadList();

}

else

{

lvContact.Clear();

}

}

catch

{ }

}

}

//搜索方法在主窗体中的实现

private void Search()

{

frmSearch f = new frmSearch();

if (f.ShowDialog() == DialogResult.OK)

{

LoadGroup();

if (trvGroup.Nodes.Count > 0)

{

trvGroup.SelectedNode = trvGroup.Nodes[0];

LoadList();

}

else

{

lvContact.Clear();

}

}

}

}

新增联系人

实现代码如下

public partial class frmAdd : Form

{

private string strconn = "server=.;database=通讯录管理系

统;pwd=521125";

private string strUserName= "";

private int groupCount = 0;

private int contentCount = 0;

private string txtFilePath = "";

public frmAdd()

{

InitializeComponent();

}

private void textBox2_TextChanged(object sender, EventArgs e)

{

}

private void frmAdd_Load(object sender, EventArgs e)

{

//获取用户名

strUserName = ((frmMain)(this.Owner)).tsslUserName.Text;

try

{

SqlConnection conn = new SqlConnection(strconn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

//获取配置信息

https://www.doczj.com/doc/9618360678.html,mandText = "selete * from 用户名where 用户名='" + strUserName + "'";

conn.Open();

SqlDataReader sdr = cmd.ExecuteReader();

if (sdr.Read())

{

groupCount = Convert.ToInt32(sdr["组别数量最大值"]);

contentCount = Convert.ToInt32(sdr["

联系人数量最大值"]);

}

sdr.Close();

//获取联系人数

https://www.doczj.com/doc/9618360678.html,mandText = "select count(*) from联系人where 用户名='" + strUserName + "'";

int count = Convert.ToInt32(cmd.ExecuteScalar());

if (count >= contentCount)

{

MessageBox.Show("联系人的个数已经达到上限如需继续添加联系人,请联系管理员.", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);

btnOK.Enabled = false;

}

conn.Close();

}

catch { }

pic.Image =通讯录管理系统.Properties.Resources.main1;

//加载组别

LoadGroup();

}

protected void LoadGroup()

{

try

{

cmbGroup.Items.Clear();

SqlConnection conn = new SqlConnection(strconn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

https://www.doczj.com/doc/9618360678.html,mandText = "selete disinct 组别from 联系人";

conn.Open();

SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())

{

cmbGroup.Items.Add(sdr[0].ToString());

}

sdr.Close();

conn.Close();

if (groupCount > 0 && cmbGroup.Items.Count == groupCount)

{

cmbGroup.DropDownStyle =

ComboBoxStyle.DropDownList;

}

else

{

cmbGroup.DropDownStyle = ComboBoxStyle.DropDown;

}

}

catch { }

}

private void pic_Click(object sender, EventArgs e)

{

if (dlg.ShowDialog() == DialogResult.OK)

{

pic.Image = Image.FromFile(dlg.FileName);

txtFilePath = dlg.FileName;

}

}

private void btnOK_Click(object sender, EventArgs e)

{

#region获取信息

//用户名

strUserName = ((frmMain)(this.Owner)).tsslUserName.Text;

//姓名

string name;

if (txtName.Text == "")

{

MessageBox.Show("联系人姓名不能为空", "添加失败", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

else

{

name = txtName.Text;

}

string group;

if (cmbGroup.Text.Trim() == "")

{

group = "未分组";

}

else

{

group = cmbGroup.Text.Trim();

}

//电话

string phone = txtPhone.Text.Trim();

//工作单位

string company = txtCompany.Text.Trim();

//email

string email = txtEmail.Text.Trim();

//照片

byte[] b = null;

if (txtFilePath != "")

{

try

{

FileStream fs = new FileStream(txtFilePath, FileMode.Open, FileAccess.Read);

int len = Convert.ToInt32(fs.Length);

b = new byte[len];

fs.Read(b, 0, len);

fs.Close();

}

catch

{

b = null;

}

}

#endregion获取信息

#region添加数据

try

{

SqlConnection conn = new SqlConnection(strconn);

SqlCommand cmd_maxid = new SqlCommand();

cmd_maxid.Connection = conn;

//获取最大编号

cmd_https://www.doczj.com/doc/9618360678.html,mandText = "selete isnull(max(编号),0)+1 from

联系人";

conn.Open();

int maxid;

try

{

maxid = Convert.ToInt32(cmd_maxid.ExecuteScalar());

}

catch

{

maxid = 1;

}

//insert

SqlCommand cmd_insert = new SqlCommand();

cmd_insert.Connection = conn;

cmd_https://www.doczj.com/doc/9618360678.html,mandText = "insert into联系人(编号,用户名,组别,姓名,工作单位,联系电话,电子邮箱,照片)values(@编号,@用户名,@组别,@姓名,@工作单位,@联系电话,@电子邮箱,@照片)";

cmd_insert.Parameters.Add("@编号", SqlDbType.Int);

cmd_insert.Parameters.Add("@用户名", SqlDbType.VarChar, 50);

cmd_insert.Parameters.Add("@组别", SqlDbType.VarChar, 50);

cmd_insert.Parameters.Add("@姓名", SqlDbType.VarChar, 50);

cmd_insert.Parameters.Add("@工作单位", SqlDbType.VarChar, 500);

cmd_insert.Parameters.Add("@联系电话", SqlDbType.VarChar, 200);

cmd_insert.Parameters.Add("@电子邮箱", SqlDbType.VarChar, 200);

cmd_insert.Parameters.Add("@照片", SqlDbType.Image);

cmd_insert.Parameters["@编号"].Value = maxid;

cmd_insert.Parameters["@用户名"].Value = strUserName;

cmd_insert.Parameters["@组别"].Value = group;

cmd_insert.Parameters["@姓名"].Value = name;

cmd_insert.Parameters["@工作单位"].Value = company;

cmd_insert.Parameters["@联系电话"].Value = phone;

cmd_insert.Parameters["@电子邮箱"].Value = email;

if (txtFilePath == "")

{

cmd_insert.Parameters["@照片"].Value = DBNull.Value;

}

else

{

cmd_insert.Parameters["@照片"].Value = b;

}

cmd_insert.ExecuteNonQuery();

conn.Close();

DialogResult = DialogResult.OK;

}

catch (Exception ee)

{

MessageBox.Show(ee.Message);

return;

}

#endregion添加数据

}

private void btnCancel_Click(object sender, EventArgs e)

{

DialogResult = DialogResult.Cancel;

}

}

五、系统测试和发布

软件支持:本软件开发是使用c#编写

设备支持:推荐配置:WindowsXP

数据库:Microsoft SQL Server 2005

五、实验总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.回顾起此次课程设计,至今我们仍感慨颇多,的确,从理论到实践,学到很多很多的东西。

通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,我们把前面所学过的知识又重新温故了一遍。

通讯录管理系统,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重

要的了。当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。尽管程序不是很完善,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习windows的一次实践作业。

在此程序中有用到.NET中的许多知识,最基本的是增、删、改、查几个过程,此程序方便、快捷,但是还有一些不足之处,希望我自己以后慢慢研究,将此程序完善。

程序设计报告模板

北京化工大学计算机科学与技术专业2014程序设计实训报告 题目:个人记账软件 专业:计算机科学与技术 班级:计科1305 指导教师:江志英

2014程序设计实训任务书

目录 2014程序设计实训任务书...................................... 错误!未定义书签。目录..................................................... 错误!未定义书签。第一章需求分析.............................................. 错误!未定义书签。 引言............................................... 错误!未定义书签。 任务概述........................................... 错误!未定义书签。 数据描述........................................... 错误!未定义书签。 功能需求........................................... 错误!未定义书签。 运行需求........................................... 错误!未定义书签。 任务计划........................................... 错误!未定义书签。第二章概要设计.............................................. 错误!未定义书签。 总体设计........................................... 错误!未定义书签。 面向对象设计....................................... 错误!未定义书签。 运行界面设计....................................... 错误!未定义书签。第三章详细设计.............................................. 错误!未定义书签。 ........................................................ 错误!未定义书签。第四章测试分析............................................. 错误!未定义书签。第五章用户手册(可选)..................................... 错误!未定义书签。第六章课程设计总结.......................................... 错误!未定义书签。附录:程序代码(仅电子版需要、纸质版不需要)................. 错误!未定义书签。

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

web课程设计的个人总结

web课程设计的个人总结 web课程设计的个人总结一----在线测试系统 这次课程设计我做的是章节自测系统,主要是服务于学生进行阶段性自测和练习。系统分为练习和测试两部分,每一部分又各分若干专题。系统中采用的技术主要有:JDBC 数据库连接技术、和MVC三层架构利用MyEclipse集成开发环境。 虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。这个系统主要是我自己开发的,但也得到了老师和同学的很大帮助。我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。 开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具 有先现实意义。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。

通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。 主要功能及规格分析 登录系统的主要功能要求 欢迎页面 系统安全登录 管理员或普通用户功能选择 在线考试系统的主要实现功能要求 用户修改登录密码 让用户选择考试科目 从试题库中随机出题给用户 根据随机出的题做出用户的考试页面保存用户的答案给用户的试卷评分 查询用户成绩 在线管理系统的主要功能要求 浏览整个系统中的各种用户 添加管理员和普通用户 浏览并添加考试科目 浏览并添加题库 管理员修改登录密码 在线阅卷系统的主要功能要求

测绘程序设计实习报告

测量程序设计实习报告 姓名: XX 班级: XXXX 学号: XXXX 教师评语:

实验名称:使用C#开发环境建立测量程序框架 一、实验的目的与任务: (1)学会用C#窗体程序开发环境建立应用程序框架方法 (2)学会使用常见的Windows控件 (3)根据自身需要设计一个测量程序界面 二、实验的过程与步骤: 1、首先打开visual studio 2010,选择文件→新建→项目。在弹出的对话框中右栏一侧选择windows窗体应用。选择文件存放地址,输入项目名称,点击确定,完成。 2、拖动menuSctrip控件到主窗体,并且键入“文件”、“工具”两个选项,在“文件”下添加一个“打开”选项;在“工具”下添加“近似平差计算”、“高斯消元”两个选项。 3、选择项目→添加windows窗体,输入窗体名称“CLSJ”,点击确定。

4、在CLSJ窗体中拖入SplitContainer控件,将窗体分为左右两部分,调整大小。在拖入一个“TabControl”,新建选项卡。最后,加入“Button”、“TextBox”、“Label”控件。 5、用相同的方法,新建一个名为高斯消元的窗体,然后按照需要进行设计。 三、程序运行效果 四、本实验心得体会

这是第一次接触这种可视化开发编程,刚开始不是很熟悉,对于编程语言来说,在掌握一定语法之后,要多用,多结合实际进行一些简单编程,这样才能提高对一种编程语言的理解。 实验名称:导线计算程序设计及粗差探测 一、实验的目的与任务: (1) 掌握方位角计算的程序设计方法 (2) 掌握符合导线、闭合导线、支导线计算的程序设计方法 (3) 理解粗差探测的程序设计方法 二、实验的设计与开发步骤: 1、考虑到在测量时所用的角度均为度分秒,而在c#计算时只是别度分秒,因此先设计两个函数,可以将度分秒和弧度制进行转化。 2、其次先写一个point 类,包含x ,y 两个成员变量,然后在设计一个方位角函数,用两个point 类当作形参传递进去,根据方位角计算公式παk x y +??=arctan ,(根据象限角和方位角关系对k 进行调节)应该分为四种情况,但是考虑到分母不为0,因此应该在加一种情况,即导线与y 轴重合。 3、然后根据边长,根据方位角,公式 ααsin *cos *1212l y y l x x +=+=进行坐标推算。

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

大作业报告格式

《供配电技术课程大作业》 报告书 题目:高低压电气设备的 维护与故障处理指导教师: 姓名: 学号: 日期: 机电工和系2013-2014学年第2学期

报告书格式要求: 一、报告前置部分 (一)摘要内容包括研究目的、方法、结果、结论(300字~400字)四部分 (二)格式要求 1.中文摘要: “摘要”(黑体三号,居中),摘要正文(居左,首行缩进两字,宋体五号)。“关键词”(黑体小四号,居左顶格,单独占行),关键词正文(宋体五号),关键词为报告研究内容3~8核心专有名词,词与词之间用分号间隔。 2.外文摘要:独占一页 “Abstract”(Times New Roman,三号,加粗,居中),Abstract正文(居左顶格,Times New Roman,五号); “Key words”(Times New Roman,小四号,加粗,居左顶格,单独占行),Key words正文(居左顶格,Times New Roman,五号),与中文关键词对应,词与词之间用分号间隔。 二、报告主体部分 (一)正文格式要求 1.页眉(宋体,五号,居中),由“学生姓名:论文题目”格式构成。 2.页码(页面底端(页脚),右侧)。 3.章条序码(阿拉伯数字,小圆点间隔,末尾不加小圆点,左顶格,编号后空一个字距)第一级0,1, 2, 3,…(黑体,小二号) 第二级1.1,1.2,… 2.1,2.2,… 3.1,3.2,……(黑体,小三号) 第三级 1.1.1,1.1.2,…1.2.1,1.2.2,…2.1.1,2.1.2,…2.2.1, 2.2.2,… 3.1.1,3.1.2,…3.2.1,3.2.2,……(黑体,四号) 如在条以下仍需分层,则通常用a,b,…或1),2),…编序,左空2个字距。 4.前言、引言不编序号 (二)图、表及公式格式要求 1.图表字体(宋体、五号),图表名(中外文对照、宋体、五号、居中),图表按章编号(如图1-1、表2-2等),图编号及图名置下,表编号及表名置上。 插图宽度不宜超过10cm,有刻度的坐标图不加箭头,标值线朝里,其标值数字尽量不超过3位数(如用30km代替30000m)或小数以后不多于一个“0”(如用5μg 代替0.005mg);标目中的物理量的符号用斜体,单位符号用正体,纵坐标标目、标值逆时针旋转九十度书写;图中坐标线、尺寸线、引线0.5磅,轮廓线、函数线等主要部分0.75磅;文中图片要清晰。 表格的绘制均用三线表,表内无斜线、竖线,结构比较复杂的表可增加不通长的辅助线;表头中量的写法要规范,量的表示法不允许出现两条斜线(如:动量矩单位kg.m2/s,在表中应为L/kg.m2.s-1);表中“空白”代表未测或无此项,“-”代表未发现,“0”代表实测数据为零。 2.公式。公式统一用Microsoft公式3.0在系统默认状态下编辑,居中放置,其前的“解”、“假设”等文字顶格书写,公式序号按章排,加圆括号,居行尾。如“(1-1)”、“(2-1)”。公式换行书写时与等号对齐,凡正文中未提到的公式可不排序。 (三)引用和注释 1.引用。引用参考文献,在正文引用位置右上角标“[1]”、“[2]”,依据出现先后次序流水编号,相同文献多处引用,统一用首次编号。

WEB课程设计报告

Web开发技术课程设计题目:学生信息管理系统 院系:软件工程 班级学号:软件13 -1(21,19) 姓名:唐波 同组成员:史伟良 指导教师:王双利 2014 年12 月12 日

Web开发技术课程设计任务书 一、题目:学生信息管理系统 二、设计要求 (1)史伟良负责设计与实现管理系统登陆界面;唐波负责设计与实现管理系统增删改查界面。 (2)查阅相关资料,自学具体课题中涉及到的新知识。 (3)采用结构化、模块化程序设计方法,功能要完善,具有一定的创新。 (4)所设计的程序有输入、输出。 (5)按要求写出了课程设计报告,于设计结束后2天提交了。其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件总体设计、详细设计、软件的调试、总结、致谢、附录(带中文注释的程序清单)、参考文献。总体设计应配合软件总体模块结构图来说明软件应具有的功能;详细设计应用传统或N-S流程图和屏幕抓图说明;调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。 三、课程设计工作量 一般每人的程序量在200行有效程序行左右,不得抄袭。 四、课程设计工作计划 2014年12月8日,指导教师讲解布置题目,学生根据题目准备资料; 2014年12月8日,进行总体方案设计; 2014年12月8日~2014年12月10日,完成程序模块并通过独立编译; 2014年12月10日~2014年12月11日,将各模块集成为一完整的系统, 并录入足够数据进行调试运行; 2014年12月11日~2014年12月12日,验收、撰写课程设计报告。 指导教师签章: 专业主任签章:

Web开发技术课程设计指导教师评语与成绩

C程序设计实践报告

C程序设计实践报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

课程实践报告 设计题目: 程序设计(VC++)实践 设计时间2013-1- 至2013-1- 学院(系): 计算机科学与工程学院 2013年1月 一.实践任务 选择题目,创新性题目可只选择1 题,仅选提高题应不少于3 题,仅选基础题应不少于6 题,也可组合选题,还可自行选择感兴趣的题目(须经指导老师审定)。对于提高题、创新题及游戏题可组成团队开发,但应制定详细的项目分工说明。二.实验步骤及记录(题目,源程序代码及运行结果) 1.与学号对应的题(必做题):基础题 12 题目: 建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不 等长)。例如将字符串“abcde”交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。 具体要求如下: (1)私有数据成员 char str1[60] :存放被插入的字符串。 char str2[40] :存放待插入的字符串。 char str3[100] :存放插入后的字符串。 (2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1 和s2 初始化str1 和str2。

void process():将str2 中的字符串插入到str1 中,存放到str3 中。void print():输出插入后的字符串。 (3)在主程序中定义STRING 类的对象test 对该类进行测试。 源程序代码: #include<> #include<> class STRING{ char str1[60]; char str2[40]; char str3[100]; public: STRING(char *s1,char *s2){ strcpy(str1,s1); strcpy(str2,s2); } void process(){ char *p1=str1,*p2=str2; for(int i=0;*p2;i=i+2){ for(int k=strlen(str1);k>=i;k--){ str1[k+1]=str1[k]; } *p1=*p2; p1=p1+2;

程序设计实践报告模板

面向对象程序设计实践(Project 2) 报告 题目: 专业软件工程(NIIT) 学生姓名 班级学号 指导教师杨健 指导单位计算机学院/软件学院 日期

评分细则 评分项优秀良好中等差遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 用户界面设计 报告书写认真程度 内容详实程度 文字表达熟练程度 回答问题准确度 简短 评语教师签名: 年月日 评 分 等 级 备 注 评分等级有五种:优秀、良好、中等、及格、不及格

Title(Here,please write the name of your Project) (题目格式:宋体,3号,加粗,居中对齐) 一、D escription and Requirement(格式:Times New Roman,4号,加粗, 两端对齐) (正文格式:宋体(中文) Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 二、Requirement Analysis(格式:Times New Roman,4号,加粗,两端对齐) 在该部分中叙述系统的功能,由此得到相应的模块,并分析需要什么的数据,由此可以指导数据库的设计。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐,1.5倍行距) 三、High level design(格式:Times New Roman,4号,加粗,两端对齐) 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明),数据库设计的说明(给出数据库的结构,包括有哪些表,每个表有什么字段,分别存储什么样的数据) (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 四、Low level design格式:Times New Roman,4号,加粗,两端对齐) 各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 注意:不要粘贴全部程序,只要把关键算法的程序粘贴过来就可以了。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 五、Tested data and result analysis(格式:Times New Roman,4号,加粗,

有限元分析大作业报告

有限元分析大作业报告 试题1: 一、问题描述及数学建模 图示无限长刚性地基上的三角形大坝,受齐顶的水压力作用,试用三节点常应变单元和六节点三角形单元对坝体进行有限元分析,并对以下几种计算方案进行比较: (1)分别采用相同单元数目的三节点常应变单元和六节点三角形单元计算; (2)分别采用不同数量的三节点常应变单元计算; (3)当选常应变三角单元时,分别采用不同划分方案计算。 该问题属于平面应变问题,大坝所受的载荷为面载荷,分布情况及方向如图所示。 二、采用相同单元数目的三节点常应变单元和六节点三角形单元计算 1、有限元建模 (1)设置计算类型:两者因几何条件和载荷条件均满足平面应变问题,故均取Preferences 为Structural (2)选择单元类型:三节点常应变单元选择的类型是Solid Quad 4 node182;六节点三角形单元选择的类型是Solid Quad 8 node183。因研究的问题为平面应变问题,故对Element behavior(K3)设置为plane strain。 (3)定义材料参数:弹性模量E=2.1e11,泊松比σ=0.3 (4)建几何模型:生成特征点;生成坝体截面 (5)网格化分:划分网格时,拾取lineAB和lineBC,设定input NDIV 为15;拾取lineAC,设定input NDIV 为20,选择网格划分方式为Tri+Mapped,最后得到600个单元。

(6)模型施加约束:约束采用的是对底面BC 全约束。大坝所受载荷形式为Pressure ,作用在AB 面上,分析时施加在L AB 上,方向水平向右,载荷大小沿L AB 由小到大均匀分布。以B 为坐标原点,BA 方向为纵轴y ,则沿着y 方向的受力大小可表示为: }{*980098000)10(Y y g gh P -=-==ρρ 2、 计算结果及结果分析 (1) 三节点常应变单元 三节点常应变单元的位移分布图 三节点常应变单元的应力分布图

Web程序设计课程设计报告模板

Web程序设计课程设计报告课程设计题目:某电子杂志网站 姓名:肖琴霞 专业:软件工程(国际教育) 班级:10211133 学号:1021113321 指导教师:吴光明 2013 年 3 月 10 日

一、设计目的 《Web应用开发课程设计》是实践性教学环节之一,是《Web程序设计》课程的辅助教学课程。通过课程设计,使学生掌握Web网站的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本概念、原理和技术,将理论与实际相结合,应用现有的开发工具,规范、科学地完成一个完整地应用软件的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正使得计算机被广泛的应用于信息管理系统。计算机的最大好处在于利用它能够进行信息管理和查询。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。制作电子杂志网站可以方便读者阅读,且可以扩大读者的视野以及提高阅历。 二、设计解决方案 问题解决方案: 经过分析,我们决定利用ASP编程,使用Dreamweaver MX作前端开发工具,利用SQLServer2000作后台数据库管理,数据库驱动使用ADO。 前台功能模块:系统主界面与登录程序设计,杂志查询及订阅,读者服务模块,杂志分类设计等。 后台功能模块:管理主界面与登录程序设计,最新杂志信息管理模块,杂志订阅管理模块,在留言管理模块设计等。后台管理的建立,使管理员可以通过后台很容易的对杂志城进行管理,比如:对最畅销杂志,公告和杂志城注册用户进行添加,删除等管理工作,还可以对读者在线留言的处理。 三、电子杂志网需求分析 3.1 需求分析 需求分析是整个设计过程的基础,最困难、最消耗时间的一步。它的最终结果是提供

可视化程序设计实践报告

%%%%大学 可视化程序设计实践 2013 年 7月 26日 目录

1 设计目的 (1) 2 需求分析 (1) 2.1 用户 (1) 2.2 主要功能 (1) 2.3 基本流程 (1) 首先建立一个首页,在首页上链接了4个主页,分别是旅游指南,畅游中国,欧洲之旅以及浪漫之旅。而在每个子页里面我又链接了一个或几个子页,分别详述了中国的几大特色景区以及欧洲的著名的美景,还有被称为浪漫圣地的几座“小岛”。 (1) 3 网站开发过程 (2) 3.1 主页面的设计 (2) 3.2 子页面设计 (3) 4 心得体会 (6) 5 参考文献 (6)

1 设计目的 本课程的设计目的是通过设计一个简单、美观、符合实际的网页页面,能够较全面地理解、掌握和综合运用所学的知识,理解并初步掌握运用Dreamweaver可视化开发工具进行网页开发的方法;了解网页设计制作过程。通过设计达到掌握网页设计、制作的技巧。了解和熟悉网页设计的基础知识和实现技巧。根据题目的要求,给出网页设计方案,利用合适图文素材设计制作符合要求的网页设计作品。熟练掌握Dreamweaver软件的的操作和应用。增强动手实践能力,进一步加强自身综合素质。我本次主要是设计的是一个“乐我旅途”为主题的旅游网页,对各大著名的旅游景点做了介绍。 2 需求分析 2.1 用户 网站的主要浏览者是主要准备旅游的观光者。 2.2 主要功能 建立乐我旅途网站可以用精美的画面向旅游者展示每个景点的大概信息。通过建设网站宣传,提高知名度,吸引更多的旅游观光者来。除此之外,也是希望通过本人建立的网站,可以让更多人了解各个旅游地点的风光以及特色,以此来促进旅游的更好更快发展。 2.3 基本流程 首先建立一个首页,在首页上链接了4个主页,分别是旅游指南,畅游中国,欧洲之旅以及浪漫之旅。而在每个子页里面我又链接了一个或几个子页,分别详述了中国的几大特色景区以及欧洲的著名的美景,还有被称为浪漫圣地的几座“小岛”。

实验报告模板-《C程序设计实践 》

大型程序设计实验报告 课程名称C程序设计实践实验日期2011年月日至2011年月日 学生姓名所在班级学号 实验名称 实验地点同组人员 1. 问题描述 实现图书管理系统 如何让实现如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3. 对撤销图书信息的删除 4 办理借书手续 5 办理还书手续 2. 问题分析 根据题目要求,需要建立图书管理系统结构体,分别需要建立读者结构体,图书结构体。 该程序主要涉及到C语言中的文件和链表 图书信息应该存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找,修改等功能,并进行借入借出服务;另外还提供接盘是选择菜单来实现功能选择 3. 系统设计 系统应该包括以下模块:信息输入,图书查找,信息删除,图书借出,图书归还 3.1 总体设计 1系统功能的文字概述: 图书管理系统主要功能是用户的设定,读者管理,数据的录入与查询,数据的修改和删除等 2 系统的总体结构图

3主要模块的控制流程图 主函数 ( 1. 系统功能的文字概述;2.系统的总体结构图;3. 主要模块的控制流程图)3.2 界面设计 3.3 系统主要流程设计 (文字描述加流程图) 3.4 主要数据结构设计 /*--------- 数据结构的定义------------*/ struct reader {

/*姓名,学生学号/教师工号,性别,所在学院,角色*/ char name[9]; char num[11]; char sex[3]; char college[21]; char role[2]; struct reader *next; } *readersHead=NULL, *readersTail=NULL, *reader_p; struct book{ /*书名,作者,出版社,价格,ISBN号和类别*/ char book_name[41]; char author_name[21]; char publish[15]; float price; char ISBN[18]; char b_type[9]; struct book *next; } *booksHead=NULL, *booksTail=NULL, *book_p; struct borrow_info{ /*借者编号,借书日期,图书ISBN号*/ char borrower_num[11]; char borrow_date[15]; char ISBN[18]; struct borrow_info *next; } *biHead=NULL, *biTail=NULL, *bi_p; /*--------- 数据结构的定义完毕------------*/ 3.4.1 系统数据结构概述 主要有读者数据结构,用以读者信息的记录 图书数据结构用以图书信息的记录 还有已借图书数据结构用以对已借图书的统计和记录(主要用了哪些数据结构,各自的用途)

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

Javawebapp课程设计报告

《电子商务网站》课程设计报告 项目题目电子拍卖平台系统分析与设计 学生姓名 班级/ 学号 专业\ 指导教师 2011年10月制

1、系统概述 本系统实现的是一个网上拍卖系统,可以实现在线登录,注册;卖家上货,买家出价竞拍;拍卖商品列表、商品拍卖信息和商品搜索等功能,普通的Internet用户可以通过该系统注册成为会员后可以上传自己拍卖的产品和竞拍卖价的商品。 2、网站结构分析与设计 2.1目标设计 竞拍网站所要实现的功能如下。 会员注册:会员注册信息和会员登录验证 会员管理:会员资金管理 买家信息管理 卖家信息管理 2.2系统功能分析设计 竞拍网共分为三个模块:会员注册模块、会员个人管理模块和商品列表和搜索模块。其功能模块划分如图所示:

2.3数据库结构设计 根据系统功能的设计要求和模块划分,表结构设计如下:

2.4 数据库需求分析 数据项和数据结构如下。 会员信息表:自动编号、用户名、密码和身份证号码、资金、日期 商品信息表:自动编号、商品名、上传人、商品详情 卖家信息表:会员编号、商品编号、商品价格、截止时间 商品竞拍成功信息列表:商品名、用户名、竞拍时间、起初价格、最终价格、最成交时间 2.5、开发环境 开发工具:myeclipse 服务器软件:tomcat 数据库:MySQL 3.网站详细设计. 3.1网站流程设计

3.2数据库功能设计 三个存储过程: Onsell:展示拍卖信息,返回当时拍卖的所有信息; Buyingshow:展示某个商品详细信息 Buying:当用户竟拍是执行. 3.3 JA VA控制层设置 POJO包:与每一项功能相对应,设置对象类 DAO包:所有连接数据库的代码 Servlet:所有前台页面的操作过程. 3.4前台设计 以JSP为主,辅助以JS的主流技术,实现网页的动态效果和数据的动态接收,这里是项目最困难的地方. 4.网站的实施 前台\后台\控制分布实施: 4.1,初步软件结构实施 其中DAO包里全部是与数据库有关的连接数据库模式。 POJO包里全部是业务需要的数据结构类。 SERVLET包里全部是逻辑控制的控制模式。

Windows程序设计实践报告

~ Windows程序设计 实践报告 ; BY:08级空间信息与数字技术 60020 马腾

目录 任务一:Windows消息循环机制及API程序设计实践 (3) 一、实践目的 (3) 二、任务概述 (3) 三、windows消息循环 (3) 四、学习收获 (3) 任务二:基于MFC的对话框程序设计 (4) 一、任务概述 (4) 二、MFC消息映射 (4) 三、计算器程序的设计思路 (4) 四、遇到困难及解决 (5) 五、关键代码 (5) 六、运行情况 (6) 七、收获 (6) 任务三:基于MFC的单文档绘图程序设计 (7) 一、任务概述 (7) 二、模块设计及封装 (7) 三、设计的优点 (8) 四、程序风格 (8) 五、运行情况 (8) 六、使用方式 (9) 七、困难及解决 (12)

任务一:Windows消息循环机制及API程序设计实践 一、实践目的 通过实践充分理解Windows的消息循环机制,了解Windows的API函数族的分类及大致功能,并在此基础上了解基本Windows API方式开发的窗口程序的基本过程。任何框架开发环境归根结底都是对Windows API函数的封装与调用。在利用一个框架环境开发Windows程序的过程中,应该明白所使用的框架模块调用了Windows API中的那些功能函数。 二、任务概述 用visual C++开发一个Win32窗口程序,并实现如下功能: 实现菜单功能; 点击某两个菜单可在主窗口中显示或清除文字(文字内容不做要求); 点击某个菜单可弹出一个自定义的对话框(对话框中的元素不做要求), 单击对话框中的“确定”或“取消”按钮,可结束对话框。 三、windows消息循环 Windows多进程的窗口图形操作系统与DOS操作系统最大的区别就是:DOS 采用顺序执行的过程,而Windows采用事件的消息驱动。 用户进行的鼠标操作,键盘输入等操作和各个应用程序之间,应用程序和系统之间的操作都作为一个事件,产生消息,进入到指定的消息队列中,等待取出进行处理。这打破了顺序执行,而采用事件驱动的形式。 四、学习收获 1.了解了Windows的消息循环机制 2.了解了一个窗口程序的生存的始末,从窗口类的定义,注册窗口类,创建窗口,到程序运行的消息循环的主函数。 3.了解了句柄的概念,每个菜单项,窗口都有一个句柄作为自己的标示,作为消息的一部分,告诉系统处理哪个窗口,菜单项的消息。 4.了解了一些简单的API:CheckMenuItem,DialogBox等。 5.了解了消息分类,处理消息的函数里,将消息分为了WM_COMMAND、WM_PAINT

C语言程序设计实验报告优秀范文

C语言程序设计实验报告优秀范文 实验名称计算出1000以内10个最大素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内最大的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i if(n%i==0)/* 如果不是素数,返回0 */ return 0; return n;/* 如果是素数,返回该数*/ } void main { int i,j=0,n,m=0,a[1000],x; /*clrscr;*/ printf("please input a number form 1 to 1000:"); scanf("%d",&x); if(x==2)/* x=2时的处理*/ printf("%dn",x); else if(x printf("error!n");

javaweb课设报告

洛阳理工学院 课程设计报告 课程名称 Java web程序开发入门 专业计算机应用技术 _ 班级 _ 学号 _ 姓名 完成日期 _

目录 第一总体设计 (4) 1.1、设计目的: (4) 1.2设计题目: (4) 1.3.设计要求: (4) 第二设计容: (5) 2.1 题目一 (5) 2.1.1Tomcat服务器启动 (5) 2.1.2下载安装JDK (6) 2.1.3下载Eclipse安装包 (7) 2.2题目二 (8) 2.2.1分析 (8) 2.2.2用户注册设计思想 (9) 2.2.3用户注册功能实现 (9) 2.3题目三 (15) 2.3.1聊天室设计思想 (15) 2.3.2聊天室模块划分 (15)

2.3.3系统功能结构图 (18) 2.3.4 chatroom的模块设计分析 (16) 2.3.5ChatRoom 的关键技术 (19) 2.3.6 代码设计 (17) 2.3.7 聊天室功能实现 (20) 2.4题目四 (21) 2.4.1开发环境: (21) 2.4.2 系统分析: (25) 2.4.3功能实现: (26) 第三实训心得 (29)

第一总体设计 1.1、设计目的: 1、培养学生运用所学课程《Web程序设计(Java)》的理论知识和技能解决实际问题的能力,使学生在系统开发中得到Java Web编程方法及技能的综合训练。 2、培养学生调查研究、查阅技术文献以及编写技术报告的能力。 1.2设计题目: 1.下载并安装JDK、Tomcat、MySQL和Eclipse,完成Java Web应用程序开发环境的搭建。 2.使用JSP Model2模型,开发一个用户注册模块,要求:使用Servlet、JSP和Java Bean技术;界面友好;具有用户输入校验功能,并且在用户输入错误时给出出错信息。 3.使用JSP和JavaScript技术实现一个网络聊天室,功能要求具备一个使用用户昵称登录的页面,在聊天主窗口左侧有当时在线成员列表(建议采用AJAX技术),通过鼠标可以选择说话的对象(不允许自己对自己说话),在聊天时可以设置说话时表情,输入说话的容,单击发送按钮完成会话的发送,会话容实时显示在聊天主窗口,包括发言人、聊天对象、聊天容和会话发起的时间,选作的功能是将会话容保存在数据库中。

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