文档库 最新最全的文档下载
当前位置:文档库 › 简单ATM(JAVA)

简单ATM(JAVA)

简单ATM(JAVA)
简单ATM(JAVA)

《C/S项目实训》课程设计报告

组别2组

学生姓名冯雯雨学号01

学生姓名高雪倩学号06

学生姓名高赛学号07

专业班级2014级信息管理与信息系统1班

题目河北金苑银行ATM

指导教师张红霞教授

2015 年 12 月 28日

1引言 ................................................................................................... - 2 -

1.1 研究背景与现状 ...................................................................... - 2 -

1.2 研究意义 ................................................................................. - 2 - 2系统分析............................................................................................. - 3 -

2.1 可行性分析.............................................................................. - 3 -

2.1.1.功能................................................................................ - 3 -

2.1.2.性能要求 ........................................................................ - 3 -

2.1.

3.输出................................................................................ - 3 -

2.1.4.输入................................................................................ - 3 -

2.1.5.基本的数据流程和处理流程 .......................................... - 3 -

2.2 需求分析 ................................................................................. - 3 -

2.2.1性能需求 ........................................................................ - 3 -

2.2.2安全性需求 .................................................................... - 3 -

2.3 功能分析 ................................................................................. - 4 -

2.3.1 登陆功能 ....................................................................... - 4 -

2.3.2 查询功能 ....................................................................... - 4 -

2.3.3 取款功能 ....................................................................... - 4 -

2.3.4 存款功能 ....................................................................... - 4 -

2.3.5 无卡存款 ....................................................................... - 4 -

2.3.6 修改密码 ....................................................................... - 4 -

2.3.7 公益众筹 ....................................................................... - 4 - 3概要设计............................................................................................. - 5 -

3.1 系统设计指导思想 .................................................................. - 5 -

3.2 数据库设计.............................................................................. - 5 - 4详细设计............................................................................................. - 6 -

4.1 无卡存款 ................................................................................. - 6 -

4.2 公益众筹 ................................................................................. - 6 -

4.3 存款(定期,活期)............................................................... - 8 -

4.4 取款(定期,活期)............................................................. - 11 -

4.5.修改密码 ................................................................................ - 14 - 5总结 .................................................................................................. - 16 - 参考文献........................................................................................ - 17 -

摘要

现在的社会,是一个高技术时代,在科技的快速发展下,大部分系统都趋向于自动化,同时节约了人力物力,给人们带来很大的方便。这个程序设计主题是一个银行自动存取款机系统。银行ATM存取款系统能为用户提供存款、取款、查询余额、修改密码等功能,利用指针来进行操作,用户可以通过此系统进行ATM功能,即用户可以通过输入账号和密码登陆ATM系统,在系统中大致实现存款、取款、查询余额、修改密码等操作。

关键词:ATM 存取款指针

1引言

1.1 研究背景与现状

从20世纪80年代中期引进ATM机到现在,我国ATM机行业已经经历了近30年的发展历程。经过多年的培育,中国ATM行业得到了长足发展。据统计,截至2013年底,全国联网ATM保有量为52万台,较2012年新增超过10万台,增长幅度为25.1%。从人均保有量来看,2009-2012年我国ATM人均保有量由19.77台/十万人增加至37.51台/十万人,增长非常迅速。但是和加拿大、俄罗斯、澳大利亚、西班牙、日本巴西等国家人均保有量超过100台/十万人相比较,差距还很远,这也可以看出我国ATM机行业未来的发展空间还很大。

1.2 研究意义

从国内外银行业的实践来看,各行将设立集中的ATM投诉和处理中心,统一ATM的日常管理。按照科学的规划,采取区域性集中管理模式以提高ATM的处理效率和质量。因此,网点的ATM监控所采用的数字主机必须具备完善的网络功能。从目前实际情况和网络安全性考虑,传输网络采用PSTN、ISDN为宜。随着信息技术的进一步发展和完善,全行性、全国性的宽带互联,实时的集中监控也成为趋势之一。这一技术的实现,将使ATM的跨行、跨境查询和交易功能得以更快实现,使ATM的7×24小时监控模式得以更好实施。

目前,相当数量的ATM安全设施尚不完善。根据现场模拟测定,可采取以下措施。一是在ATM前0.5m处竖立一块高度在1.8m以上挡板,可增强客户操作时的安全感,还可均匀ATM前的光线,使界面不受太阳光或夜间外界灯光直射的影响。同时,经过ATM前的非使用者由于挡板隔开不会触发录像,提高录像的清晰度,减少录像误差。二是在ATM两侧安装30cm左右的拱形挡板,保护客户信息安全,同时经过ATM前的非使用者由于挡板隔开不会触发录像,减少误录。三是目前采用的机内红外探测器和机外幕帘式红外探测器隐蔽性不理想,可采用微波多普勒探头。

2系统分析

2.1 可行性分析

2.1.1.功能:取款,存款,查询余额,修改密码,公益众筹

2.1.2.性能要求:良好的安全性,操作方便,易学易懂,反应快速,故障

率低,可维护性好,可升级性好。

2.1.

3.输出:现金

2.1.4.输入:账号,密码

2.1.5.基本的数据流程和处理流程:安全与保密要求:必须足够安全,以

防被入侵。

2.2 需求分析

2.2.1性能需求

银行ATM机自动取款系统的使用者是银行系统管理员和所有开通银行账户的客户。对于银行系统管理员的管理工作,性能要求不是太高,但需要方便客户账户信息的入库等操作。对于开通银行账户的客户取款、修改密码等功能,对性能的要求比较高,一般需要达到并发数1000以上。

2.2.2安全性需求

由于银行ATM机自动取款系统的客户量很大,所以在对客户账户信息的导入和交易操作要保证速度。在客户进行交易操作的过程中又要保证事务的完整性。在整个系统中,需要完整的权限控制,以防止某些人恶意地攻击系统,修改系统中的原始记录。同时对于数据库中的数据需要定时备份,防止系统数据丢失。此外,系统要求用户在登录时需要密码验证

2.3 功能分析

2.3.1 登陆功能------输入账号和密码进行登录,如密码错误提示重新输入密码

2.3.2 查询功能------查询账户余额

2.3.3 取款功能------取款,包含定期活期取款,加入利率,日期计算,更新余额

