个人通讯录管理系统,java源代码

合集下载

C语言-通讯录管理系统

C语言-通讯录管理系统
int xz;
printf("--------------------\n");
printf(" 1.按学号查询\n");
printf(" 2.按姓名查询\n");
printf("--------------------\n");
printf("请选择: \n");
scanf("%d",&xz);
if (xห้องสมุดไป่ตู้==1){
i++;
printf("想继续创建吗?(1.是/0.不):");
scanf("%d",&j);
if (!j)
return i;
else
printf("恭喜你,创建成功!请继续创建!\n");
}
return i;
}
int add_record(int flag)
{ int i=flag,j;
for(i;;)
printf("%s,%s,%s,%s,%s,%s\n",data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);
printf(" ------------------------------\n");
return 0;
}
}
int menu_select()
{
int i;
printf(" ******************** \n");
printf(" Welcome! \n ");

基于JSP的通讯录管理系统

基于JSP的通讯录管理系统

《网络编程(JSP)》课程大作业报告项目名称:基于JSP技术设计与实现的通讯录管理系统专业名称:班级名称:小组成员:完成时间:2019年6月2018-2019学年2学期目录1.概述 (3)1.1项目背景 (3)1.2研究的主要内容 (3)1.3项目分工(说明各小组成员在项目中承担的工作) (3)2.相关技术 (3)3.系统分析 (4)4.系统设计 (4)4.1功能模块的流程说明 (4)4.2数据库设计 (5)5.系统实现 (6)5.1系统注册页面设计 (7)5.2系统登录页面设计 (7)5.3主页面设计 (7)5.4添加联系人页面设计 (7)5.5联系人管理界面设计 (7)5.6修改联系人界面设计 (7)5.7退出系统 (7)6.总结 (8)1.概述1.1 项目背景JSP是微软公司的重要产品之一, 是一种功能强大行之有效的可视化编程工,使用户可以方便的开发自己想实现的功能,JSP的功能特点。

JSP技术使用JA V A编程语言编写类XML 的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

本通讯录信息管理系统用计算机正是基于jsp技术的一种应用程序,它方便了用户对朋友们信息的储存和快速查阅的功能,大大减少了查找过程时间,在轻松快捷中沟通你我。

1.2 研究的主要内容(1)登录与注册系统的登录和注册功能。

(2)基本信息管理模块系统中对基本信息的管理包括:个人的姓名、性别、电话号码等。

(3)系统操作添加、修改、删除、查询、修改密码、退出系统。

1.3 项目分工:1.联系人信息修改模块;2.联系人信息删除模块;3.课程大作业报告:1.联系人信息添加模块;2.页面设计:1.密码修改模块;2.课程大作业报告:1.注册模块;2.登录模块2.相关技术①JSP以及Servlet的基本知识;②原生JDBC实现数据库的增删改查;③HTML基本知识以及H5最新属性的使用;④Foundation框架的使用;⑤TOMCAT 目录结构;⑥通过对数据库的基本操作实现用户注册、登录模块、显示模块、查询模块、添加模块和删除模块;⑦ 利用JavaBean技术实现数据封装。

Java通讯录管理系统设计报告

Java通讯录管理系统设计报告

Java通讯录管理系统设计报告1. 引言随着社会发展和信息技术的进步,通讯录在人们的日常生活和工作中变得越来越重要。

Java通讯录管理系统是一种用于管理个人和组织联系信息的软件系统。

本篇文档将详细介绍Java通讯录管理系统的设计和实现。

2. 功能需求Java通讯录管理系统具有以下功能需求: - 添加联系人:用户可以添加新的联系人,包括姓名、电话号码、电子邮件等相关信息。

- 删除联系人:用户可以删除已存在的联系人。

- 编辑联系人:用户可以修改已存在联系人的信息。

- 搜索联系人:用户可以根据姓名、电话号码或其他关键字搜索联系人。

- 显示联系人列表:用户可以查看所有联系人的列表,并按照姓名或其他方式进行排序。

- 导入/导出联系人:用户可以将联系人导入/导出到文件中,以实现数据的备份和共享。

3. 系统设计3.1 技术栈选择Java通讯录管理系统采用Java语言进行开发,使用Java的面向对象特性来实现系统的各个功能模块。

系统使用MySQL数据库来存储联系人的信息。

3.2 系统架构Java通讯录管理系统采用三层架构,分为表示层、业务逻辑层和数据访问层。

•表示层:负责与用户的交互,包括图形界面和用户输入输出的处理。

•业务逻辑层:负责处理用户的请求,对联系人信息进行增加、删除、编辑、搜索等操作,并调用数据访问层进行数据的读写。

•数据访问层:负责与数据库交互,进行联系人信息的读写操作。

3.3 类设计在Java通讯录管理系统中,主要涉及以下类的设计: - Contact类:表示一个联系人,包含姓名、电话号码、电子邮件等属性。

- ContactDAO接口:定义对联系人的增删改查等操作。

- ContactDAOImpl类:实现ContactDAO接口,负责与数据库进行交互。

- ContactService类:负责处理业务逻辑,调用ContactDAOImpl 类进行联系人信息的操作。

- ContactConsole类:表示层的用户界面,处理用户输入输出和展示联系人信息。

java课程设计(通讯录管理系统)

java课程设计(通讯录管理系统)

掌握Java语言基础
理解面向对象编程思 想
掌握数据库操作技术
提高团队协作和沟通 能力
完成一个实用的通讯 录管理系统
联系人管理:添加、删除、修改、查询联系人信息 联系人分组:创建、删除、修改、查询联系人分组 联系人搜索:根据姓名、电话、邮箱等信息进行搜索 联系人导出:将联系人信息导出为Excel、CSV等格式的文件 联系人导入:从Excel、CSV等格式的文件中导入联系人信息 系统设置:修改系统语言、主题、字体等设置
数据库类型:MySQL
数据库表结构:用户表、 联系人表、分组表等
主键和外键:用户ID、联 系人ID、分组ID等
数据库操作:增删改查等 基本操作
数据库优化:索引、缓存、 分表等优化措施
数据库安全:用户权限管 理、数据加密等安全措施
界面布局:简洁 明了,易于操作
色彩搭配:协调 统一,易于阅读
功能模块:联系 人管理、分组管 理、搜索功能等
汇报人:
添加标题
添加标题
查询方式:支持模糊查询和精确查 询
查询优化:使用索引提高查询效率
功能描述:删除指定联系人信 息
实现方法:调用数据库删除接 口
操作步骤:选择联系人,点击 删除按钮,确认删除
注意事项:确保删除操作不会 影响其他数据完整性
添加联系人:输入姓名、电话、邮箱等信 息
修改联系人:修改姓名、电话、邮箱等信 息
删除联系人:删除指定联系人
查询联系人:根据姓名、电话、邮箱等信 息进行查询
导出联系人:将联系人信息导出为Excel 或CSV文件
导入联系人:将Excel或CSV文件中的联系 人信息导入到系统中
修改模块界面:提供用户友 好的界面,方便用户操作

手机通讯录源代码

手机通讯录源代码
char dizhi[20];
}ren;
//菜单
void menu() //目录
{
system("cls"); //清屏
printf(" #########欢迎使用手机通讯录#########\n");
printf("\n");
printf("==============================================================================\n");
if(!feof(fp))
{ printf("人员的信息如下:\n");
printf("说明:(A办公类B个人类C商务类)");
printf("\n%10s %15s %10s %20s \n","姓名","号码","类别","邮箱");
while(!feof(fp))
{
if(strcmp(ry.leibie,leibie)==0) //若为该类别则输出
void bohao()
{ ren ry[N];
FILE *fp;
char name[10];
int i,len,k=-1;
system("cls");
printf("\n输入要删除的人员姓名: ");scanf(""ren.dat","rb+"))==NULL) {printf("can't open file!\n");exit(0);}

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

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

摘要随着社会的发展,人际关系变来越重要,为了保持良好的人际关系,必须常与亲戚朋友,同学同事保持联系,但有时候存在许多限制条件,因此我们需要为了快速查找联系人的信息,节省查找时间,开发通讯录管理系统。

通讯录管理系统是一个基于C/S模式的个人通讯录管理系统,它是将自己的联系人的具体信息集中处理,成为一个方便人们使用的小软件。

在开发过程中应用java,JDK,MYSQL,SWING等技术,由于开发工具与数据库之间的良好使用,可以为开发带来方便,使之成为可视性的系统。

通过采用相关技术,将系统设计的功能全部实现。

功能包括:用户登录,添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯录联系人,可以根据数据表的歌字段来查询你要找的联系人等功能。

关键字:C/S架构,联系信息,通讯录,数据库目录一、需求分析 (2)二、系统总体规划 (2)三、程序流程 (2)四、设计步骤 (5)1.数据库表的设计 (5)2.详细设计 (5)五、设计总结 (9)六、结束语 (10)六、参考文献 (11)七、程序清单 (12)1一需求分析通讯录在当今的日常生活工作中的应用是十分普及的,每个人都拥有大量的通讯录资料信息,当前大家一般都用手工来记录所有的通讯录信息。

但随着时代的发展,人们的联系方式及信息变得复杂多样,通讯录信息大量增加,导致管理这些信息资料就成了问题。

直接操作来查找,添加,修改,删除这些信息,由于数据多,工作量十分巨大,查找,编辑都很困难,而且极易出错,容易造成资料的混乱或丢失。

在各种手机,上午通内设的电话簿尽管携带方便却又存在“记录量少,界面小,浏览不方便,记录信息不全面”的缺点。

有人利用Excel或Word编制通讯录,虽然数据比较全面,信息比较充分,可是查找及其不便,维护起来也麻烦,所以运用文件或数据库技术建立一个通讯录管资料理系统十分必要,使通讯录资料管理工作规范化,系统化,程序化,避免资料管理中的混乱。

数据结构课程设计通讯录管理系统

数据结构课程设计通讯录管理系统

数据结构课程设计通讯录管理系统一、系统需求分析通讯录管理系统的主要目标是提供一个方便、高效的方式来管理联系人信息。

具体需求包括:1、能够添加联系人,包括姓名、电话号码、电子邮件、地址等基本信息。

2、可以对联系人信息进行修改和删除操作。

3、支持按照姓名、电话号码等关键字进行快速查找。

4、能够以列表形式展示所有联系人的信息。

二、数据结构选择为了实现上述功能,我们需要选择合适的数据结构来存储联系人信息。

考虑到联系人信息的多样性和动态性,链表是一个不错的选择。

链表可以方便地进行插入、删除和修改操作,并且能够灵活地调整存储空间。

另外,为了提高查找效率,我们可以结合使用哈希表。

通过将联系人的关键信息(如姓名或电话号码)进行哈希运算,快速定位到对应的联系人节点。

三、系统功能实现1、添加联系人功能当用户选择添加联系人时,系统会提示用户输入联系人的各项信息。

这些信息被封装成一个结构体,并通过链表的插入操作添加到链表中。

同时,将关键信息映射到哈希表中,以便后续快速查找。

2、修改联系人功能用户输入要修改的联系人的关键字,系统通过哈希表快速找到对应的联系人节点。

然后,提示用户输入修改后的信息,并更新链表和哈希表中的数据。

3、删除联系人功能与修改功能类似,通过关键字找到联系人节点,从链表和哈希表中删除相应的节点和信息。

4、查找联系人功能用户输入查找关键字,系统通过哈希表进行快速定位,如果找到匹配的联系人,则显示其详细信息。

5、展示所有联系人功能遍历链表,将所有联系人的信息以列表形式输出到屏幕上。

四、系统界面设计为了提高用户体验,系统设计了简洁直观的界面。

主界面提供了添加、修改、删除、查找和展示所有联系人等功能选项。

用户通过选择相应的选项,进入对应的操作流程。

五、代码实现示例以下是部分关键代码的示例:```c//联系人结构体typedef struct Contact {char name50;char phoneNumber20;char email50;char address100;struct Contact next;} Contact;//哈希表节点结构体typedef struct HashNode {char key50;Contact contact;struct HashNode next;} HashNode;//链表插入联系人void insertContact(Contact head, Contact newContact) {newContact>next = head;head = newContact;}//哈希函数unsigned int hashFunction(const char key) {unsigned int hash = 0;while (key) {hash =(hash << 5) + key++;}return hash % HASH_TABLE_SIZE;}//查找联系人Contact findContact(Contact head, const char key, HashNode hashTable) {unsigned int hashValue = hashFunction(key);HashNode node = hashTablehashValue;while (node) {if (strcmp(node>key, key) == 0) {return node>contact;}node = node>next;}Contact current = head;while (current) {if (strcmp(current>name, key) == 0 ||strcmp(current>phoneNumber, key) == 0) {//更新哈希表HashNode newNode =(HashNode )malloc(sizeof(HashNode));strcpy(newNode>key, key);newNode>contact = current;newNode>next = hashTablehashValue;hashTablehashValue = newNode;return current;}current = current>next;}return NULL;}```六、系统测试在完成系统的开发后,需要进行全面的测试以确保系统的稳定性和可靠性。

通讯录管理系统

通讯录管理系统

通讯录管理系统一、引言随着科技的不断发展,电子设备的运用愈发广泛,通讯工具也从最早的电话、传真、邮件演变到如今的移动电话、微信等APP软件。

同时,人们通讯的宽带和速度也得到了很大的进步,这里提到的速度指的是通讯的速度和传输的速度。

在日常生活中,人们需要不断联系和交流,而一个完善的通讯管理系统能够辅助人们做到这一点。

二、通讯录管理系统的概述通讯录管理系统是一个集成化的系统,它包括通讯录的建立、搜索、编辑、删除等基本功能,同时也有通讯录的导入、导出、备份、恢复等高级功能。

对于个人而言,通讯录管理系统是一个非常有用的工具,可以让我们对日常生活中的联系人实现精细化管理。

对于企业和组织而言,通讯录管理系统则是一个不可或缺的管理工具,它可以让企业和组织对内外联系人进行统一管理,提高工作效率,实现快速响应与灵活沟通。

三、通讯录管理系统的需求分析1. 用户管理需求通讯录管理系统的用户一般包括个人、企业和组织等,他们的管理需求有所不同,例如个人通讯录管理系统需要支持用户自主导入、导出、备份、恢复,企业通讯录管理系统需要支持管理员进行用户管理和权限控制等。

2. 数据整合需求通讯录管理系统需要支持将人员信息从不同的来源整合到一个集中的库中,这可以通过数据导入、数据同步、数据抓取等方式实现。

3. 可扩展性和可定制化需求通讯录管理系统应该具有良好的可扩展性和可定制化的能力,以满足企业和组织不同的需求。

4. 安全性需求通讯录管理系统需要具有安全性,防止数据泄漏和恶意攻击等安全问题,同时还要实现数据备份、数据恢复等功能。

五、通讯录管理系统的设计1. 系统结构设计通讯录管理系统应该是一个分层结构的系统,分为表示层、业务层、数据访问层和数据存储层四个层级。

其中,表示层为用户提供了用户界面,业务层处理用户请求,数据访问层为业务层提供数据访问接口,数据存储层则负责数据存储管理。

2. 系统模块设计通讯录管理系统主要包括三个模块:用户管理模块、通讯录管理模块和数据备份恢复模块。

基于JAVA的学生通讯录管理系统设计和实现[文献综述]

基于JAVA的学生通讯录管理系统设计和实现[文献综述]

毕业论文文献综述信息与计算科学基于JAVA的学生通讯录管理系统设计和实现一、前言部分Java是由Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称。

它具有简洁、安全、面向对象、动态、体系结构中立、可移植、分布式、平台无关性等多个优点,被广泛地运用到计算机、便携式计算机、电视、电话、手机和其他大量设备上。

Java 的前景被广泛地看好,并有许多相关机构和人员在解决其运行速度等瑕疵[1]。

二、主题部分一、Java简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。

用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。

从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet[2]。

(一)平台架构Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface、简称API)构成。

Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。

在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。

现在Java平台已经嵌入了几乎所有的操作系统。

这样Java程序可以只编译一次,就可以在各种系统中运行。

Java分为JavaSE,JavaEE,JavaME三个体系[3]。

Java SE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序,它包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition (Java EE)提供基础。

Java EE帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序,它是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(SOA)和Web 2。

java课程教学设计(通讯录管理方案系统)

java课程教学设计(通讯录管理方案系统)

合肥学院计算机科学与技术系课程设计报告2013~2014 学年第二学期课程面向对象课程设计课程设计名称通讯录程序学生姓名XXX学号专业班级XXXXX指导教师 XXX20 年月目录一、设计题目 (1)二、设计要求 (1)三、总体设计 (1)3.1 系统功能框架 (1)3.2 系统功能说明 (3)四、详细设计 (3)1 .数据结构设计 (3)2 .系统模块设计 (10)五、运行结果 (13)一.设计题目随着社会的进步与发展,通讯越来越密切。

希望能通过对java 课程设计的学习和掌握来编写一个通讯录管理系统。

二.设计要求(1)只能使用Java 语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。

2)程序必须与数据库进行通信3)系统必须是图形用户界面的形式并连接数据库三. 总体设计3.1系统总体功能框架图3.2系统功能说明1)具有新用户注册功能。

2)具有注册用户登录功能。

