




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
windows程序设计考核方法要求:开发一个较大程序系统 采用Qt开发(Qt Creator/Vs或其他IDE) 代码采用Qt编码风格 题目可自选,可提供提交物:1. 一份课程设计文档,包括项目基本背景,用例分析,界面设计,类图(UML),软硬件环境要求等2. 源代码文档3. 源代码使用文档(chm,doxygen)4. 安装程序(Vs/InstallShield/.)参考题目:1. 基于RTF控件的文本编辑器,参考Text Edit2. 基于图形视图框架的mice动画程序,参考mice例子;3. 俄罗斯方块游戏,参考Tetrix4. 基于图形视图框架的Diagram Flowchart例子5. 简单通讯录管理程序6. 简单实现贪吃蛇游戏7. 简单实现聊天程序实现办法:1. 分组实现,最多3人一组2. 12月25日上课每组选一人上台演示附课程设计示例文档如下:南昌航空大学信息工程学院课题名称: 通讯录 学 号:_ XXXXXXXX 姓 名:_XXXXXX 日 期:_2012-11-25_ 指导教师:_ _XXXXXXXX_成 绩:_ 目 录一、设计系统的目的意义3二、系统需求、功能分析3 1:系统需求3 2:功能分析3-4 3:系统结构图4 三、详细设计6-121、 添加联系人72、 删除联系人8-93、 显示所有联系人 104、 修改联系人 115、 查找联系人 12四、课程设计的心得 12五、参考书目: 12 2页一、 设计系统的目的意义1、 设计系统的目的设计这个系统的目的是为了设计一个能够便捷使用的电子通讯录,能够方便的存储信息,可以将这个系统应用到手机或者其他电子设备中,方便的存储联系人,为方便查找联系人的各种信息提供方便。2、 设计系统的意义电子通讯录系统没有使用纸张等,做到了环保,符合当今环保理念这个系统使用户能够方便快捷的使用存储和查找等优势功能,且具有较高的安全性,能够有效保护用户联系人资料。二、 系统需求及功能分析 系统需求1、 需要录入联系人到通讯录中;2、 能够对通讯录中各项信息进行查找修改删除排序等一系列操作; 3、能够完成通讯录的基本功能;4、凡等候用户输入时,给出足够的提示信息;5、程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入;6、对删除数据应给出警告。功能分析1、 录入功能:选择此功能可以用户手动输入联系人各项信息; 2、查看功能:选择此功能时可以选择根据各种信息查询联系人电话、住址、性别、邮箱、QQ等各项信息; 3、 修改功能:选择此功能时能够通过输入联系人姓名或者电话修改联系人的全部信息;4、删除功能:选择此功能时能够通过输入联系人姓名或者电话删除联系人的全部信息; 5、 退出系统功能:选择此功能时能够退出系统并保存数据。 功能结构图:主界面菜单删除联系人添加联系人查询联系人修改联系人退出程序查看设计人员名单 根据姓名查询根据姓名删除根据电话删除根据电话修改根据姓名修改 三、 详细设计3.1添加联系人的实现;通过输入联系人的如下信息:姓名、电话、QQ、邮编、地址,并把输入的信息保存对象的属性,创建或者打开文件,并向文件中写入新添加的联系人信息,运行如下:代码实现如下:void AddressBook:submitContact()QString name=ui-nameLine-text(); ContactList contactlist; contactlist.Address=ui-addressText-toPlainText(); contactlist.Email=ui-emailLine-text(); contactlist.Phone=ui-phoneLine-text(); contactlist.Info=ui-InfoEdit-toPlainText(); contactlist.Qq=ui-qqLine-text(); contactlist.Msn=ui-msnLine-text(); contactlist.Career=ui-careerLine-text(); contactlist.Company=ui-companyLine-text(); if(name=) QMessageBox:information(this, tr(姓名为空!), tr(必须要输入姓名.); return ; if(currentMode=AddingMode) if(!contacts.contains(name) contacts.insert(name,contactlist); QMessageBox:information(this, tr(添加成功!), tr(%1已添加到通讯录中.).arg(name); else QMessageBox:information(this, tr(添加失败!), tr(%1已存在于通讯录中.).arg(name); return ; updateInterface(NavigationMode);3.2删除联系人的实现首先输入的姓名查找该用户,如果找到,触发删除按钮,则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!运行界面如下:代码实现如下:void AddressBook:removeContact() QString name = ui-nameLine-text(); ContactList contactlist; contactlist.Address=ui-addressText-toPlainText(); contactlist.Email=ui-emailLine-text(); contactlist.Phone=ui-phoneLine-text(); contactlist.Info=ui-InfoEdit-toPlainText(); contactlist.Qq=ui-qqLine-text(); contactlist.Msn=ui-msnLine-text(); contactlist.Career=ui-careerLine-text(); contactlist.Company=ui-companyLine-text(); if(contacts.contains(name) int button =QMessageBox:question(this, tr(删除确认), tr(确认要删除%1?).arg(name), QMessageBox:Yes|QMessageBox:No); if(button=QMessageBox:Yes) previous(); contacts.remove(name);QMessageBox:information(this, tr(删除成功), tr(%1已经删除。).arg(name); updateInterface(NavigationMode);3.23显示所有联系人的实现:把文件中的各种信息读取并显示出来,一个一个显示联系人的详细信息。运行界面如下:代码实现如下:void AddressBook:loadFromFile() QString fileName=QFileDialog:getOpenFileName(this, tr(打开通讯录文件), tr(通讯录文件(*.txl);所有文件(*); if(fileName.isEmpty() return; else contacts.clear(); QFile file(fileName); if(!file.open(QIODevice:ReadOnly) QMessageBox:information(this, tr(无法打开文件), file.errorString(); return ; QDataStream in(&file); in.setVersion(QDataStream:Qt_4_7); while(!in.atEnd() ContactList contactlist; QString name; inname; incontactlist.Address; incontactlist.Email; incontactlist.Info; incontactlist.Phone; incontactlist.Qq; incontactlist.Msn; incontactlist.Career; incontactlist.Company; contacts.insert(name,contactlist); if(contacts.isEmpty() QMessageBox:information(this, tr(文件中没有联系人), tr(你打开的文件中没有联系人。); else QMap:iterator i=contacts.begin(); ui-nameLine-setText(i.key();/显示姓名 ContactList contactlist; contactlist=i.value(); ui-addressText-setText(contactlist.Address); ui-emailLine-setText(contactlist.Email); ui-phoneLine-setText(contactlist.Phone); ui-InfoEdit-setText(contactlist.Info); ui-qqLine-setText(contactlist.Qq); ui-msnLine-setText(contactlist.Msn); ui-careerLine-setText(contactlist.Career); ui-companyLine-setText(contactlist.Company); updateInterface(NavigationMode);3.4 修改联系人模块只要输入来联系人的名字,进行文件遍历查找到联系人的信息,而后进行修改。运行界面如下: 代码实现如下:else if(currentMode=EditingMode) if(oldName!=name) if(!contacts.contains(name) QMessageBox:information(this, tr(修改成功!), tr(%1已经修改。).arg(oldName); contacts.remove(oldName); contacts.insert(name,contactlist); else QMessageBox:information(this, tr(无法修改!), tr(%1已经存在。).arg(name); return ; else QMessageBox:information(this, tr(修改成功), tr(%1已经修改。).arg(name); contactsname=contactlist; updateInterface(NavigationMode);3.25 查询联系人模块对文件进行遍历,将联系人的所有信息都显示出来。运行界面如下:代码实现如下:void AddressBook:findContact() FindDialog dialog; if (dialog.exec() = QDialog:Accepted) QString contactName = dialog.findText(); if (contacts.contains(contactName) QMessageBox:information(this, tr(查找成功), tr(呵呵,虽然联系少,但还记得你!);ui-nameLine-setText(contactName); ContactList contactlist; contactlist=contacts.value(contactName); ui-addressText-setText(contactlist.Address); ui-emailLine-setText(contactlist.Email); ui-phoneLine-setText(contactlist.Phone); ui-InfoEdit-setText(contactlist.Info); ui-qqLine-setText(contactlist.Qq); ui-msnLine-setText(contactlist.Msn); ui-careerLine-setText(contactlist.Career); ui-companyLine-setText(contactlist.Company); else QMessageBox:information(this, tr(未找到联系人), tr(很抱歉,通讯录中没有 %1 ,该检讨自己一下。).arg(contactName); return; updateInterface(NavigationMode);四、 设计心得 通讯录系统的课程设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林地租赁合同协议书范本
- 水泥预制件购销合同范本
- 酒水供货合同协议书模板
- 酒店工程制作合同协议书
- 种植土地买卖合同协议书
- 电视机合同范本代理合同
- 租赁合同变更之三方协议
- 下水管道更换合同范本
- 美发店托管协议合同模板
- 集装箱码头出售合同范本
- 茶壶课件教学课件
- 孟良崮战役课件
- 幼儿园物资采购应急预案(3篇)
- 2025-2026学年人教版(2024)初中数学七年级上册教学计划及进度表
- 制药工程导论课件
- 推拿手法精品课件
- deflt3d-教程delft网格生成d3d
- 安全心理学概述PPT通用课件
- 2022年妇科三基考试题库(导出版)
- 病媒生物防制技术指导手册(20130703)
- 钢筋加工机械技术状况常检查记录表
评论
0/150
提交评论