2.3.4 存款功能------存款,包含定期活期存款,加入利率,日期计算,更新余额

2.3.5 无卡存款------可以在无卡的情况下进行存款功能

2.3.6 修改密码------修改密码,在数据库更新密码

2.3.7 公益众筹------从卡中取出钱投资,在数据库中更新金钱数

3概要设计

3.1 系统设计指导思想

在客户端有卡存款和无卡存款,主界面完成了客户的定期,活期取款,定期,活期的存款,加入利率判断,日期判断,还有众筹实现了可以捐款,修改密码,查询余额。

在服务器端实现了接受服务器端接受来的信息,判断并且连接数据库,更新数据库,并将结果回传给客户端。

3.2 数据库设计

建立了一个名为card的表

4详细设计

4.1 无卡存款

功能分析:实现无卡存款,用户在不需要输入密码的情况下,只可进行存款操作。

关键技术:两次输入账号一样时,发送给服务器端,服务器端验证该账户是否存在。

核心代码:服务器端验证:if(strEcho.equals("Nocardsave")){

String Account=br.readLine();

String account=Account;

//连接数据库

ConnDb connDb=new ConnDb();

connDb.getConn();

String.sql="select

account,pwd,money,money2,days,data,hfirstday from card where account='"+account+"'";

currCard=connDb.checkLogin(sql);

4.2 公益众筹

功能分析:用户需要参与公益众筹时可以进行投资

关键技术:把想要投入的金钱发送给服务器端,服务器端接收后执行SQL语句,成功后返回到客户端。

核心代码:发送到服务器端:pw.write("zc1\r\n");

pw.write(money+"\r\n");

服务器端接收:if(strHead.equals("zc1")){

System.out.println("take money");

float money= Float.parseFloat(br.readLine());//

数据库中的钱

float money0=currCard.getMoney();//卡里的String account=currCard.getAccount();

执行SQL语句:sql=”update card set

money=”+money3+”,hfirstday=’”+time3+”

’ where account=’”+account+”’”;

界面截图:

4.3 存款(定期,活期)

活期功能分析:取款时要先获取数据库中上次存入的钱数,但是随着时间增加会有利息的加入,所以,会有日期的判断,求相差天数。以便计算更新的钱数

最终要将现在日期更新到数据库中,所以会有Date类型与String类型的相互转化并求出天数days=(int)((now.getTime()-date.getTime())/(1000*60*60*24));这个是因为getTime()可以算出到1970年1月1日的相差的毫秒数,相减的话求出来这俩个日期相差的毫秒数,再去除以一天的毫秒数,即得出相差天数。还有现在时间的获取以及转化为String类型存储到数据库中:SimpleDateFormat simpledateformat=new SimpleDateFormat("yyyy-MM-dd");String time3=simpledateformat.format(now);便能获取现在时间的String类型核心代码:

float money= Float.parseFloat(br.readLine());//数据库中的钱

float money0=currCard.getMoney();//取出的钱

String account=currCard.getAccount();//获取账号

String time2=currCard.getHfirstday();//数据库时间

System.out.print(time2);

java.text.SimpleDateFormat formatter=new

SimpleDateFormat("yyyy-MM-dd");

Date date = null;

//当前时间String类

Date now=new Date();//获取现在时间

try {

date = formatter.parse(time2);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

int days;

SimpleDateFormat simpledateformat=new SimpleDateFormat("yyyy-MM-dd");

String time3=simpledateformat.format(now);

String time3=simpledateformat.format(calendar.getTime());

System.out.println(time3);

days=(int)((now.getTime()-date.getTime())/(1000*60*60*24));

//求相差天数

float money3=(float) (money0*((float)days*0.2+1)+money);//钱数

currCard.setMoney(money3);

//currCard.setHfirstday(time3);

// account=currCard.getAccount();

sql="update card set money="+money3+",hfirstday='"+time3+"' where account='"+account+"'";

定期存款功能分析,对于定期,完成的是有三个不同存款日期,利率也不相同,对于输入的钱数和选择存款的日期也会随着点击存款日期触发,传入信息到服务器,而服务器进行数据的更新SQL语句,实现数据库的更改。当然也要获取当前时间,存入的钱数,存入的日期完成更新。

核心代码:Date now=new Date();//获取现在时间

SimpleDateFormat simpledateformat=new

SimpleDateFormat("yyyy-MM-dd");

Stri ng time3=simpledateformat.format(now);

System.out.println(time3);

float money= Float.parseFloat(br.readLine());

sql="update card set money2="+money+",hfirstday='"+time3+"',days=90,data=0.23 where account='"+account+"'";这是3个月的利率存款

界面截屏:

4.4 取款(定期,活期)

活期取款类似于活期存款,加入固定的利率,在计算日期,计算出钱数,更新数据库。

核心代码:float money= Float.parseFloat(br.readLine());//数据库中的钱

float money0=currCard.getMoney();//取出的钱

String account=currCard.getAccount();//获取账号

String time2=currCard.getHfirstday();//数据库时间

System.out.print(time2);

java.text.SimpleDateFormat formatter=new

SimpleDateFormat("yyyy-MM-dd");

Date date = null;

//当前时间String类

Date now=new Date();//获取现在时间

try {

date = formatter.parse(time2);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

int days;

SimpleDateFormat simpledateformat=new SimpleDateFormat("yyyy-MM-dd");

String time3=simpledateformat.format(now);

String time3=simpledateformat.format(calendar.getTime());

System.out.println(time3);

days=(int)((now.getTime()-date.getTime())/(1000*60*60*24));

//求相差天数

float money3=(float) (money0*((float)days*0.2+1)-money);//钱数

currCard.setMoney(money3);

//currCard.setHfirstday(time3);

// account=currCard.getAccount();

Sql=”update card set money="+money3+",hfirstday='"+time3+"' where account='"+account+"'"

对于定期取款:

因为可能存在日期还没到的情况下,这时利率会按照活期利率计算,所以还要在计算一个相差的天数与定期天数的比较,而判断是否到期,到期float money3=(float) (money0*((float)days2*data+1)-money);//钱数,如果没到期会弹出一个窗口提示用户还没到期,是否要继续取款。如何确定后会先服务器发送一个请求,此时钱数的利率便按照活期利率计算float money3=(float) (money0*((float)days*0.2+1)-money);//钱数。

核心代码:

判断是否到期:

String time2=currCard.getHfirstday();//数据库时间

java.text.SimpleDateFormat formatter=new

SimpleDateFormat("yyyy-MM-dd");

Date date = null;

//当前时间String类型

Date now=new Date();//获取现在时间

try {

date = formatter.parse(time2);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

int days2;

//Calendar calendar=Calendar.getInstance();

SimpleDateFormat simpledateformat=new SimpleDateFormat("yyyy-MM-dd");

String time3=simpledateformat.format(now);

System.out.println(time3);

days2=(int)((now.getTime()-date.getTime())/(1000*60*60*24));

if((float)days2<=days){

pw.write("take2file\r\n");

pw.flush();

}else{

float money3=(float) (money0*((float)days2*data+1)-money);//钱数

currCard.setMoney(money3);

//currCard.setHfirstday(time3);

// account=currCard.getAccount();

sql="update card set money2="+money3+",hfirstday='"+time3+"' where account='"+account+"'";

int flag=connDb.updateCard(sql);

if(flag==1){

pw.write("take2Success\r\n");

pw.flush();

}else{

pw.write("take2Failure\r\n");

pw.flush();

接收到回传的消息后

if(strEcho.equals("take2Success")){

JOptionPane.showMessageDialog(null, "恭喜你成功取款"+money+"元\n");

tfMoney.setText("");

}else if(strEcho.equals("take2Failure")){

JOptionPane.showMessageDialog(null, "对不起,取款失败!");

tfMoney.setText("");

}else if(strEcho.equals("take2file")){

new queding(money,br,pw,currCard).init();

界面截屏:

4.5.修改密码

功能分析:获取新的密码后,发送到服务器,服务器进而执行sql语句,更新数据库。

核心代码:currCard.setPwd(pwd);

sql="update card set pwd='"+pwd+"' where account='"+account+"'";

System.out.println("pwd");

界面截屏:

5总结(设计中遇到的难点及解决方法、课程设计收获、期望)对于此次的ATM设计,比上一次的有了不小的进步,可能是每天晚上熬代码真的让自己学到了不少东西,看到别人进入梦乡,自己还在辛苦的找bug

原因,曾几何时早晨起来满脑子都是代码,一到运行的时候显示错误,现在的我们都能镇定下来仔细找出原因了,出错,那是肯定的,最终能学习到很多东西,是自己最大的收获,在网上有很多资源,当出现错误时,不停的上网上进行搜索原因,在取款存款的日期天数问题,在网上看到好多方法。可是一到自己的代码上便是错误,不停的分析,找原因,甚至一个钟头过去了,还是毫无头绪,只能换一种新的方式,不停的尝试,最终终于将时间日期这个东西弄出来了。

我们的共同收获是,团队合作也真的很重要,一个整体,即使在不相关,但是在根源上还是紧密联系的。我希望我们组的编程能力在不断地提高。

参考文献

1 石雄等编著;Dreamweaver网页制作快速入门北京:新时代出版社.

2 万常华柃传繁﹒《数据库应用》﹒北京:中国商业出版社,2000﹒43-66.

3 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.

4 李劲,SQL Server2000数据库设计与系统管理[M].北京:清华大学出版社,2001.

5 1Paul Nielsen著,刘瑞等译.Microsoft SQL Server 2000宝典.北京:中国铁道出版社.

6 曾满平枫之秋.网站创建实例精解.北京:北京希望电子出版社,2000.120-320.

7 任东陕周元哲.web开发技术,2009:284-296.

8 卢澔《基于J2EE架构的SSH框架在电子商务系统中的应用》. 2011年第四期

9 张希运.《基于J2EE框架的电子商务系统的设计与实现》,2009

10 陈臣、王斌、孙琳.《研磨Struts2》,2011

11 安德森,《信息安全工程》(第二版).清华大学出版社,2012

12 泽卡斯,《JavaSprict高级程序设计》(第三版).人民邮电出版社,2012

13 比伯奥特、卡茨,《jQuery实战》(第二版),人民邮电出版社,2012

14 李刚,《轻量级Java EE企业应用实战》(第三版),电子工业出版社,2012-04.

15 杨少敏、樊双灵,《Struts 2 Web开发学习实录》,清华大学出版社,2011-07

16 鲍威尔,《数据库设计入门经典》,清华大学出版社,2007

17 里尔丹《设计有效的数据库系统》,机械工业出版社,2006

18 吴翰清,《白帽子讲Web安全》,电子工业出版社,2012-03

19 陈臣、王斌,《研磨设计模式》,清华大学出版社,2011-01

20 王进,《J2EE框架深度历险》,东南大学出版社,2009-08

个程序员专用的代码编辑器

个程序员专用的代码编 辑器 TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】

9个程序员专用的代码文本编辑器 下面是笔者总结的 9 个最好的免费代码文本编辑器: 1. NOTEPAD++ NOTEPAD++是一款免费又优秀的文本编辑器,支持在 MS Windows 环境下运行的多种编程语言。NOTEPAD++支持超过 50 种编程、脚本和标记语言的语法高亮显示和代码折叠,能让用户迅速减小或扩大代码段以便查阅整个文档。用户也可以手动设置当前语言,覆盖默认语言。该程序还支持自动完成某些编程语言的 API 子集。 2. VIM VIM 是一个可高度自由配置的文本编辑器。它是 vi 编辑器的改进版,同时也是免费软件。该应有程序的建立是为了处理代码以及其他很多事情,而不只是为了写电子邮件和打开配置文件。它允许你编辑文本并保存简单的文本文件,但它的主要功能是还是编辑代码。它支持语法高亮显示和行编号,这是写程序必备的两个基本功能。用户也可以改变界面颜色以便增加代码的可视性。 对于文本编辑,VIM 这个程序囊括了多种语言的拼写检查器,并有建议如何更正拼写错误的能力。甚至是当你正在编写代码的时候,它也能派上用场,因为该应用程序只检查不被识别为代码的文本。当然你也可以快速地从这个错误跳到下一个以便更好地校对文本。 VIM 是程序员和开发人员应对各种文本编辑的最佳选择。 3. GNU Emacs

Emacs 是一个可移植、可扩展、免费的文本编辑器。 Emacs 提供了一些命令来管理语句和段落,高亮的语法使得源代码更易于阅读,以及“键盘宏”的方式来执行用户定义的编辑命令。 Emacs 可以在若干个操作系统上运行,无论你使用的是哪一种机器类型。这让程序员非常受用。如果你使用的是通用的编程语言,Emacs 还会为你提供模式以及相应的排版和布局,更加方便你编辑代码。 Emacs 或许不是最简单的工具,但它绝对是最强大的编辑器之一。相比 vim,Emacs 的启动时间更长,所需要的内存也更多。但是,它是高度可定制的,并且包括了大量的功能。 4. SUBLIME TEXT SUBLIME TEXT 是一个超棒的免费软件/商业性质的文本编辑器。漂亮的用户界面、卓越的功能和令人惊叹的性能一定会让你爱不释手。它可用于 Windows、Mac OS X 和 Linux 系统,并且是免费试用的,而且这个免费时间没有限制。当然你也可以花费 70 美元买个完整的许可证。一份许可证就能允许你在自己拥有的多台计算机上使用,不管每一台计算机使用的是什么操作系统。 5. ATOM Atom 是一款由 GitHub 开发的,支持用 Node.js 编写插件和嵌入Git Contral,面向 Mac OS X、GNU/ Linux 和 Windows 的免费的开源文本和源代码编辑器。没人愿意将时间浪费在配置自己的编辑器上面,于是ATOM 横空出世。它预装了所有你期望一个现代化的文本编辑器所应该具备

简单的行编辑器课程设计报告

中国地质大学 C语言课程设计 题目编号和名称16 简单的行编辑器 教师姓名 学生姓名 学生学号 学生班级 所在院系 日期2010 年7 月16 日

简单的行编辑器 目录 1.题目要求………………………………………… 2.需求分析……………………………………….... 3.总体设计………………………………………… 4.详细设计………………………………………… 5.总结………………………………………………. 1.【题目要求】 设计一个简单的行编辑器 【要求】 (1)设置一个简单的行编辑器,每行以回车结束 (2)数据以文件形式存储 (3)编辑器具有查找、替换、修改数据的功能 2.【需求分析】 根据题目要求,行编辑器的数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;在程序运行过程中要实现查找、替换、修改数据的功能应提供查找、替换、修改数据等操作;另外还应提供键盘式选择菜单功能选择。 3.【总体设计】 根据上面的需求分析,可以将这一系统的设计分为输入、查找、替换修改数据、退出等四个模块(系统功能模块如图1所示) 图1 行编辑器功能模块图

4.【详细设计】 1. 主函数 主函数的设计一般较简单,一般只提供输入、功能处理和输出部分的函数调用其中各功能模块用菜单方式选择。主函数流程图如图1-1 程序如下 void main() { cout<<"\t\t\t 简单行编辑.\n"; Str s1; Str s2; Str ss; Str ss1; Str ss2; int n; s1.input_str(); int choice=-1; while(choice!=0) 图1-1 行编辑器主函数流程 { //system("cls"); cout<<"\t\t\t *******简单行编辑******\n"; cout<<"\t\t\t ***********************\n"; cout<<"\t\t\t 1: 打印字符串.\n"; cout<<"\t\t\t 2: 插入字符串.\n"; cout<<"\t\t\t 3: 删除字符串.\n"; cout<<"\t\t\t 4: 复制整个字符串.\n"; cout<<"\t\t\t 5: 替换字符串.\n"; cout<<"\t\t\t 6: 查找一个字符串的位置.\n"; cout<<"\t\t\t 7: 继续输入. \n"; cout<<"\t\t\t 0: 退出.\n"; cout<<"\t\t\t ************************\n";

简易文本编辑器说明书

中北大学 课程设计说明书 学院、系: 专业: 班级: 学生姓名:学号: 设计题目:简易文本编辑器 起迄日期: 2016年12月16日~2016年12月29日指导教师: 日期: 2016年12月29日

1 设计目的 通过用户调查分析及实际需求,开发出一个文本编辑器,可以方便用户对文本进行编辑。系统需要实现如下基本功能: (1)具有图形菜单界面; (2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除;(3)可正确存盘、取盘; (4)正确显示总行数。 2 任务概述 要设计一简易的文本编辑器,要求有图形菜单界面,也就是菜单选择的界面,要实现的功能有对文本进行存盘,取盘,在某一个盘中新建一个TXT的文件,在里面输入内容,对这个文件进行取盘,显示出文本内容,并在显示的时候显示行数,具有对文本进行查找、替换、插入、移动、删除等功能。 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的两个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: ⑴显示当前文本信息:从文件中读出文本,在某一个盘中创建一个文本文件,所以要读出来, 显示到显示器上,并统计出行数。 ⑵查找文本信息:因为在下面做插入,删除,移动之类的都需用到查找,在查找的时候,也要 调用一个字符匹配模式的程序,来判断查找的内容是否符合所要查找的内容。 ⑶删除文本信息:首先在数组中查找要删除的信息,查找的时候调用匹配模式的子函数,如果 找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息; ⑷插入文本信息:首先调用字符匹配模式的子函数找到插入点,如果找到该插入点,提示输入 插入信息,确认插入信息后,选择是否在这个位置插入,如果是的话执行插入,不是的话再往下查找下一个插入点。 ⑸替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的 信息内容,否则提示未找到要被替换的信息; ⑹保存文本信息:在这里使用文件写入读出的功能,把你修改完的内容保存到你所建立的文 本中。 ⑺显示文本内容:读出文件中的所有字符,显示到显示器上。 ⑻退出 3 模块划分 (1)系统主要包含主程序模块和其他操作模块。其调用关系如图(一)所示。

简易图片编辑器设计文档

基于Linux平台的课程设计 设计文档 学校福建师范大学闽南科技学院 专业2011级计算机科学与技术 作品名称基于Matlab简易图片编辑器组长122512011016 何亮达 组员122512011045 叶少宁 122512011060 朱彬彬 122512011066 卓建平

一、需求分析 在这高速发展的信息时代中,人们对信息交流和信息处理的技术需求也不断提高。语音和图像是人类传递信息的主要媒介,其中视觉信息在人类接收信息中占据60%,远远高于其他信息来源,所以人们在日常生活和生产中接触最多的信息种类是图像。 为了便于人类的理解从而改善图像信息;对图像数据进行处理便于机器自动理解。我们需要对图像进行处理。 二、功能划分 1、流程图 2、主要功能介绍 此程序可以对图片进行简单的编辑。 ●截图功能:可截取用户有需要的图片的部分进行保存 ●画笔功能:在图片上利用画笔进行涂鸦 ●放大镜功能:可对图片的部分进行放大显示查看细节 ●马赛克功能:可对图片进行马赛克处理 ●旋转功能:可对图片进行顺时针或逆时针旋转任意角度 ●镜像功能:可对图片进行水平或垂直的镜像处理 ●锐化功能:可对图片进行锐化 ●反色功能:可对图片进行反色处理 ●灰度功能:可将图片进行灰度变换,变成灰度图片 三、界面设计

下面介绍本作品的界面(图1)中使用到的三种图形化控件: ●按键钮(Push Button):(如图1中使用橙色框框出的例子)使用鼠标单击按钮,其 将会执行一个所定义的动作 ●函数Axes可创建坐标系并显示图形化数据,所以常常利用它来作为显示处理的图片(如 图1中使用绿色框框出的例子) 图1 ●菜单栏Tools中的Menu Editor可以用来对系统的菜单进行设计,在弹出的对话框中单 击按钮New Menu(如图2红色框框出)来进行创建菜单,可对创建后的菜单项命名、编写调用函数、快捷键设置等。若有需求可以通过按钮New Menu Item进行创建子菜单项(如图2绿色框框出)。

C++课程设计简易文本编辑器

目录 第一章课程设计目的和要求 (1) 1.1课程设计的目 (1) 1.2基本要求 (1) 第二章课程设计任务内容 (2) 2.1设计背景 (2) 2.2简易文本编辑器设计内容 (2) 第三章详细设计 (3) 3.1总体结构图 (3) 3.2函数分析 (3) 3.3主函数程序流程图 (4) 3.4子函数流程图 (5) 第四章程序编码与调试 (7) 4.1程序编码 (7) 4.2编码调试 (8) 4.3运行结果 (9) 第五章课程设计心得与体会 (11) 附录1 参考文献 (12) 附录2 源程序代码 (13)

第一章课程设计目的和要求 C语言课程设计是一门实践性非常强的课程,不但要注重c语言程序设计基本知识的学习,更要注重程序设计技能的培养,使学生能够允许渐进地把握c语言程序设计的技能。通过课程设计,培养学生阅读和编写程序的能力,培养计算机程序设计的能力和素质,以及思维方法。初步积累编程经验,打下良好的计算机应用基础。 1.1课程设计的目 1.通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力, 能更好的巩固《c语言程序设计》课程学习的内容 2.掌握工程软件设计的基本方法,强化上级动手编程能力,闯过理论与实践相 结合的难关!更加了解了c语言的好处和其可用性。 3.掌握基本的程序设计过程和技巧,掌握基本的分析问题合理性,通过计算机 求解问题的能力,具备初步的高级语言程设计能力。为后续个门计算机课程 的学习和毕业设计打下结实基础。 4.通过c语言课程设计,使学生了解高级程序设计语言的结构。 1.2 基本要求 1.基本要求: ①要求用VC中的MFC控件打开和保存文件。 ②要求在设计的程序中至少能完成六种编辑功能。 ③完成的程序界面要美观,能够完成六种编辑的全过程。 2.创新要求: ①在记事本中增加工具栏,工具栏中应有常使用的工具按钮; ②在记事本中增加状态栏;

数据结构简易文本编辑器

数据结构简易文本编辑 器 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

题目: 【2】.简易文本编辑器 要求: 1) 具有图形菜单界面; 2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除 3) 可正确存盘、取盘; 4) 正确显示总行数。 1需求分析 一个简易文本编辑器应该具有图形菜单界面,包括查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除文本信息等功能并可正确存盘、取盘,正确显示总行数。 2概要设计 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: ⑴清空以前的文本信息:将用数组存的数据内容全部置为0; ⑵显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上; ⑶编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整 型变量,这个整型变量用于记录一维数组中存入数据的个数; ⑷替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入 要替换的信息内容,否则提示未找到要被替换的信息; ⑸插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入 信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置; ⑹移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行 列移动还是进行行移动,否则提示未找到要移动的信息; ⑺删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确 认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息;

简单行编辑器 数据结构 课程设计汇总

中国矿业大学徐海学院计算机系《软件认知实践》报告 姓名:学号: 专业: 设计题目:简单行编辑器 指导教师: 2012年12月25

目录 第1章题目概述 (1) 第1.1节题目要求 (1) 第1.2节主要难点 (2) 第2章系统流程图 (3) 第3章数据结构和算法 (4) 第4章核心代码分析 (6) 第5章复杂度分析 (10) 第6章总结 (11) 参考文献 (13)

第1章题目概述 在这次课程设计中我选的题目是文本编辑,文本编辑几乎是每个使用电脑 的人都会遇到的问题,特别是网络小说作家们。在文本的编辑中,我们会时常 遇到文本信息的统计问题、小型子串的查找问题、子串的查找和删除问题等。 如果靠人自己去观察和执行相关操作的话,不仅累人,而且很容易出错。而使 用计算机程序去实现的话,则会省力不少,而且相对来说非常精确。本程序使 用了较快速的查找算法,可以大大提高检索的效率,相信这可一极大的方便用 户用电脑编辑文本文件。 第1.1节题目要求 文章编辑 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行; 要求 (1)分别统计出其中英文字母数和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标 点符号。 输出形式: (1)分行输出用户输入的各行字符; (2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章; 实现功能 (1)文章内容的输入:包括字母、标点符号、数字等; (2)文章内容的统计:包括文章中大写字母、小写字母、数字、标点符

C语言课程设计 简单的行编辑器.

语言程序设计报告 姓名: 班级: 学号: 指导教师: 课题:简单的行编辑器

简单的行编辑器 一.题目要求 1.设置一个简单的行编辑器,每行以回车结束。 2.数据以文件形式存储。 3.编辑器具有查找,替代,修改数据的功能。 二.需求分析 根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;还需要文件具有查找,替换,修改数据的功能。 三.总体设计 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 编辑,查找,修改,,删除,替换,保存,退出。 四.详细设计 1.主函数 为了各模块的独立性,主函数一般设计得比较简单,本系统主要用主函数打开上次保存的数据和进入主菜单函数 流程图

程序 main() pfile=fopen("Linedit.txt","a+"); readfile(lines,pfile); fclose(pfile); menu(lines); } int readfile(char (*lines)[MAXC],FILE *pfile) { int i=0; while(!feof(pfile)){ fgets(lines[i],MAXC,pfile); /*if(!strstr(lines[i],"\n")) return 1;*/ i++; } return 0; } 2. 主菜单函数 流程图 程序 void menu(char (*lines)[MAXC]){ int selection; do{

system("cls"); puts("\t\t***********************MUNU******************\n\n"); puts("\t\t1.Edit new line"); puts("\t\t2.Replace line"); puts("\t\t3.Delete line"); puts("\t\t4.Search line"); puts("\t\t5.Modify data"); puts("\t\t6.Save"); puts("\t\t0.Exit"); puts("\n\n\t\t********************************************\n"); printf("Please select a number:[ ]\b\b"); do{ scanf("%d",&selection); if(selection<0||selection>6) { printf("Invalid selection!Please try again "); printf("and select a number:[]\b\b\n"); } else break; }while(true); switch(selection) { case 1:edit(lines);break; case 5:modify(lines);break; case 3:mydelete(lines);break; case 4:search(lines);break; case 2:replace(lines);break; case 6:savetofile(lines);break; case 0:myexit(lines); } } while(true); } 3.各功能模块设计 (1)编辑模块 流程图

数据结构-课程设计--简易文本编辑器

《数据结构》课程设计 班级: 10计本2班 姓名:邓寅森 学号: 2010305202 指导教师:杨老师 完成日期: 2011年12月

计算机科学与技术系课程设计评分表 课程名称: 数据结构 简易文本编辑器 教师签名: 日 期:

一、需求分析 1.1 问题描述 传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。计算机信息管理为人们的生活、工作提供了方便,提高了效率。“简易文本编辑器”是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。 1.2 基本任务 通过用户调查分析及实际需求,系统需要实现如下基本任务:(1)输入数据信息建立文本; (2)查询文本中满足要求的信息; (3)插入新的信息到文本中; (4)删除不再需要的文本信息; (5) 查看所有的文本信息。 二、概要设计 为了完成需求分析的基本任务,主要从以下3个方面进行设计:2.1 主界面设计 为了实现简易文本编辑器的各项功能,设计了一个含有多个菜单项的主控菜单模块以操作系统的各项功能,以方便用户使用系统。

系统进入菜单运行界面如图所示: 简易文本编辑器主菜单 2.2 数据结构设计 系统采用线性表的顺序存储结构表示和存储“简易文本编辑器”中的信息。实现文本的输入,删除,插入,查找,显示功能。

2.3 系统功能设计 运行程序,提示进入菜单,按“回车键”进入主菜单,再可以在主菜单上进行各项操作。每次进入菜单,选择“1键”新建文本,然后才可以进行其他操作,或者按“0键”选择退出。 三、模块设计 3.1 模块设计 系统主要包含主程序模块和其它操作模块。其调用关系如图所示。 模块调用示意图 3.2 系统子模块及其功能设计 本系统共设计了16个子模块,各程序的函数名及功能说明如下: 1、/*由模式串nextval值*/ void GetNextval(SqVString T,int nextval[]) 2、/*模式匹配KMP算法*/ int KMPIndex(SqVString S,int pos,int next[],SqVString T) 3、/*初始化串*/ void InitString(SqVString *S,char *str) 4、/*串插入*/ int StrInsert(SqVString *S,int pos,SqVString T) 5、/*串删除*/

简单的C语言编辑器课程设计

扬州大学编译原理课程设计报告 题目简单的编译器 班级计科0802班 学号081202427 姓名张俊 指导教师姜卯生 成绩 扬州大学信息工程学院 2011年6月10日

一、课程设计题目 实现一个简单的编译器 二、课程设计目的 通过编译原理课程设计,加深对课堂中所讲授的内容的理解,设计一个具有词法分析、语法、语义分析、错误处理的综合程序。进一步掌握编译程序常用实现的方法和技术,使学生初步具有研究、设计、编制和调试编译程序的能力。 三、课程设计要求 1.实现一个C语言子集或Pascal语言子集的编译器,工具任选。 2.要求实现的功能:翻译 +,-,*, / 四则运算表达式及布尔表达式,翻译包含if语句,while语句及do-while语句及相互间的嵌套。 四、课程设计语言及选用工具 选用语言:Java 工具 Eclipse 五、课程设计方法 设计过程中用到的数据结构: //关键字数组 public static List keyWord= new ArrayList(); //自定义符号串数组 p ublic static Eryuanshi[] valueAndClass = new Eryuanshi[100]; //目标代码数组 public static List siyuanshi= new ArrayList(); //目标代码类,存放四元式的另外一种形式 class Siyuanshi{ String op; String str1; String str2; } //二元式类,存放词法分析后的标志符,关键字及其类号 class Eryuanshi{ String word; int classID; } Stack stateStack = new Stack(); //状态栈

c 简易文本编辑器 t t

课题46:简易文本编辑器(2人)。要求: 1) 具有图形菜单界面; 2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除; 3) 可正确存盘、取盘; 4) 正确显示总行数。 #include #include #include #include #define MAX 10000 #define _CRT_SECURE_NO_DEPRECATE //在vs中取消warning的警告 void menu(); void shuru(char text[]); void bc(char text[]); void dakai(char text[]); void dayin(char text[]); void chazhao(char text[],int l); void tihan(char text[],int l); int strindex(char text[],char t[],int i2,int l); void shanchu(char p[],int l); void cs(char text[]); void charu(char text[],int l); void tuichu(int status); char text[MAX]=""; //文本编辑域 char name[20]=""; //文件保存的位置 int status=0; //显示是否保存过的状态 int ntext; //文本编辑的位置 void dakai(char text[]) { system("cls"); FILE *fp; char pd,ch; char name[30]; int i=0; printf("输入A:确定打开文件(未保存的数据将会丢失) M:返回主菜单"); fflush(stdin);

简单文本编辑器-设计报告

简易文本编辑器 ●需求分析 该简易文本编辑器具有图形菜单界面,包括打开,查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除,显示文本信息,保存文本信息等等功能并可正确存盘、取盘,正确显示总行数。 ●概要设计 为实现数据的有序存储,该编辑器用字符数组来存储输入的信息。数组是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息(包括功能的完成的基本思想): 1) 清空以前的文本信息:将用数组存的数据内容全部置为0; 2) 显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上; 3) 编辑信息:通过对数组的直接输入操作得到字符数组,这要求数组有绝对大的空间,而且每一次的输入完毕必须有相应的数组下表地址的记录,应此建立一个全局变量ntext记录; 4) 查找信息:通过循环在数组中找到所需要的信息; 5) 替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息; 6) 插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置; 7) 移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息; 8) 删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息; 9) 退出编辑器:通过确认是否保存安全退出。 10)程序中主要的函数为:子串查找在朱串的位置,程序如下: int strindex(char text[],char t[],int i2,int l) //查找要操作的数据的位置(模式匹配) { int i1=l,j=0; while (i1