3)具有数据的录入功能。

4)具有数据查询功能,可以实现查询全部信息和按条件执行查询5)具有按条件删除数据功能。

6)具有统计功能4. 详细设计4.1 数据结构设计( java 程序设计)// 登录系统package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;@Overridepublic String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0){ result.put("success", false); result.put("msg","ername.empty");} else if(password == null || password.trim().length() == 0){ result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false); result.put("msg","er.not.exist");} else if(list.get(0).getPassword().equals(password)){ result.put("success", true); result.put("msg", "login.success");} else {result.put("success", false); result.put("msg","error.password.wrong");}if((Boolean) result.get("success")) {message = (String) result.get("msg"); return "success";} else {message = (String) result.get("msg"); return "error";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}// 增加记录package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; public String username;public String password;private String message;public String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0){ result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0){ result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService(); list = ls.checkLogin(username);}if(list == null) { result.put("success", false); result.put("msg", "er.not.exist");} else if(list.get(0).getPassword().equals(password)){ result.put("success", true); result.put("msg", "login.success");} else { result.put("success", false); result.put("msg","error.password.wrong");}if((Boolean) result.get("success")) { message = (String)result.get("msg"); return "success";} else {message = (String) result.get("msg"); return "error";}}public String getMessage() {return message;}public void setMessage(Stringmessage) { this.message = message;public void setUsername(String username) { ername = username;}public void setPassword(String password) { this.password = password;}public String getUsername() { return username;}public String getPassword() { return password;}}// 删除记录package com.ibm.etp.addressbook.action;import java.util.ArrayList;import com.ibm.etp.addressbook.pojo.Record; importcom.ibm.etp.addressbook.service.DeleService;import com.opensymphony.xwork2.ActionSupport; public class DeleAction extends ActionSupport {private int id[];public String message; private boolean success=true;public boolean isSuccess() { return success;}private ArrayList<Record> list= new ArrayList<Record>(); publicArrayList<Record> getList() {return list;}public int getId(int i){ return id[i];}public int[] getId() { return id;}public void setId(int[] id) { this.id = id;public String getMessage() {return message;}public void setMessage(Stringmessage) { this.message = message;}public String execute() throws Exception { DeleService ds=new DeleService(); list=ds.removeRecord(this);try {success=true;return SUCCESS;}catch (Exception e) { success=false; return ERROR;}}}// 修改记录package com.ibm.etp.addressbook.action;import com.ibm.etp.addressbook.service.UpdateService;import com.opensymphony.xwork2.ActionSupport;public class UpdateAction extends ActionSupport { private int id;private String name;private String phone;private String email;private String birthday;private String sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;} public String getPhone() { return phone;}public void setPhone(Stringphone) { this.phone = phone;}public StringgetEmail() { returnemail;}public void setEmail(Stringemail) { this.email = email;} public String getBirthday() { return birthday;}public void setBirthday(Stringbirthday) { this.birthday =birthday;} public String getSex() { return sex;}public void setSex(Stringsex) { this.sex = sex;}public String execute() throwsException { UpdateService us=newUpdateService();if(us.setRecord(this)!=null) returnSUCCESS;else{ return ERROR;}}}// 查找记录行package com.ibm.etp.addressbook.action; import java.sql.SQLException;import java.util.List;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.FindService; importcom.opensymphony.xwork2.ActionSupport; public class FindAction extends ActionSupport { private String field;private String input;private int size;private String sort;private List<Record> list ;private boolean success=true;public boolean isSuccess() { return success;}public List<Record> getList() {return list;}public void setList(List<Record> list) {this.list = list;}public String getField() {return field;}public void setField(Stringfield) { this.field = field;}public String getInput() {return input;}public void setInput(Stringinput) { this.input = input;}public int getSize() {return size;}public void setSize(intsize) { this.size = size;}public String getSort() {return sort;public void setSort(String sort) {this.sort = sort;}public String execute() throws Exception {FindAction fb = new FindAction(); fb.setField(field);fb.setInput(input);}fb.setSize(size);fb.setSort(sort);FindService fs = new FindService(); try { list = fs.find(fb);success=true; return SUCCESS;} catch (SQLException e) { e.printStackTrace(); success=false; return ERROR;4.2系统模块设计图1-1 登陆功能展示图LoginAction 类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。

