文档库 最新最全的文档下载
当前位置:文档库 › Java课程设计 个人通讯录管理系统

Java课程设计 个人通讯录管理系统

Java课程设计 个人通讯录管理系统
Java课程设计 个人通讯录管理系统

《JAVA程序设计》

课程设计说明书

班级

目录

1 引言 (1)

1.1课程设计选题 (1)

1.2课程设计的目的 (1)

1.3本选题的设计背景 (1)

2 需求分析 (1)

2.1 功能需求 (1)

2.2 系统的开发运行环境 (2)

3 总体设计 (2)

3.1 系统体系结构设计 (2)

3.2系统功能模块及主要类设计 (3)

3.3数据库设计 (4)

4 详细设计与实现 (5)

4.1 登录模块 (5)

4.2 注册新用户模块 (6)

4.3 查询模块 (7)

4.4 添加模块 (8)

4.5 修改模块 (9)

4.6删除模块 (11)

4.7备份模块 (11)

4.8退出模块 (12)

5 小结和展望 (12)

参考文献 (13)

附录 (14)

使用说明书 (14)

1引言

1.1课程设计选题

《个人通讯录管理系统》

1.2课程设计的目的

通过编写并调试一个Java应用软件,熟悉和掌握使用Java开发应用程序的完整过程。

使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。

1.3本选题的设计背景

一直以来就想做一个比较实用的通讯录管理系统,这样可以方便我对于身边联系人信息的管理,防止遗忘和丢失。

在这样一个信息化的社会里,人们的生活也越来越离不开电脑了,本次通过做个人通讯录管理系统,希望摈弃传统的纸质记录的弊端,发挥电脑软件的优势,方便人们对自己的联系人信息的管理。

2需求分析

2.1 功能需求

(1)登陆功能。用户可以直接输入用户名和密码,登陆进入通讯录的主功能界面。

(2)注册功能。其他用户可以输入自己的用户名和密码及确认密码,来实现注册成为该通讯录的使用者。

(3)查询功能。在该功能里,用户可以采用模糊查询和精确查询两种查询方式来对自己存储的联系人信息进行查询。

(4)添加功能。在该功能里,用户可以添加自己的常用联系人和分组信息。

(5)修改功能。此功能里,用户可以修改数据库中已存的联系人信息和分组信息,以及个人的登陆密码。

(6)删除功能。在该功能里,用户可以输入自己想要删除的分组名和联系人姓名。

(7)备份功能。用户可以通过保存对话框,选择自己想要保存的联系人信息的路径,然后将其保存为txt文件。

(8)退出功能。用户可以选择退出程序,也可以选择重新登录。

(1)系统的容错能力。在做该系统时,一定要考虑全面可能出现错误信息的地方,然后加上try catch 语句进行捕捉,防止造成系统故障。

(2)系统的对话框提示。当注册用户时,用户名有重复时,提示不可注册;注册密码与确认密码不同时,也要弹出提示,不允许注册等等一系列对话框弹出提示。

(3)在使用数据的查询语句时,尽量使用存储过程提交,方便了对数据库的查询,同时也提高了查询速度。

(4)便捷性。尽量用户界面做的简洁大方美观,有很好的用户界面交互能力,也使用户使用起来更加方便。

2.2 系统的开发运行环境

本系统开发平台: Java + sql server 2008

本系统集成开发环境:Eclipse

本系统运行环境: windows 7 家庭普通版

3总体设计

3.1 系统体系结构设计

在登陆界面,如果不是该系统的用户的可以点击注册用户名和密码。如果已经是该系统的用户的,可以输入用户名和密码后,登陆进入主功能界面,在主功

能界面里,用户可以对通讯录实现以下功能:查询、添加、修改、删除、备份,退出等功能。具体功能结构图如下:

通讯录系统的使用者,以及一些注册界面的设计和布局。

(3)BookWindow.java。该类为用户主功能界面,在该类里,包括菜单、菜单项的设计,以及实现查询、添加、修改、删除、备份和退出功能的界面布局设计和它们的功能的实现。并且这些功能基本上都在一个窗体下的面板里显示的。

(4)ModifyContactuser。该类主要用于实现联系人信息的修改功能。包括窗体组件的布局和设计,以及要修改的联系人的默认信息的显示在文本框里等。

(5)Search.java。该类中定义了一系列的公有的、静态的变量。目的是为了获取要修改的联系人的所有信息,以便当要修改联系人时弹出的窗口里面有联系人信息的默认值。

(6)User.java。该类主要是为了当用户修改密码时,原用户的用户名和密码默认都已在文本框里显示了,用户不必再手动输入自己的用户名和密码,只需输入自己要修改后的密码就行,方便了用户的使用。

3.3数据库设计

(1)数据表的设计

根据系统的需求,在该数据库中主要建立了3个表,分别为:联系人表(contactUser125)、分组表(contactGroup125)、用户表(systemUser125)。

①联系人表(联系人编号(int identity(100000,1))、联系人姓名

(varchar(10))、性别(char(2) check(sex='男'or sex='女'))、出生日期(date)、家庭住址(varchar(50))、邮编(char(6))、电话(varchar(12))、手机(char(11))、Email(varchar(20))、QQ(varchar(12))、MSN

(varchar(20))、公司地址(varchar(50))、公司电话(varchar(12))、分组编号(smallint)、备注(varchar(100)))。

②分组表(分组编号(smallint identity(1000,1))、分组名(varchar(20))、用户编号(tinyint))。

③用户表(用户编号(tinyint identity(100,1))、用户名(varchar(10))、用户密码(char(16)))。

(2)数据完整性设计

实体完整性:在创建表的过程中已经为表contactUser125的主键设为contactid 列,contactGroup125的主键设为groupid列,systemUser125的主键设为userid。

域完整性:在创建contactUser125表的的过程中,就已经对sex列做了check约束,即只能是‘男’和‘女’;然后,对于contactUser25表里的Email列创建了名为email_constraint的check约束,规定每个Email的格式必须包含@.com。