简易文本编辑器课程设计报告说明书

简易文本编辑器 摘要:此次课程设计设计了一个简易的文本编辑器,该程序主要用于文本编辑的几个操作,主要由C语言实现。基于对文本编辑的需求该程序的功能在于:输入一页文字,程序可以统计出文字、数字、空格的个数统计某一字符串在文章中出现的次数,并输出该次数;删除某一子串,并将后面的字符前移。程序算法立足于书本并适当改良,能够实现文本的一些特定操作。 关键词:文本编辑 C语言程序算法

Abstract:Thecurriculumdesigned asimpletext editor, which is mainly used fortexteditingofseveraloperations, mainly by theC programming language.Based onthe needs ofthe programtext editing,the program caninput atext, countthe number ofwords numbers and spaces in the file, statisticsthe number of astringofin the article, andoutputthenumber of times; to remove asubstring, andthe charactersbehind theforward. Program algorithmbased on thebookalso have some improvement.Able to achievesome specifictextoperations. Key words:Text editing C programming language Program algorithm

简单的行编辑器课程设计

程序设计课程设计报告二00八年七月一号

目录1……………………………………………设计目的2…………………………………………设计题目和要求3…………………………………………总体设计4…………………………………………详细设计5…………………………………………源程序清单和执行结果6…………………………………………总结