学生通讯录管理系统c语言编程

学生通讯录管理系统c语言编程

学生通讯录管理系统c语言编程以下是一个简单的C语言程序,用于管理学生通讯录。

该程序可以添加、显示、查找和删除学生信息。

c复制代码:#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_STUDENTS 100#define MAX_NAME_LENGTH 50// 学生结构体struct Student {char name[MAX_NAME_LENGTH];int age;char gender;char phone[15];char email[50];};// 学生数组struct Student students[MAX_STUDENTS];int num_students = 0;// 添加学生信息void add_student() {if (num_students >= MAX_STUDENTS) {printf("Error: Reached maximum number of students\n");return;}struct Student new_student;printf("Enter name: ");scanf("%s", new_);printf("Enter age: ");scanf("%d", &new_student.age);printf("Enter gender (M/F): ");scanf(" %c", &new_student.gender);printf("Enter phone number: ");scanf("%s", new_student.phone);printf("Enter email: ");scanf("%s", new_student.email);students[num_students] = new_student;num_students++;}// 显示所有学生信息void display_students() {printf("Name\tAge\tGender\tPhone\tEmail\n");for (int i = 0; i < num_students; i++) {printf("%s\t%d\t%c\t%s\t%s\n", students[i].name, students[i].age, students[i].gender, students[i].phone, students[i].email);}}// 查找学生信息void find_student() {char name[MAX_NAME_LENGTH];printf("Enter student name: ");scanf("%s", name);for (int i = 0; i < num_students; i++) {if (strcmp(students[i].name, name) == 0) {printf("Name: %s\n", students[i].name);printf("Age: %d\n", students[i].age);printf("Gender: %c\n", students[i].gender); printf("Phone: %s\n", students[i].phone); printf("Email: %s\n", students[i].email); return;}}printf("Error: Student not found\n");}// 删除学生信息void delete_student() {char name[MAX_NAME_LENGTH];printf("Enter student name: ");scanf("%s", name);int found = 0;for (int i = 0; i < num_students; i++) {if (strcmp(students[i].name, name) == 0) { found = 1;for (int j = i; j < num_students - 1; j++) { students[j] = students[j+1];}num_students--;break;}}if (!found) {printf("Error: Student not found\n");} else {printf("Student deleted successfully\n"); }}int main() {int choice;do {printf("\nMenu:\n");printf("1. Add student\n");printf("2. Display students\n");printf("3. Find student\n");printf("4. Delete student\n");printf("5. Exit\n");printf("Enter choice: ");scanf("%d", &choice);switch (choice) {case 1: add_student(); break;case 2: display_students(); break;case 3: find_student(); break;case 4: delete_student(); break;case 5: printf("Exiting...\n"); break; default: printf("Invalid choice\n"); break; }} while (choice != 5);return 0。