参照完整性:在创建表的过程中,已经把contactGroup125的外键列userid参照了systemUser125表里的userid,把contactUser125表里的外键列groupid参照了contactGroup125表里的groupid 列。

(3)存储过程设计

在本通讯录系统中,我一共做了十个存储过程。

①创建查询用户个人创建的所有联系人信息的存储过程search_all_info1,这是一个无参的存储过程,通过该存储过程,用户可以快速的获取contactUser125表里的联系人信息。

②创建一存储过程insert_systemUser,形参为@username,@userpassword,该存储过程可以向形参传递增加的用户名和密码,然后向systemUser125表里增加一条记录。

③创建一存储过程insert_contactUser,形参为@contactName,@sex,@birthday ,@homeAddress ,@postcode,@telephone,@handset,@Email ,@QQ,@MSN,@companyAddress,@companyPhone,@remark 。该存储过程可以向形参传递要增加的联系人信息,然后向contactUser125表里增加一条记录。

4详细设计与实现

4.1 登录模块

1功能设计

用户输入正确的用户名和密码后点击“登录”按钮则可以进入到该通讯录管理系统,如果输入错误,则提示“用户名或密码错误!”,如果用户名为空,则提示“用户名不能为空!”,如果密码为空,则提示“密码不能为空!”

2.界面设计

3模块算法(或重要代码段)

①当用户点击“登录”按钮时,由于登录按钮添加了监听器,所以会产生一个监听动作,即系统会主动获取文本框中输入的用户名和密码,连接数据库,然

后和数据库中systemUser125表中的username和userpassword列的数据相比对,如果完全匹配,则进入主功能界面,否则失败。

②当用户点击“取消”按钮时,使用System.exit(0)自动退出系统。

③当用户点击“注册”按钮时,则弹出注册窗口。

4调试与测试

当用户名为空时,会弹出提示信息“用户名不能为空!”;当密码为空时,会弹出信息“密码不能为空!”当用户名或密码和数据库中的不匹配时,则会弹出提示信息“用户名或密码错误!”。

4.2 注册新用户模块

1功能设计

用户在登录界面点击“注册”时,会弹出一个注册新用户的窗口,在这个窗口里,想要使用该系统的人需填写用户名、密码、确认密码来注册成为该系统的用户。

2界面设计

3模块算法

①当用户点击“注册新用户”按钮时,由于该按钮添加了监听器,所以系统会发现用户点击了它,并且会产生一个监听动作,即获取用户名、密码和确认密码文本框中的字符串,然后通过连接数据库和使用数据库的SQL语句,将从文本框中读取到的字符串插入到数据库中的systemUser125表中,实现注册功能。

②当用户点击“退出”按钮时,由于按钮添加了监视器,系统会产生一个监听动作,即退出该界面。

4调试与测试

如果用户名为空时,会弹出提示信息“用户名不能为空!”;如果用户名框中输入的字符在数据库中已经存在,则会弹出提示信息“该用户名已存在!”;如果密码框为空时,系统会弹出提示信息“密码不能为空!”;如果确认密码框

为空时,会弹出提示信息“请输入确认密码!”;如果密码框和确认密码框中输入的字符串不同的话,则会弹出提示信息“两次密码输入不一致!”

4.3 查询模块

1功能设计

在该功能里,用户可以选择“模糊查询”和“精确查询”两种操作,如果用户选择“模糊查询”的话,则又可以选择“按姓名查询”、“按分组查询”、“按手机号码查询”三种方式,这三种方式属于复选框类型的,用户可以根据自己的需要选中自己的查询方式,然后在该方式的文本框中输入内容,查询即可。如果用户选择“精确查询”的话,也可以选择“按姓名查询”、“按手机号查询”、“按QQ号查询”这三种方式里的一种方式,选中查询方式后,在文本框中输入字符串,点击查询即可。

2界面设计

模糊查询

精确查询

3模块算法

①模糊查询算法

当用户点击了“查询”按钮时,会产生一个监听动作,这个监听动作为:首先要加载数据库连接,然后定义一个StringBuffer类型的字符串str,并给他

赋初值为SQL语句的查询语句字符串,然后使用if条件判断三种查询方式中,哪些方式被选择了,然后把被选择的查询方式所对应的where条件采用

str.append( )方式,追加到SQL语句中,然后把StringBuffer类型的字符串用toString( )方法转换为String类型,最后把查询的结果在表格组件中显示出来。

②精确查询算法

当用户点击“查找”按钮时,会产生一个监听动作,这个监听动作为:首先要加载数据库连接,然后定义一个StringBuffer类型的字符串str1,并给它赋初值为"SELECT * FROM contactUser125 where 1=0",然后采用if...else if...else if条件来判断用户选择的是哪一个单选框,如果选择“按姓名查询”单

选框,则在str1后面调用append方法追加"or

contactName='"+jt4.getText()+"'",否则的话,如果选择“按手机号查询”,则在str1后面追加"or handset='"+jt4.getText()+"'",否则的话,如果选择“按QQ号查询”,则在str1后面追加"or

QQ='"+jt4.getText()+"'",最后将str1调用toString()方法转换为String 类型,最后将查询的结果在表格组件中显示出来。

4调试与测试

刚开始对于模糊查询也有自己的想法,那就是把复选框中所有可能的条件组合全都列出来,然后由系统去判断用户选择的复选框组合属于哪一种,然后再去查询结果,后来,觉得这样做,会有点麻烦,最后,在向老师请教后,终于有了简单的可行的方法,那就是定义一个StringBuffer类的对象,然后去判断哪一个复选框被选中了,把被选中的复选框的条件,追加到where条件中,这样就实现了简便的模糊查询。而对于精确查询的实现,也就慢慢地迎刃而解了。

4.4 添加模块

1.功能设计

在该功能里,用户可以添加新的分组和新的联系人信息到数据库的相应的表中。

2.界面设计

添加分组

添加联系人

3模块算法