1 设计目的 设计一个简单的行编辑器,了解行编辑器的应用2 设计题目和要求 题目:简单的行编辑器 要求:1)设计一个简单的行编辑器,每行以回车结束2)数据以文件形式储存 3)编辑器具有查找修改删除数据的功能 3总体设计 简单的行编辑器 删除一行删除一行 显示一行显示一行 文件存盘文件存盘 装入文件装入文件 退出 4 详细设计 1)结构体的应用 struct line{ char text[81]; int num; /*行号*/

struct line *next; /*指向下一个输入项目的指针*/ struct line *prior; /*指向前一个项目的指针*/ }; struct line *start; /*指向表中第一个项目的指针*/ struct line *last; /*指向表中作后一个项目的指针*/ struct line *find(int),*dls_store(struct line *); 注:在结构体中分别声明项目指针及项目中的指针变量2)函数声明 void patchup(int,int),delete_text(),list(),save(char *),load(char *); menu_select(); enter(int linenum); 注:在结构体外分别对输入、删除、显示等函数进行声明 3)主函数和switch语句 void main(int argc,char *argv[]) { char s[80],choice,fname[80]; // struct line *info; int linenum=1; start=NULL; last=NULL; if(argc==2) load(argv[1]);/*装入命令行上的文件*/ do{ choice=menu_select( ); switch(choice) { case 1:printf("\t行号:"); gets(s); linenum=atoi(s); enter(linenum); break; case 2:delete_text(); break; case 3:list(); break; case 4:printf("\t文件名:"); gets(fname); save(fname); break; case 5:printf("\t文件名:"); gets(fname);

字符串实现一个简单的行编辑器(数据结构课程设计参考样本)

用字符串实现一个简单的行编辑器 学生姓名:OOO 指导老师:XXX 摘要:本课程设计主要解决在文本编辑中,对行编辑的问题,通过字符串完善对文本的编辑,实现对文本的查找、替换、和修改数据。在本课程设计中,系统开发平台为Windows2000,程序设计语言为C语言,程序运行平台为Windws 98/2000/XP。在程序设计中采用了字符串的方法实现对简单的行编辑器。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在实际中解决问题。 关键词:程序设计;行编辑器;C语言;

1 引言 对于日常生活中的文本编辑来说,行编器是一个很重要的问题,文本的完善关系到文件做出的完美,决定了人们在编辑文本的时效率。一个好的用字符串实现的行编辑可以大大的提高人们办公效率。 1.1 课题背景 行编辑器是文本编辑器的一种,针对行进行编辑。现在看来当然非常地老式,这种编辑器起源于操作员还使用电传打字机的年代,也就是一个打印机连着键盘,因为没有显示器,也就无法在文档中移动光标。行编辑器只能从事最简单的输入输出。输入、编辑、文档显示并不能同步地进行。一般而言,用户无法直接输入文本,而只能在文本终端上通过简要的命令,对已有的文档进行添加或编写。命令和文本,以及编辑器的相应输出,会根据他们的输入顺序,从底部开始逐一显示。虽然命令一般会显示被修改的行,但如果要将行连同文档中的上下文显示,则需要另外单独的命令。 现在常见的编辑器,都是通过移动光标,来选取要编辑的文本段落,与此不同的是,行编辑只能对“当前行”进行编辑。一般也可以在行内进行上下文匹配,或者选择特定行,以决定哪部分文档将被编辑或显示。当然,这些编辑每次都只能针对一行。行编辑器就只能一行一行的编辑,不能出错,一出错就得重来。 因此我们用字符串来定义,可以增强行编辑器的应用,增强可读性,加快人们的编辑文本的效率,从而推进社会的发展。这就是其重要意义。 1.2 课程设计目的 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。 数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种

简单的行编辑器(C语言)

简单的行编辑器 【要求】 (1)设置一个简单的行编辑器,每行以回车结束 (2)数据以文件形式存储 (3)编辑器具有查找、替换、修改数据的功能 2011-7-9。请把所有的注释信息提取出来就可以写程序设计报告。 #include /*标准文件流操作,这里使用了 open/fclose/fprintf/printf/scanf/gets函数*/ #include /*标准系统库,这里使用了malloc/free/exit*/ #include /*标准字符串库,这里使用strlen/strcpy/memcpy/memset*/ #define szLINE 252 /*定义一行字符串最长为252字节*/ #define CMDS 12 /*定义12个标准行编辑命令*/ /*采用链表存储文本*/ typedef struct LINE { char text[szLINE]; /*文本内容*/ struct LINE * next; /*链表指针*/ }L; /*简写无类型整数*/ typedef unsigned int U; /*定义12个行编辑命令的标准格式*/ typedef void (*FUNC)(L **, char*); /*定义12个标准行编辑命令的关键字*/ char keywords[CMDS][8]={ "quit", "help", "load", "save", "view", "count", "append", "insert", "erase", "edit", "lookup", "replace" }; /*end keywords*/ /*清空链表操作*/ void clear(L ** lines) { L *a =0, *b=0; if(!lines) return ; a = *lines; while(a) { b=a->next ; free(a); a=b; } /*end while*/ *lines=0; } /*end clear*/ /*在链表中根据行号index调出指定的行*/ L *locate(L *lines, U index) { L *t=lines; U i = 0; if(!t) return 0;

简单的行编辑器源程序

简单的行编辑器源程序 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #define MAXL 100 /*最大行数*/ #define MAXC 80 /*每行最大字符数*/ #define true 1 char lines[MAXL][MAXC]={0}; void edit(char (*lines)[MAXC]); void modify(char (*lines)[MAXC]); void mydelete(char (*lines)[MAXC]); void search(char (*lines)[MAXC]); void replace(char (*lines)[MAXC]); void savetofile(char (*lines)[MAXC]); void myexit(char (*lines)[MAXC]); void menu(char (*lines)[MAXC]){ int selection; do{ system("cls"); puts("\t\t***********************MUNU******************\n\n"); puts("\t\t1.Edit new line"); puts("\t\t2.Replace line"); puts("\t\t3.Delete line"); puts("\t\t4.Search line"); puts("\t\t5.Modify data"); puts("\t\t6.Save"); puts("\t\t0.Exit"); puts("\n\n\t\t********************************************\n"); printf("Please select a number:[ ]\b\b"); do{ scanf("%d",&selection); if(selection<0||selection>6) { printf("Invalid selection!Please try again "); printf("and select a number:[]\b\b\n"); } else break;

【卡牌编辑器】新手使用简单图文教程【修改版】

【卡牌编辑器】新手使用简单图文教程【修改版】感谢大神们给联手给我们制作了这么好的游戏,还有这个新的卡牌编辑器。下文是给部分不会使用ps模板,对端午版的卡牌编辑器也不太熟悉的同学参考的。已经会 神上写的关于编辑器的介绍帖子,制作头像的同学的同学可以飘过,, 果断去顶大神的帖子呗 ;extra=page%3D1刚刚再次拜读一下神上的帖子,发现一个情况没有告诉大 家。如果第一次看这个教程的话可以忽略下面的提示字,下面教程我已经补全了。 技能名字那个框是可以移动的,就是点击技能名字的文本框的时候可以按键盘的“上下键”去移动技能名字的位置。特此通知,, 废话不多说了,直奔正题。 准备工作: 一、diy编辑器需要的字体,下载分享下面链接的rar文件:(第一次使用万恶的隐藏) 本帖隐藏的内容需要回复才可以浏览 下载完之后把里面的全部文件放到c:\wi ndows'fo nts 文件家里,完成字体的安装。如果用不了的话请重启你的电脑。 二、准备一张武将图片,简单编辑一下角度

双击图片,然后按旋转角度的按钮,关闭的时候会让你选择是否保存,确定就可以了。如下图 旋转按钮 旋转后:

B 61CT5 5H 5ce5140^48903 7^b-jpg - Window 彗... S:样0 * EffiiE) * 鬲孑尉0(L IF區£ - 和 准备工作完成。打开程序的卡牌编辑器,如下图 没有选择好字体,所以会出现框框文字

正式开始: 、导入你的武将牌 导人+”Ctrl^O 琢-6k £ Ctrl4Q tvtd LET [20]行距□

丈呻L M Si琲豊 宁洋廿fg茴恂yw"打:岳 释:沪1[£_ *,「盂史 U^Lt* 5 * 田斛|.4 ICO I Z * f^-rff Mttn LT H J^liFi|[ 隈[Bwuid Ejff卫1 1!S> 'Frt^'f 申* WM髓白忖1iT中: 、调整武将牌大小 武将牌大小可能不满意,调整图像比例,还有拖动武将牌位置,如下图 三、编辑称号 1,先把输入法调到繁体的状态,下图

数据结构 课程设计 简易文本编辑器

《数据结构》课程设计 班级:10计本2班 姓名:邓寅森 学号:2010305202 指导教师:杨老师 完成日期:2011年12月

计算机科学与技术系课程设计评分表课程名称:数据结构简易文本编辑器 项目评价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 功能完善度 综合成绩 学号班级姓名综合成绩2010305202 10计本2班邓寅森 教师评语 教师签名: 日期:

目录 一、需求分析 (3) 二、概要设计 (3) 三、模块设计 (6) 四、详细设计 (8) 五、调试分析 (9) 六、用户使用说明 (13) 七、参考文献 (13) 八、对所设计的软件进行自我评价,如创新点、未解决的问题等情况说明 (13) 九、程序源代码: (14)

一、需求分析 1.1 问题描述 传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。计算机信息管理为人们的生活、工作提供了方便,提高了效率。“简易文本编辑器”是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。 1.2 基本任务 通过用户调查分析及实际需求,系统需要实现如下基本任务:(1)输入数据信息建立文本; (2)查询文本中满足要求的信息; (3)插入新的信息到文本中; (4)删除不再需要的文本信息; (5) 查看所有的文本信息。 二、概要设计 为了完成需求分析的基本任务,主要从以下3个方面进行设计:2.1 主界面设计

为了实现简易文本编辑器的各项功能,设计了一个含有多个菜单项的主控菜单模块以操作系统的各项功能,以方便用户使用系统。

相关文档
相关文档 最新文档