java程序设计需求分析

java程序设计需求分析

课设题目:个人通讯录管理程序需求分析:
随着科技的进步和信息产业的飞速发展,通讯录成为了现代生活中一个重要的工具。

在“时间就是金钱”的今天,人们需要更加方便快捷的实现对自己通讯录的管理,来提高工作生活的效率。

本通讯录管理系统利用计算机对通讯录进行统一管理,正满足了人们普遍的需求。

一、功能需求分析
本通讯录包括用户登陆、添加记录、删除记录、显示所有记录、修改记录、查询记录、备份记录、退出等功能,通
2
3
4
5
6
7
通过点击备份按钮,系统将自动的把用户的所有记录信息打包备份。

8、退出
当用户不在对通讯录进行操作的时候,可以通过点击退出按钮退出系统。

二、性能需求分析
1. 数据精确度
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。

来源于网络
2. 时间特性
一般操作的响应时间应在1~2秒内。

3、适应性
满足个人使用的需求(记录量控制在1000项内)。

三、目标对象需求分析
本系统主要为有计算机的用户设计,特别是为应对工作族大量的社会关系而设计。

来源于网络。

通讯录管理系统课程设计报告Java

通讯录管理系统课程设计报告Java

通讯录管理系统课程设计报告Java1. 简介通讯录管理系统是一种方便用户存储和管理联系人信息的工具。