由于在“添加”按钮里添加了监听器,执行的监听动作为:首先获得一个数据库的连接,然后调用getText( )方法获得文本框中输入的字符串,用isSelected( )方法判断输入单选框里被选中的项,用getSelectedItem()方法获得下拉列表框里被选中的项。然后用SQL语句将字符串和项写入到数据库里相对应的表里面。

4调试与测试

①添加分组

在调试的过程中,当点击“添加”按钮时,会出现以下提示信息:如果分组名为空,则提示“分组名不能为空!”,如果要添加的分组名在数据库里已经存在,则会弹出提示信息“该分组已存在!”,否则的话,分组名添加成功。

②添加联系人

在添加联系人时,如果姓名为空的话,会弹出提示信息“姓名不能为空!”,如果要添加的姓名在数据库中已存在,则提示“姓名已存在!”的信息。在添加联系人时,遇到的主要问题是,刚开始在实现从数据库查找出分组名,然后在把分组名添加到列表框里的过程中,一直出现问题,后来在同学的帮助下,终于实现了这个功能。具体的实现措施是先从数据库中的

contactGroup125表里查询出所有的分组名,把它放在一个一维的字符串数组里,然后再把这个一维数组添加到列表组件中。

4.5 修改模块

1.功能设计

在该功能里,要实现的主要功能是,可以修改分组名,即在列表框里选择要修改的分组名,然后在下面的文本框里写出修改后的分组名就可以修改了;还可以修改联系人信息,用户选择要修改的联系人后,弹出一个包含所有联系人信息的窗口,用户只需修改自己想要修改的信息即可;另外,用户还可以修改自己的密码,由于在文本框里已经默认的把用户名和密码写在文本框里了,所以用户在修改时,只需填写修改后的密码和确认密码即可。

2.界面设计

修改分组信息

修改联系人信息

修改密码

3模块算法

①修改分组信息

首先从数据库里查找出当前contactGroup125表中所有分组名称,然后把分组名放到一维字符串数组listGroupname1[]里,然后把这个一维数组添加到列表框jcgroup1里,在修改分组名时,先从列表框里选择要修改的分组名称,以及从文

本框里输入修改后的分组名称,当点击“确认修改”按钮时,就会获得一个数据库连接,然后利用SQL语句,把分组信息的修改反映到数据库里。

②修改联系人信息

当修改联系人信息时,首先要从文本框里获取要修改的联系人信息,然后从数据库里查找该联系人是否存在,如果存在,则弹出一个窗口,由于在添加联系人信息时,已经把所有的文本框里的信息都赋给了search类里的静态成员变量,然后又把这个类所获取的信息,给该窗口定义了初值,所以在这个窗口里包含着用户在添加联系人信息时所填写的所有信息,用户在修改时,只需修改自己想要改动的信息即可,然后点击“修改”按钮,就会通过SQL语句将修改后的信息存入数据库中。

③修改密码

修改密码算法与修改联系人信息的算法大致相同,也是定义一个类来获取用户登录时的用户名和密码,然后在修改密码时,在把这些获取的用户名和密码设为文本框的默认值,用户在修改时,只需填写“新密码”和“确认密码”即可,然后把修改后的值通过SQL语句反映到数据库中。

4调试与测试

在修改分组名时,当点击“确认修改”按钮时,如果修改后的分组名为空,则弹出提示信息“修改后的分组名不能为空!”;如果修改后的分组名在数据库中已存在,则弹出提示信息“修改后的分组名在数据库中已存在!”,否则,修改成功!

在修改联系人信息时,当点击“查找”按钮时,如果联系人姓名为空时,则提示“联系人姓名不能为空!”,如果联系人姓名在数据库中不存在,则提示“该联系人不存在!”,否则,弹出修改联系人信息的窗口。

在修改用户密码时,当点击“提交”按钮时,如果“新密码”为空,则提示“新密码不能为空!”,如果“新密码”和“确认密码”输入的不同时,则提示"新密码和确认密码不一致!",否则,提示,修改成功。

在这个模块里,我遇到的主要问题就是如何把前面登录时的用户名和密码成为修改密码时相应文本框里的默认值,在和同学的交流和自身的学习后,最终得以解决。

4.6删除模块

1.功能设计

在该功能里,用户可以输入自己要删除的分组名或者联系人名来删除分组或者联系人信息。

2.界面设计

删除分组

删除联系人

3模块算法

①删除分组

当点击“删除”按钮时,系统会从文本框里获取已经输入的要想删除的分组名,然后把它和数据库里的分组名进行比较,如果数据库里有该分组名,则实现删除。

②删除联系人

与实现删除分组的算法完全相同,这里就不在陈述。

4调试与测试

在删除分组时,当点击“删除”按钮时,如果分组名为空,则提示"分组名不能为空!",如果分组名在数据库中不存在,则提示"该分组不存在!"否则,删除成功!

在删除联系人是,当点击“删除”按钮时,如果联系人姓名为空时,则提示"联系人姓名不能为空!",如果联系人姓名在数据库中不存在,则提示"联系人不存在!"否则删除成功。

4.7备份模块

1.功能设计

就是实现一个简单的把联系人信息保存为txt文件,而且自己可以选择保存路径,方便以后的使用。

2.界面设计

3模块算法

首先建立一个二维字符串数组backup[ ][ ],然后把从数据库中读到的联系人信息全部都存储到该二维数组里,然后新建一个JFileChooser类的对象chooser2,然后用该对象调用showSaveDialog()方法,弹出一个保存对话框,接着用chooser2调用chooser2.getSelectedFile().getAbsolutePath()来新建一个文件类的对象f2,再用该文件类新建一个StringBuffer类的对象fin,然后调用该类的write方法将联系人信息循环写入到txt文本文件中。

4调试与测试

在做的过程中,虽然花费了一些时间,中间也遇到了一些问题,但最终还是自己独立解决了。

4.8退出模块

1.功能设计

在该功能里,主要实现了退出程序和重新登录的功能。

2.界面设计

3模块算法