本课程设计将使用Java语言开发一个简单的通讯录管理系统,实现对联系人信息的增删改查功能。

通过本项目的实践,学习者将掌握Java编程语言的基础知识和面向对象编程的技巧。

2. 功能需求通讯录管理系统应包含以下功能: - 添加联系人信息:用户可以输入联系人的姓名、电话号码、邮箱等信息添加到通讯录中。

- 显示所有联系人信息:系统能够展示所有已保存在通讯录中的联系人信息。

- 查找联系人信息:用户可以通过姓名或电话号码查找特定联系人的信息。

- 修改联系人信息:用户可以对已保存的联系人信息进行修改。

- 删除联系人信息:用户可以删除通讯录中的联系人信息。

实现以上功能需要设计相应的数据结构和算法,以及编写用户交互界面。

3. 技术实现3.1 数据结构在Java中,可以使用ArrayList或HashMap等数据结构来存储联系人信息。

ArrayList适用于有序的联系人列表,而HashMap适用于根据键值快速查找联系人信息。

3.2 用户交互界面用户交互界面可以通过Java的Swing或JavaFX等GUI工具包来实现。

设计一个简洁明了的界面,包含菜单栏、输入框、按钮等组件,以方便用户操作。

3.3 功能实现•添加联系人信息:用户输入信息后,将联系人信息添加到数据结构中。

•显示所有联系人信息:遍历数据结构,将所有联系人信息展示在界面上。

•查找联系人信息:根据用户输入的查询条件,在数据结构中查找对应的联系人信息。

•修改联系人信息:根据用户输入的修改信息,更新数据结构中相应的联系人信息。

•删除联系人信息:根据用户输入的删除条件,从数据结构中移除对应的联系人信息。

4. 总结通讯录管理系统是一个简单实用的应用程序,能够帮助用户有效管理联系人信息。

通过本课程设计,学习者将学习如何使用Java语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。

管理个人信息系统的设计与实现

管理个人信息系统的设计与实现

JAVAEE期末综合设计题目:管理个人信息系统的设计与实现学院:信息工程与自动化学院专业:计算机应用技术目录摘要: (4)第一章绪论 (5)1.1选题背景、目的及意义 (5)1.2开发工具介绍 (5)1.3论文的组织结构 (5)1.4作者的工作 (6)第二章可行性分析与软件项目计划 (7)2.1经济可行性 (7)2.2技术可行性 (7)2.3操作可行性 (7)2.4软件项目计划 (7)2.4.1项目概述 (7)2.4.2项目组织 (7)2.4.3风险管理 (8)2.4.4进度安排 (8)第三章需求分析 (10)3.1用户需求 (10)3.1.1环境需求 (10)3.1.2功能需求 (10)3.1.3性能需求 (11)3.1.4系统的界面需求 (11)3.1.5安全性与可靠性 (11)3.1.6系统管理 (11)3.2系统用例图 (12)3.3数据流图 (12)第四章系统设计 (14)4.1系统设计任务 (14)4.2系统组织结构与功能模块 (14)4.2.1系统功能结构 (15)4.3 数据库设计 (15)4.3.1数据库简介 (15)4.3.2概念结构设计 (16)4.3.3逻辑结构设计 (16)第五章系统实现 (18)5.1登录界面实现 (18)5.2系统主界面实现 (19)5.3任务管理模块实现 (19)5.4笔记管理模块实现 (20)5.5相册管理模块实现 (21)5.6订阅管理模块实现 (22)5.7文档管理模块实现 (22)5.8账目管理模块实现 (23)5.9系统管理模块实现 (24)第六章系统测试 (25)6.1测试目的 (25)6.2测试内容 (25)6.3测试结果 (27)6.4测试分析 (27)附工程代码 (29)管理个人信息系统的设计与实现摘要:随着经济技术的不断发展,以及社会生活节奏的不断加快,人们每天需要处理的事务变的越来越繁重,人们也因此经常忘记一些重要的事情。

本文介绍的是一个个人信息系统管理系统的设计与实现。

简单个人电话号码查询系统设计--程序部分

简单个人电话号码查询系统设计--程序部分

#include<iostream>#include<fstream>#include<string>using namespace std;int x=0;char a;int j=1;struct TeleNumber //数据类{char name[10]; //姓名double phoneNumber; //固定电话号码double mobileNumber; //移动电话号码char email[10]; //电子邮箱int s;TeleNumber * Next;void ReadFile(istream & in);void input();void display();} ;void TeleNumber::ReadFile(istream & in) //从文件把数据读入到程序{in>>name>>phoneNumber>>mobileNumber>>email;}void TeleNumber::input() //信息输入{cout<<"请输入姓名"<<endl;cin>>name;cout<<"请输入固定电话号码"<<endl;cin>>phoneNumber;cout<<"请输入移动电话号码"<<endl;cin>>mobileNumber;cout<<"请输入电子邮箱"<<endl;cin>>email;s=j++;}void TeleNumber::display() //信息输出{cout<<"姓名:"<<name<<'\t'<<"固定号码:"<<phoneNumber<<'\t'<<"移动电话号码:"<<mobileNumber<<'\t'<<"电子邮箱:"<<email<<endl; }class TeleMessage //功能类{public:TeleMessage(); //构造数据结构~TeleMessage(); //释放单链表void Save(); //数据保存到文件TeleNumber * Search(char *); //信息查找void Sort(); //排序void Insert(); //插入void Remove(); //删除void Change(); //更改void Show(); //显示void Swap(TeleNumber *,TeleNumber *); //两个TeleNumber对象交换数据域private:TeleNumber * End,* Head;ifstream in; //定义读,写文件对象ofstream out;};TeleMessage::TeleMessage(){Head=new TeleNumber; //头插法建立单链表Head->Next=new TeleNumber;End=Head->Next;in.open("TeleNumber.text"); //打开外存文件,看是否有数据存在if(!in)cout<<"电话系统中没有任何号码"<<endl;else{while(!in.eof()) //如果有,则打开,并将数据读取到程序{End->ReadFile(in);if(End->name[0]=='\0')break;End->Next=new TeleNumber;End=End->Next;}in.close();cout<<"读取电话号码系统成功!"<<endl;}cout<<"输入任意字符键继续"<<endl;cin>>a;}TeleMessage::~TeleMessage() //释放单链表{TeleNumber * temp;while(Head->Next!=End){temp=Head->Next;Head=Head->Next;delete temp;}delete Head,End; //删除头尾指针}void TeleMessage::Save() //保存文件{out.open("TeleNumber.txt"); //建立外存文件TeleNumber.txtfor(TeleNumber *p=Head->Next;p!=End;p=p->Next)out<<p->name<<"\t"<<p->phoneNumber<<"\t"<<p->mobileNumber<<"\t"<<p->email<<en dl; //将数据存到外存文件里out.close();cout<<"保存成功!"<<endl;}void TeleMessage::Swap(TeleNumber *p1,TeleNumber *p2) //两个类对象数据域进行交换{TeleNumber * temp=new TeleNumber;strcpy(temp->name,p1->name);strcpy(temp->email,p1->email);temp->mobileNumber=p1->mobileNumber;temp->phoneNumber=p1->phoneNumber;temp->s=p1->s;strcpy(p1->name,p2->name);strcpy(p1->email,p2->email);p1->mobileNumber=p2->mobileNumber;p1->phoneNumber=p2->phoneNumber;p1->s=p2->s;strcpy(p2->name,temp->name);strcpy(p2->email,temp->email);p2->mobileNumber=temp->mobileNumber;p2->phoneNumber=temp->phoneNumber;p2->s=temp->s;}void TeleMessage::Sort() //起泡排序{TeleNumber *p=NULL,*q=NULL;int exchange=j-1;int bound;int i;while(exchange){bound=exchange;exchange=0;for(p=Head->Next,i=1;i<bound;i++,p=p->Next)if(p->mobileNumber>p->Next->mobileNumber){Swap(p,p->Next); //调用交换函数exchange=p->s;}}Show();}void TeleMessage::Insert() //插入{End->input(); //从单链表尾部插入End->Next=new TeleNumber;End=End->Next;cout<<endl<<"插入成功"<<endl;}void TeleMessage::Remove() //删除{char name[20];TeleNumber * p=new TeleNumber,*temp=NULL;cout<<"请输入要删除人的姓名:"<<endl;cin>>name;p->Next=Search(name); //先进行查找,找到所要删除的结点if(Search(name)){temp=p->Next;p->Next=p->Next->Next; //摘链delete temp;cout<<"\t\t删除成功!"<<endl;}else{cout<<"\t\t没有找到!"<<endl;}}TeleNumber * TeleMessage::Search(char * name){for(TeleNumber *p=Head->Next;p!=End;p=p->Next)if(!strcmp(p->name,name)){if(x==4){p->display();return p;}elsereturn p;}if(x==4)cout<<"查无此人"<<endl;return 0;}void TeleMessage::Change() //修改信息{char name[20];cout<<"请输入要修改的人的姓名:";cin>>name;if(Search(name)){cout<<"\t\t已找到个人的信息,请输入新的信息!"<<endl;Search(name)->input();cout<<"修改成功!"<<endl;}else{cout<<"\t\t没有找到!"<<endl;}}void TeleMessage::Show(){for(TeleNumber * p=Head->Next;p!=End;p=p->Next)p->display();}int main(){bool flag=true;TeleMessage tele;char name[20];while(flag){system("cls");cout<<" 简单个人电话号码查询系统"<<endl;cout<<"1.增加电话号码"<<endl;cout<<"2.显示电话号码"<<endl;cout<<"3.排序个人电话"<<endl;cout<<"4.查找个人电话"<<endl;cout<<"5.删除个人信息"<<endl;cout<<"6.修改个人信息"<<endl;cout<<"7.保存个人信息*"<<endl;cout<<"0.退出系统*"<<endl;cout<<"请选择:";cin>>x;switch(x){case 0:flag=false;break;case 1:tele.Insert();break;case 2:tele.Show();break;case 3:tele.Sort();break;case 4:cout<<"请输入欲查找认得姓名"<<endl;cin>>name;tele.Search(name);break;case 5:tele.Remove();break;case 6:tele.Change();break;case 7:tele.Save();break;}cout<<"输入任意字母返回"<<endl;cin>>a;}return 0;}。