①在退出程序中,主要调用java的System.exit(0)来退出整个系统。

②在重新登录功能中,主要是采用新建一个登录类的对象,然后将现有窗口隐藏的方法来实现。

4调试与测试

由于该部分比较简单,没有遇到问题。

5小结和展望

在此次java课设中我做的是一个《个人通讯录管理系统》,早在做课设之前,我就一直想过要做一个这样的系统,所以在我们数据库综合实验时,我就选择了做个人通讯录的数据库系统,因而在做java课程设计时,也正好派上了用场。

该开始做java课设时,本来想着应该很简单,几天就能搞定,因为我之前做过一个相类似的系统,也算有点经验吧,寻思着就借用之前的思路和方法直接拿过来

用就行。后来我又想,不能这样做,因为如果我还按之前的套路走的话,可能会很快完成这次课设,但是却不会对我的编程能力和编程思想有任何提高,于是我决定,开辟新思路,体现出和之前的不同,于是我便着手了自己的创作。

在做的过程中,遇到了不少的问题,首先就是关于复合查询的问题,最终在老师您的帮助下得以解决,其次遇到的问题就是如何把前面登录系统时用到的用户名和密码作为修改密码功能里面的用户名和密码文本框里的默认值,以及如何把所有的功能的组件都在一个窗体里显示,最终在和同学交流的过程中得以解决。

在这次课设还存在的问题就是,由于我缺乏编程经验,导致变量的定义有点混乱,太多了,有时如果自己不仔细的往前找找,也不说不清某个变量的含义了,虽然在后面的编程中已经开始注意到了这个问题了,但是由于前面的变量太多,所以也没有修改。在以后的编程中我会更加注意这个问题的。

这次课程设计也让我学到了很多东西,其一是个人的独立思考能力和老师同学之间的相互交流相结合。就是在我们遇到问题时,首先一定要自己动脑想一想该如何解决问题,在这个过程中可以查阅资料,因为只有自己经过深思熟虑做出来的才会记忆更深刻,其次,如果自己实在想不出来,可以向同学或老师请教来解决问题,但这样解决问题之后,自己一定要消化吸收成为自己的东西,才能学以致用;其二是进步是在不断地挑战自我中实现的,一成不变只能原地踏步。就拿我个人来说,以前我用java做过一个类似的系统,可能如果我直接用那个系统里我现有的成果来做这个通讯录系统,也许2,3天或3,4天就能完成,但是这样重复的做一件事情可能最终只是更加熟练了自己以前会的东西,对自己也不会有任何提高,虽然重新做的这个系统花费了我不少的时间才完成它,但是,在做它的过程中,让我的java水平有了新的进步,我想,无论是学什么,我们只有不断地遇到问题,解决问题才能获得不断地进步和提高。

对于java这门语言,以后如果还有机会再和它接触或研究它的话,有了这次的经验和心得,我想我会做得更好的!

参考文献

[1]耿祥义, 张跃平. Java大学实用教程. 北京:电子工业出版社, 2012.

[2] 孙家广, 杨长青. 计算机图形学[M]. 北京:清华大学出版社, 1995.

[3] 李旭东,宗光华,毕树生等. 基于J2EE的排课系统关键问题研究[J]. 华北科技

学院报, 2002, 28(3): 249-252.

附录

使用说明书

(1)还不是该系统的用户可以在登录界面点击注册按钮,注册成为该系统的用户。

(2)已经是该系统的用户在登录界面直接输入自己的用户名和密码进入系统。

(3)登录进入系统后,用户可以选择菜单项里的功能,如增、删、改、查、退出、备份等。

C语言课程设计报告—手机通讯录管理系统

C程序课程设计报告 --手机通讯录管理系统 姓名:谢骏 学院:珠宝学院 学号:649 班级:141082

一课程设计目的和内容概述 1.目的:加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。 2.内容:设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、、绘图函数,以及文件的读写操作等。 其中结构体,函数的调用,算法的设计是尤为重要的。 二题目 手机通讯录管理系统。 [问题描述] 该系统模拟手机通讯录管理系统,实现对手机中的通讯录进行管理 [基本要求] 要能提供以下几种功能: (1)查看功能:选择此功能时,列出下列三类选择:

A:办公类B:个人类C:商务类 (2)当选中某类时,显示出此类所有数据中的姓名和电话号码 (3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类p为个人类b为商务类),电子邮件。例如:杨春商务类 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 三程序设计 1.总体设计 首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。 2.详细设计

通讯录管理系统

课程设计任务书 题目C语言课程设计 系(部) 信息科学与电气工程学院 专业计算机科学与技术 班级计职141 学生姓名王雪 学号140819139 06 月21 日至07 月04 日共 2 周 指导教师 院长 2015 年6月23日

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。 (6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序和修改程序。 设计功能 录入联系人信息(包括姓名、电话号码、地址等信息);通讯录管理系统要求实现以下功能: 1、输入每一位联系人记录,将其信息存入文件中。 2、查询所有联系人的信息,并按可选的自定义规则进行排序; 3、记录修改,将修改的记录信息保存于文件中。 设计要求 1、设一个通信录由以下几项数据信息构成: 数据项类型 姓名字符串 地址字符串 邮政编码字符串 电话号码字符串 试为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。 2、要求:界面友好,易于操作 总体设计 系统功能模块图:

个人通讯录管理系统c语言源程序优秀版)

#include /*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件#include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/

void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/ if ((fp=fopen("同通讯录.txt","w"))==NULL) /*只写方式判断*/

Java课程设计参考范文