python通讯录管理系统课程设计

python通讯录管理系统课程设计

Python通讯录管理系统课程设计1. 介绍通讯录管理系统是一种用于存储和管理联系人信息的应用程序。

这个系统可以帮助用户更好地组织和查找联系人信息,提高通讯录管理的效率。

本课程设计将带领学生使用Python编程语言开发一个简单的通讯录管理系统。

通过设计这个系统,学生将学习到Python编程的基础知识,并能够应用它们解决实际问题。

2. 系统需求在开始开发之前,我们需要明确系统的需求。

下面是本课程设计所开发的通讯录管理系统的基本需求:•用户注册和登录功能:允许用户注册一个新账号并登录系统。

•联系人管理功能:允许用户添加、编辑、删除和搜索联系人信息。

•联系人信息包括:姓名、电话号码和邮箱地址。

•联系人信息的存储:使用文件来保存联系人信息,确保信息不会丢失。

3. 开发环境准备在开始开发之前,我们需要准备好相应的开发环境。

以下是所需的开发环境:•Python编程语言:确保已经安装了Python解释器。

•文本编辑器:用于编写代码的文本编辑器,例如Visual Studio Code 或Sublime Text。

•命令行界面:用于执行Python程序的命令行界面。

4. 系统设计4.1 用户注册和登录功能用户注册和登录功能是通讯录管理系统的核心功能之一。

下面是具体的设计步骤:1.用户注册功能:–提示用户输入用户名和密码。

–将用户名和密码保存到文件中作为登录凭证。

–如果用户名已存在,则提示用户重新输入。

–注册成功后,用户可以使用注册的用户名和密码登录系统。

2.用户登录功能:–提示用户输入用户名和密码。

–从文件中读取保存的用户名和密码进行验证。

–如果验证失败,则提示用户重新输入。

–登录成功后,显示联系人管理功能菜单。

4.2 联系人管理功能联系人管理功能是通讯录管理系统的核心功能之二。

下面是具体的设计步骤:1.联系人列表显示:–从文件中读取联系人信息并显示在界面上。

–如果联系人列表为空,则显示相应提示信息。

2.联系人添加功能:–提示用户输入联系人的姓名、电话号码和邮箱地址。

基于C语言实现个人通讯录管理系统

基于C语言实现个人通讯录管理系统

基于C语⾔实现个⼈通讯录管理系统之前利⽤C语⾔完成了⼀个关于个⼈通讯录管理系统的课题,主要是关于联系⼈的添加、查找、删除、修改、输出以及⽂件的写⼊与读出,还有⼀个甜点功能—模拟通话,它的实现原理也很容易理解,⽂章末尾会介绍到。

主框架:1、函数声明关于这⾥的函数声明,主要是为了可以清楚的了解整个系统的功能,这⾥不做过多介绍。

还有结构体链表的创建,贯穿了各个功能代码部分,必不可少。

2、联系⼈的添加这部分主要涉及联系⼈的姓名、地址、电话、QQ号和邮箱(当然需要其他功能可⾃⾏添加),考虑到数组操作不便前提下,使⽤链表的尾插法,通过不断开创新的结点,然后不断将新的结点的地址指向尾结点,使尾结点不断后移,⽽新创的结点时按照添加的先后顺序进⾏连接(参考下图可快速理解,此图⽚来源于⽹络),当然其中某些项的条件限制也是必不可少的。

⽐如:电话、QQ号、邮箱int Addpeo() //添加联系⼈{int t,n,a;char flag='y'; //仅作为第⼀次执⾏条件ptcs p=head,q;while(flag!='n'&&flag!='N') //判断是否继续添加{q=(ptcs)malloc(sizeof(pcs)); //申请内存p->next=q; //赋予下⼀个节点p=q;q->next=NULL; //尾结点地址赋空值,尾插法printf("\n\t请输⼊:\n");printf("\t\t姓名:");scanf("\t\t%s",q->);printf("\t\t地址:");scanf("\t\t%s",q->chat.add);printf("\t\t⼿机号:");scanf("\t\t%s",q->chat.tel);do{n=0; //仅做记录if(strlen(q->chat.tel)!=11) //计算⼿机号的长度,判断是否输⼊规范 {n=1;printf("\t\t您输⼊的⼿机号格式不存在,请重新输⼊:");scanf("\t\t%s",q->chat.tel);}else{for(t=0;t<11;t++){if(q->chat.tel[t]<'0'||q->chat.tel[t]>'9'){n=1;printf("\t\t您输⼊的⼿机号格式不合理,请重新输⼊:");scanf("\t\t%s",q->chat.tel);break;}}}}while(n);//输⼊QQ号printf("\t\tQQ号:");scanf("\t\t%s",q->chat.tecent);do{n=0;if(strlen(q->chat.tecent)>10) //以10位QQ号为准,判断是否符合规范 {n=1;printf("\t\t您输⼊的QQ号格式不存在,请重新输⼊:");scanf("\t\t%s",q->chat.tecent);}else{for(t=0;t<10;t++){if(q->chat.tecent[t]<'0'||q->chat.tecent[t]>'9'){n=1;printf("\t\t您输⼊的QQ号格式不合理,请重新输⼊:");scanf("\t\t%s",q->chat.tecent);break;}}}}while(n);//输⼊邮箱printf("\t\tEmail:");scanf("\t\t%s",q->chat.email);do{//判断邮箱 @符号输⼊规范(这⾥不限定邮箱号码位数)a=0;for(t=0;q->chat.email[t]!='\0';t++){if(q->chat.email[t]=='@')a++; //@数为1}if(a!=1){printf("\t\t输⼊的邮箱格式不合理,请重新输⼊:");scanf("\t\t%s",q->chat.email);}}while(a!=1); //是否输⼊@ ,为1则终⽌循环printf("\n\t是否继续添加?(Y/N)");scanf("\t%c",&flag);}return 0;}3、联系⼈的查询这步使⽤的是遍历查询,共设置了三种⽅式,在定义链表指针的前提下,通过遍历链表进⾏信息的对⽐,从⽽判断联系⼈是否存在,如果存在就直接显⽰给⽤户,不存在就直接退回功能选项。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