基于B/S模式的小区物业管理系统的设计与实现 计算机科学与技术2009级一班 学生姓名:陆国良指导老师:陶世明 摘要:相比于C/S模式的物业管理系统,B/S模式的管理系统却极少。做一个B/S模式的物业管理系统,既可以让业主使用,又可以让物业管理人员使用,通过这个系统,获取到各自需要的信息,从而给管理带来便利。这也是我们开发物业管理系统的初衷。住户最基本的要求有以下几点:界面的友好性、易用性、实用性和吸引性。本设计将从以上几个方面进行系统的开发工作。物业管理人员除了有住户的以上要求外,管理的便利性也要考虑。在系统的开发中,使用JavaScript、CSS样式和HTML对界面进行布局,然后使用DOTNET平台下C#语言进行全面的开发,其中使用了三层架构的思想。 关键词:C/S, B/S, DOTNET, 三层架构 一、前言 物业管理系统在市场上已经是一项相当成熟的技术,例如思源物业,凤凰物业等。他们为许多开发物业管理的开发人员提供了成功的案例。为什么要使用信息化系统呢?在以前我们不都是使用一张纸,一支笔就搞定了么,为什么还要兴师动众来开发这样一个系统呢。下面进行一下前后的对比。 手工模式 ?传统的文档记录管理模式,易出错丢失; ?采用人工统计核算,工作量大且容易出错; ?不利于公司领导了解各部门的工作情况,影响企业整体决策; ?管理缺乏有效控制,工作流程不够规范; ?服务不及时,客户满意度低; 信息化后 ?数据管理容易; ?采用计算机进行运算,效率高且精确; ?操作简单方便; ?能够充分利用资源,做出合理的安排; 之所以人们对物业管理系统津津乐道,主要是因为小区是城市生活的基本单位,小区的管理直接影响到我们的生活质量。系统有使用Java开发的,有使用.Net开发的,有基于B/S模式的,有基于C/S 模式的,它们的共同出发点都是开发出高效的,便于管理的物业管理系统,这也是许多物业公司不惜高

C语言程序设计课程设计-通讯录管理系统

通讯录信息管理系统设计计算机学院计算机科学与技术专业 1.课程设计的目的 学习了C语言程序设计这门课程之后,使我对程序设计有了一定的了解,为了熟练掌握C语言的语法特点、及其数据结构,提高自身编写程序的能力。通过课程设计实现理论知识与实际情况的结合,使所学知识能够在现实社会中起到一定的作用,防止所编写的程序脱离实际,让程序可以更好的发挥作用,以便减轻实际工作中所遇到的繁琐步骤,提高现实工作中的效率。此外通过课程设计提高逻辑思考能力和解决实际问题的能力。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。 通讯录信息管理系统是生活中不可缺少的部分编写了一个通讯录信息管理系统是十分必要的。 本程序设计具有通讯信息的录入,进行保存、查找、删除等功能,操作界面简洁美观,易于操作。程序用了条件、循环、指针、结构体等知识点,综合了文件的打开和保存编写的。软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足的需要。 通过对通讯录管理系统的设计,进一步理解和掌握C语言这门课程的知识点,能够熟练的调用各种函数,把各种C语句有机的结合起来,提高自己C语言程序设计的能力,为今后解决实际问题打下良好基础。

2.设计方案论证 2.1设计思路 建立一个函数,用来添加、显示、删除、查询、修改、保存通讯录等信息,完成通讯录的功能。主函数可以调用六个子函数,分别完成添加记录、显示记录、删除记录、查询记录、修改记录、保存记录、退出系统等功能。在主函数中可以以1、2、3、4、5、6数字键分别可以执行某个功能模块。 2.2程序设计 2.2.1根据图1定义数据类型建立函数 typedef struct { char Num; //编号 char Name[10]; //姓名 char Tel[15]; //电话号码 char Email[20]; //邮箱 char age[8]; //年龄 char adds[20]; //住址 }Person; 2.2.2主函数及其流程图 定义主函数main()和一系列的功能函数,只有通过这些函数才可实现程序

题目通讯录管理系统

题目 2 通讯录管理系统 一.设计要求 1、问题描述 设有一通讯录,记录联系人的联系信息,包括联系人姓名、联系人多个联系电话、邮箱、联系地址以及所属群组。联系人按姓氏序列升序排列并按顺序编号。使用者能根据姓名或编号对联系人信息进行增删改查。请编制一程序模拟该通讯录的管理。 2、设计要求 1)基本要求 (1) 新建联系人。输入联系人的姓名、电话、email、地址和分组等信息, 并插入通讯录的正确位置。 (2) 编辑联系人。可修改、新增或删除联系人的电话、设置首个默认电话号 码、修改或删除email、地址和分组等信息。 (3) 删除联系人。可按姓名或序号删除联系人的信息。 (4) 查询联系人。可按姓名或序号查询联系人的信息并输出。 (5) 群组管理。可根据实际情况删除或新增分组,可为联系人分配群组或移 除群组,并可按群组查询联系人信息。 (6) 输出通讯录。按顺序输出通讯录的全部信息。 2)以下为选做: (7) 按姓名查询联系人时可进行模糊查询。 (8) 通过文件读写实现通讯录信息的读取和记录。 二.概要设计 1.主界面设计 为了实现通讯录管理系统,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主菜单运行界面如下图

所示。 2.存储结构设计 本系统主要采用链表结构类型存储联系人信息。 3.系统功能设计 本系统分为以下7个功能模块。 (1)添加联系人:添加联系人子模块可完成添加联系人姓名、电话、email、地址和分组等信息,并插入通讯录的正确位置。 (2) 编辑联系人。可修改、新增或删除联系人的电话、设置首个默认电话号码、修改或删除email、地址和分组等信息。 (3) 删除联系人。可按姓名或序号删除联系人的信息。 (4) 查询联系人。可按姓名或序号查询联系人的信息并输出。 (5) 群组管理。可根据实际情况删除或新增分组,可为联系人分配群组或移除群组,并可按群组查询联系人信息。 (6) 输出通讯录。按顺序输出通讯录的全部信息。 (7)可选择是否保存并退出系统。 三.模块设计

个人通讯录管理系统

C语言程序设计 课程设计报告 个人通讯录管理系统设计 专业__网络工程___ _____ 班级___(3)班___________ 学号__3148119322 姓名__吴道金 _ 学号_ 3148119319 _姓名_ 林东垚 ___ 学号_ 3148119359 _姓名__ 林家勇 __ 学号__3149119349__________姓名___上官景铨_____ ______ 福建工程学院软件学院 2015年月日 (正文部分)

一、需求分析 建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。功能要求(1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。 (2) 输入功能:可以一次完成若干条信息的输入。 (3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示) (4) 查找功能:可以按姓名等多种方式查找通讯信息 (5) 增加、删除、修改功能:完成通讯录信息的多种更新 二、总体设计

三、详细设计 void menu(); /*菜单*/ void Add(); /*添加记录*/ void print(); /*输出记录*/ void Find(); /*查找记录(按姓名)*/

void Delete(); /*删除记录*/ void SaveFree(); /*保存到文件*/ void Creat(); /*打开文件*/

四、程序源代码 #include #include #include

java课设记事本说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 Java 课程设计 题目:记事本系统设计 专业班级: 姓名: 学号: 指导教师: 成绩:

目录 摘要 (1) 序言 (2) 正文 (3) 1.系统设计与分析 (3) 2.详细设计 (3) 3.系统测试 (14) 4.软件使用说明书 (17) 设计总结 (18) 参考文献 (19) 致谢 (20) 附录(程序源代码) (21)

摘要 本次课程设计的题目是用java语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。 本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。 关键字:记事本程序;Java语言;Jcreator

序言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少, 所以选择了适合初学者使用的JCreator开发工具。

通讯录管理系统需求分析

通讯录管理系统需求分析 项目编号:S1-BS-HTML-001 l项目概述 1.引言 1.1编写目的 在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。 此需求规格说明书对《通讯录管理系统》软件做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。

1.2项目背景 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 1.3定义 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 2.任务概述 2.1目标 实现通讯录管理系统的基本功能,可以实现电话用户的查询、电话号码的查询、电话号码所在地的查询、电话号码的添加及删除等功能,以方便人们的记录和通讯。 2.2运行环境 2.2.2.1服务端 A. 操作系统:Windows 2003 Server 2.2.2.2客户端 A. Windows 95/98/me/Xp/2000/2003, Unix, Linux,Vista,Mac OS各版 2.3条件与限制 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 3.数据描述 开始 3.1数据流图 以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的结构体类型的数组中。 调用menu()菜单函数

个人通信录管理系统 课程设计

中国矿业大学银川学院 面向对象程序设计课程设计报告 (2011/2012学年第二学期) 题目名称个人通信录管理系统 系部机电动力与信息工程系 专业计算机科学与技术 班级 10级计算机 姓名 xxx 学号 120100510062 完成时间 2011年 6 月 指导老师 xxx

引言: (3) 1 课程设计目的及意义 (5) 2 详细设计 (5) 2.1需求描述 (5) 2.1.1通讯录界面设计 (5) 2.1.2通讯录添加联系人模块 (5) 2.1.3通讯录删除联系人模块 (5) 2.1.4通讯录拨号模块 (6) 2.1.5通讯录显示所有联系人模块 (6) 2.1.6通讯录修改联系人模块 (6) 主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,如果不正确,显示对不起,联系人中没有你找的人。如果正确,则显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名、电话号、QQ、邮编、地址等 (6) 2.1.7通讯录关闭通讯录模块 (6) 提示谢谢使用! (6) 2.2功能描述 (6) 2.2.1添加联系人; (6) 2.2.2删除联系人 (8) 2.2.3拨号 (11) 2.2.4显示所有联系人的实现: (12) 2.2.5 修改联系人模块 (13) 2.2.6 查询联系人模块 (17) 对文件进行遍历,将联系人的所有信息都显示出来。 (17) 2.2.7关闭通讯录模块 (19) 提示谢谢使用! (19) 2.2.8主函数 (19) 2.3程序用行说明 (20) 2.3.1程序界面 (20) 2.3.2添加联系人信息 (20) 2.3.3删除联系人 (21) 2.3.4拨号 (23) 2.3.5显示所有联系人 (23) (23) 2.3.6修改联系人信息 (23) 2.3.7查询联系人 (24) 2.3.8关闭通讯录 (24) 3课程设计总结 (25) 3.1编程日志 (25) 3.2测试报告 (25) 4 心得体会: (25) 附录: (26) 参考文献: (43)

管理信息系统-通讯录管理系统

昆明理工大学管理信息系统课程设计通讯录管理系统 学院计算机科学与技术学院 姓名黄亚军 学号200910405229 指导教师姓名王剑 2012年05月27日

昆明理工大学管理信息系统课程设计 (1) 摘要 参考文献 (25)

摘要: 通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。 随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。 关键词:通讯录管理信息系统计算机科学用户 一、前瞻 1.开发背景简介 随着信息活动在国民经济中主导地位的确立和信息产业的崛起信息资源管 理(Informetion Resouces Management,简称IRM)作为一个专有名词和独立的学科逐渐发展起来。如何积极开发、合理配置和有效利用信息资源,日益成为社会生活中亟待解决的问题。由于计算机和通信技术的高速发展,推广应用计算

Java课程设计--个人通讯录管理系统

《JAVA程序设计》课程设计说明书

目录 1 引言 (1) 1.1课程设计选题 (1) 1.2课程设计的目的 (1) 1.3本选题的设计背景 (1) 2 需求分析 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 总体设计 (2) 3.1 系统体系结构设计 (2) 3.2系统功能模块及主要类设计 (3) 3.3数据库设计 (5) 4 详细设计与实现 (7) 4.1 登录模块 (7) 4.2 注册新用户模块 (8) 4.3 查询模块 (9) 4.4 添加模块 (11) 4.5 修改模块 (13) 4.6删除模块 (16) 4.7备份模块 (18) 4.8退出模块 (19) 5 小结和展望 (20) 参考文献 (22) 附录 (22) 使用说明书 (22)

1引言 1.1课程设计选题 《个人通讯录管理系统》 1.2课程设计的目的 通过编写并调试一个Java应用软件,熟悉和掌握使用Java开发应用程序的完整过程。 使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。 1.3本选题的设计背景 一直以来就想做一个比较实用的通讯录管理系统,这样可以方便我对于身边联系人信息的管理,防止遗忘和丢失。 在这样一个信息化的社会里,人们的生活也越来越离不开电脑了,本次通过做个人通讯录管理系统,希望摈弃传统的纸质记录的弊端,发挥电脑软件的优势,方便人们对自己的联系人信息的管理。 2需求分析 2.1 功能需求 2.1.1个人通讯录功能需求 (1)登陆功能。用户可以直接输入用户名和密码,登陆进入通讯录的主功能界面。 (2)注册功能。其他用户可以输入自己的用户名和密码及确认密码,来实现注册成为该通讯录的使用者。 (3)查询功能。在该功能里,用户可以采用模糊查询和精确查询两种查询方式来对自己存储的联系人信息进行查询。 (4)添加功能。在该功能里,用户可以添加自己的常用联系人和分组信息。

个人通讯录管理系统C语言课程设计报告

重庆科技学院 《C语言程序设计》 课程设计报告 学院:_电气与信息工程学院_ 专业班级:电自专2011-01 学生姓名:蒋洪山学号: 2011630194 设计地点(单位)________ I515 ______________ __ 设计题目:__________个人通讯录管理系统 _____________ 完成日期: 2012 年12月28日 指导教师评语: ______________________ _________________ __________________________________________________________________________________ __________________________________________________________________________________ _____________________________________ __________ _ 成绩(五级记分制):______ __________ 指导教师(签字):________ ________

摘要 本次课程设计的题目为个人通讯录管理系统,要求将程序中所输入的联系人姓名、电话和地址信息这三个数据以文本方式保存在磁盘中,并且能够对所储存的联系人信息进行显示、查询、修改、删除等功能。 我编写的程序从整体上看可分为两个部分,一部分为文件的建立、读取和保存,另一部分为通讯录功能的实现。在文件部分,我通过readfile()函数和writefile()函数从而实现了对磁盘上数据的进行写和读,通过刚开始的界面提示可以知道文件是否建立,以免丢失数据,我还为用户设计了保存退出和不保存退出两大功能供用户做选择。在模块功能实现部分,通过scanf从键盘上输入的数字放到switch() case 循环中来实现调用zengjia()、shanchu()、xiugai()、chazhao()等十五个函数来实现“添加”、“查询和显示”、“修改”、“删除”等不同功能。 关键字:文件、数组、循环、函数

C语言通讯录管理系统程序代码

一、课程设计题目及要求 题目通讯录管理系统 任务:自学C语言中相关知识,设计出通讯录管理系统。要求如下所述: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等;; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供按姓名或电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 二、系统设计方案 (一)总体框架图: 通讯录管理系统:1、录入通讯录信息 2、修改通讯录信息 3、查询通讯录信息 4、浏览通讯录信息 5、增加通讯录信息 6、推出系通讯录统 (二)模块设计 模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行定义,对函数进行声明 模块二:录入通讯录信息 声明函数void readfile(),说明一个文件指针FILE *fp 打开文件"student.txt" 模块三:通讯录信息的查找 声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支 模块四:通讯录信息的修改

声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目模块五:通讯录信息按学号排序 声明void sort()将录入通讯录信息系按升序排列,用的是“冒泡排序法”实现排序模块六:加通讯录信息 声明void insert()插入通讯录信息,先通过判断通讯录是否存在,若否则继续输入,若是跳出,重新循环 模块七:通讯录信息 声明void del()实现通讯录信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。 模块八:示学生信息 通过display()函数输出通讯录信息 模块九;存信息 通过fp=fopen("student.txt","w");写入信息 模块十:界面菜单 通过switch(num)调用,以上各函数,实现功能 三、设计详情 1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

个人通讯录管理(c语言课程设计)

安徽工业大学 《C语言课程设计》实习综合报告课题名称:个人通讯录管理系统 实习成员:王刚 学号: 109074372 专业班级: 网络工程103班 指导教师: 郑啸老师

目录 一.问题描述 (2) 二. 各功能流程图与设计思路 (3) 2.1显示模块 (3) 2.2查找模块……………………………………………4.. 2.3添加模块 (6) 2.4删除模块 (8) 2.5修改模块 (9) 三、文件的读取与保存 (11) 四、程序源代码 (12) 五、调试与运行结果 (18) 六、计算机学院课程设计评定意见 (24) 一.问题描述

设计通讯录包含以下功能: (1)通讯录的每一条信息包括姓名、单位、固定电话、移动手 机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ 等。 (2)输入功能:可以一次完成若干条信息的输入。 (3)显示功能:完成全部通讯录信息的显示。 (4)查找功能:可以按姓名等多种方式查找通讯信息。 (5)增加、删除、修改功能:完成通讯录信息的多种更新。 二.各功能流程图与设计思路 Menu菜单:

运用switch()进行操作: case'1': 显示功能,list()函数 说明:利用for循环,逐个输出已保存的内容 代码如下: //*****************显示通讯录中的内容************* void list() { printf("编号姓名电话 \t手机 \t工作单位\tEMAIL \t\tQQ\n"); for(i=0;i

Java课程设计说明书要点

1 需求分析 随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。 该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。 2 具体功能 (1)新员工注册功能。 (2)员工登陆功能。 (3)员工查看个人工资功能。 (4)管理人员登录功能。 (5)管理人员对员工基本资料的修改,添加,删除,查询功能。 (6)管理人员对员工工资信息的修改,添加,删除,查询功能。 3 系统设计 3.1、功能示意图

系统功能如图3-1所示: 图3-1系统功能图 3.2、数据库设计 本软件数据库类型为MYSQL ,数据库“employee.mdb ”,其中共包含三种表,其一是 登录用户信息表 user (如表3-1),其二是员工基本信息表emps (如表3-2),其三是员工工资信息表salary (如表3-3)。对应的数据库截图分别为:登录用户信息表users 截图(如图3-2),员工基本信息表emps 截图(如图3-3),员工工资信息表salary 截图(如图3-4)。 员工 管理员 个人工资显示 showSalaryFrm.java 登陆界面 loginFrm.java 主界面mainFrm.java 员 工 基 本 信 息 的 删 除 工 资 信 息 的 查 询 工 资 信 息 的 修 改 工 资 信 息 的 删 除 工 资 信 息 的 添 加 员 工 基 本 信 息 的 添 加 员 工 基 本 信 息 的 查 询 员 工 基 本 信 息 的 修 改 版 本 信 息

c课程设计通讯录管理系统》

课程设计说明书(论文)课程名称 C++程序设计实践 题目通信录管理系统 专业软件工程班级 学号姓名 xx 起止日期 指导教师赵新慧成绩 辽宁石油化工大学计算机与通信工程学院

摘要 本次课程设计任务是通过编写一个通信录管理系统,学习用Visual?C++?开发简单的管理系统。采用Visual?C++?软件为主要开发工具。巩固和加深学生对C++课程的基本知识的理解和掌握,掌握C++编程和程序调试的基本技能,利用C++进行简单软件设计的基本思路和方法,提高运用C++解决实际问题的能力,掌握书写程序设计说明文档的能力使用计算机进行信息管理。实现通信录的管理功能(添加、删除、排序)、按姓名查询的功能,以及把联系人资料保存在文件中,将文件中内容读出来。使用计算机进行系统管理,不仅提高了工作效率,而且大大提高了其安全性,尤其对于复杂的信息管理,计算机能充分地发挥它的优越性,通信录管理系统是每个人不可缺少的部分,在课程设计中,系统开发平台为Windows XP,程序设计语言采用Visual C++,在程序设计中,运用了面向对象解决问题的方法。程序通过调试运行,初步实现了设计目标。 Abstract The curriculum design task is through the preparation of a student achievement ranking management system, learning management system with Visual C++ 6 to develop simple. Using Visual C++ 6 software as the main development tool. To consolidate and deepen the students the basic knowledge of C++ course of understanding and master, master the basic skills of C++ programming, the basic idea and method of software design using C++, to improve the ability to use C++ to solve practical problems, to master the ability to write program design use of computer information management. Realization grade management functions (add, delete, sort), statistical functions (the highest score, the lowest score, average score, pass rate), student ID, name, or the name of course query results function, as well as the students' scores are stored in the file. The use of computer management system, not only

联系人管理系统

联系人管理系统设计报告 程珠 200907260203 信管0901 一、实验目地 通过本课程设计,要求熟悉管理信息系统开发的原理,掌握系统分析、系统设计、系统编程与调试等方法。能够完成一个中小型信息系统的规划与分析设计工作,或者能够开发一个小型的管理信息系统,提高分析问题与解决问题的能力。 二、实验内容 1.业务简介 (1)公司联系人 A.公司联系人类型构成:公司联系人类型标识,公司联系人类型 B.公司联系人构成:公司联系人标识,公司联系人名称,地址,出生日期,公司联系 人类型标识 C.查询构成:公司联系人标识,公司联系人类型标识 (2)客户 A 客户构成:客户标识,客户名称,客户地址,客户电话 (3)客户联系人 客户联系人构成:客户联系人标识,客户联系人姓名,客户联系人地址,客户联系人电话 2.系统功能 A 查看和修改公司联系人、客户、客户联系人 B添加和删除公司联系 人、客户、客户联系人 C退出系统 通过联系人管理系统,可以查询和修改公司联系人、客户、客户联系人。添加和删除公司联系人、客户、客户联系人,给企业或学校提供一个良好的人力资源管理环境。 也可以清晰地了解到三者的关系。除了可以查看公司联系人名称,地址,出生日期,公

司联系人类型还可以查看联系人的公司信息和家庭信息,如联系人的上级和下级信息,父母信息等等。以及联系人的毕业信息和在学校、公司的突出表现。方便企业对公司联系人更好的了解和统计。通过客户信息可以查找与公司有业务来往的客户信息。 三、实验过程 1. 系统分析(以公司联系人为例)

ER图 2.系统设计(以公司联系人为例) 模块结构设计 数据库设计

个人通讯录管理系统C语言源程序优秀版

个人通讯录管理系统C语言源程序优秀版 Last revision date: 13 December 2020.

#i n c l u d e/*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件 #include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/ void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/

通讯录管理系统(C语言)

说明 1、设计的目的 1)复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握;2)利用所学知识,理论和实际结合,利用资源,采用模块化的结构,使用模仿修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力;3)培养学生在项目开发中团队合作精神、创新意识及实战能力。 2、设计的任务 根据学生的实际情况,进行分组选题。主要的课程设计题目如下(学生也可自主选题): 1、图书管理系统 2、学生信息管理系统 3、学生成绩管理系统 4、学生通讯录管理系统 5、职工信息管理系统 6、设计简单的计算器 课程设计采用学生自主设计和指导老师辅导相结合的方式。 3、设计要求与设计报告 设计要求: 1、任选上述题目之一,或自选题目。 2、模块化的程序设计 3、锯齿形的程序书写格式。 4、必须通过编译连接运行 设计报告: 1、设计目的和任务 2、总体设计:包括程序设计组成框图、流程图。 3、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。 4、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。 5、源程序清单和执行结果:清单中应有足够的注释。

设计目的和任务 (主要介绍设计的任务,为什么要设计,设计要达到什么样的目的。) 设计目的:(1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 程序功能:(1).学生基本信息及成绩所选科目成绩的录入。 (2).基本信息的查询(分系、班级;分科目)与修改。 (3).对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); (4).对所开课程的成绩分析(求其平均成绩,最高分和最低分); (5).对学生考试成绩进行排名; 目录 一、总体设计 (3) 二、详细设计 (4) 三、调试与测试 (5) 四、源程序清单和执行结果 (6) 五、建议和体会 (7) 六、参考文献 (8)

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