package cn.pab.manager;import java.util.List;import java.util.Scanner;import cn.pab.dao.PersonDao;import cn.pab.dao.TypeDao;import erDao;import cn.pab.dao.impl.PersonDaoImpl;import cn.pab.dao.impl.TypeDaoImpl;import erDaoImpl;import cn.pab.entity.Person;import cn.pab.entity.Type;/*** 业务类*/public class PABmanager {/*** 系统启动*/public static void main(String[] args) {Scanner input = new Scanner(System.in);UserDao userDao = new UserDaoImpl();TypeDao typeDao = new TypeDaoImpl();PersonDao personDao = new PersonDaoImpl();System.out.println("***********欢迎使用个人通讯录管理系统**********");System.out.print("\n请选择操作(1.系统登录 2.密码修改 3.取消):");String in = input.next();if ("1".equals(in)) {boolean islogin = userDao.login();if(islogin){System.out.println("***********成功登录个人通讯录管理系统**********");//System.out.print("\n请选择操作(1.类别管理 2.联系人管理 3.退出系统):");}else{System.out.println("用户名或密码错误,不能登录!");System.exit(-1);}}else if ("2".equals(in)) {boolean modiFlag = userDao.modify();if(modiFlag){System.out.println("密码修改成功!");}else{System.out.println("密码修改失败!");}System.exit(-1);}else{System.out.println("您已经退出系统!");System.exit(-1);}while(true){System.out.print("\n请选择操作(1.类别管理 2.联系人管理 3.退出系统):");String in2 = input.next();if ("1".equals(in2)) {while(true){System.out.print("\n请继续选择操作(1.新建类别 2.查询类别 3.删除类别 4.返回):");String num = input.next();if ("1".equals(num)) {System.out.print("请输入类别的名称:");String lbmc = input.next();System.out.print("请输入类别的说明:");String lbsm = input.next();System.out.print("请输入类别的备注:");String lbbz = input.next();Type type = new Type(lbmc,lbsm,lbbz);typeDao.createType(type);}else if ("2".equals(num)) {List<Type> types = typeDao.queryType();System.out.println("\t\t类别信息列表");System.out.println("类别名称\t\t类别说明\t\t类别备注");for (int i = 0; i < types.size(); i++) {Type type =types.get(i);System.out.print(type.getLbmc()+"\t");System.out.print(type.getLbsm()+ "\t\t");System.out.println(type.getLbbz());}}else if ("3".equals(num)) {System.out.print("请输入类别的名称:");String lbmc = input.next();Type type = new Type(lbmc,null,null);typeDao.deleteType(type);}else if ("4".equals(num)) {break;}else{System.out.println("您输入不合法,请重新选择!");}}}else if ("2".equals(in2)) {while(true){System.out.print("\n请继续选择操作(1.新建联系人 2.查询联系人3.更新联系人 4.删除联系人 5.返回):");String num = input.next();if ("1".equals(num)) {System.out.print("请输入联系人的类别名称:");String lb = input.next();System.out.print("请输入联系人的姓名:");String xm = input.next();System.out.print("请输入联系人的电话:");String dh = input.next();System.out.print("请输入联系人的手机号:");String sjh = input.next();System.out.print("请输入联系人的工作单位:");String gzdw = input.next();System.out.print("请输入联系人的住址:");String zz = input.next();System.out.print("请输入联系人的邮政编码:");String yzbm = input.next();Person person = new Person(lb,xm,dh,sjh,gzdw,zz,yzbm);personDao.createPerson(person);}else if ("2".equals(num)) {System.out.print("请输入联系人的姓名:");String name = input.next();Person p = personDao.queryPerson(name);System.out.println("\t\t查询到的联系人信息");System.out.println("类别\t姓名\t电话\t\t手机号\t\t工作单位\t 住址\t邮政编码");System.out.print(p.getLb() + "\t");System.out.print(p.getXm() + "\t");System.out.print(p.getDh() + "\t");System.out.print(p.getSjh() + "\t");System.out.print(p.getGzdw() + "\t");System.out.print(p.getZz() + "\t");System.out.println(p.getYzbm());}else if ("3".equals(num)) {System.out.print("请输入需更新的联系人编号:");int id = input.nextInt();System.out.print("请输入需更新的联系人信息选项:");String item = input.next();System.out.print("请输入联系人信息选项的值:");String val = input.next();personDao.updatePerson(id,item, val);}else if ("4".equals(num)) {System.out.print("请输入要删除联系人的姓名:");String name = input.next();personDao.deletePerson(name);}else if ("5".equals(num)) {break;}else{System.out.println("您输入不合法,请重新选择!");}}}else if ("3".equals(in2)) {System.out.println("您已经退出系统!");System.exit(-1);}else{System.out.println("您输入不合法,请重新选择!");}}}}。

相关文档
最新文档