女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于控制臺的通訊錄管理系統(tǒng)功能介紹

對面小姐姐 ? 來源:猿小馬 ? 作者:猿小馬 ? 2023-10-16 10:20 ? 次閱讀

欄目介紹

本欄目專為入門java學(xué)習(xí)者設(shè)計(jì)的一些簡單的入門項(xiàng)目

功能介紹

本項(xiàng)目為簡單的基于控制臺的通訊錄管理系統(tǒng),所需要的環(huán)境僅僅為jdk以及mysql(版本不限)!只有一個(gè)簡單的eclipse軟件以及我們的mysql可視化工具(視頻使用navicat)

本項(xiàng)目數(shù)據(jù)庫表有二個(gè),本項(xiàng)目是之前的單表項(xiàng)目的升級版本
本項(xiàng)目使用mvc設(shè)計(jì)模式,使用面向?qū)ο蟮拈_發(fā)思想
本項(xiàng)目使用最基礎(chǔ)的jdbc的方式鏈接的數(shù)據(jù)庫

本項(xiàng)目主要實(shí)現(xiàn)的功能有:

  • 注冊登錄
  • 系統(tǒng)運(yùn)行成功后的歡迎及菜單頁面
  • 按照登錄人添加聯(lián)系人功能
  • 按照登錄人進(jìn)行聯(lián)系人查詢功能(分名稱和手機(jī)號查詢)
  • 按照登錄人顯示聯(lián)系人列表
  • 按照登錄人根據(jù)編號刪除指定編號的聯(lián)系人
  • 按照登錄人修改指定編號的聯(lián)系人
  • 退出登錄

業(yè)務(wù)點(diǎn)處理:

當(dāng)前登錄人操作只能操作自己的數(shù)據(jù),用戶登錄成功后,顯示的列表只能顯示自己錄入的數(shù)據(jù)!
注冊:用戶表按照的是用戶名作為唯一標(biāo)識,也就是不能注冊重復(fù)的用戶名
新增:對于不同用戶來說通訊錄的no是可以重復(fù)的,但是對于同一個(gè)用戶來說錄入的通訊通好友的編號no是不允許重復(fù)的
修改:用戶修改也是通過編號以及自己的登錄狀態(tài)來修改自己的數(shù)據(jù)
刪除:用戶刪除輸入的編號也是只針對自己的數(shù)據(jù)

項(xiàng)目實(shí)現(xiàn)截圖

項(xiàng)目結(jié)構(gòu):
圖片

數(shù)據(jù)表結(jié)構(gòu)

1.登錄用戶表
圖片
2.用戶的通訊錄數(shù)據(jù)表
圖片

頁面截圖

圖片
圖片
圖片
圖片

項(xiàng)目功能及代碼

1.JDBC數(shù)據(jù)庫連接工具類:

package com.maker.address.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 數(shù)據(jù)庫連接工具類
 * @author Administrator
 *
 */
public class DBUtil {

    public static String db_url = "jdbc:mysql://localhost:3306/addressbook?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=utf-8";
    public static String db_user = "root";
    public static String db_pass = "123456";

    public static Connection getConn () {
        Connection conn = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(db_url, db_user, db_pass);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return conn;
    }

    /**
     * 關(guān)閉鏈接
     * @param state
     * @param conn
     */
    public static void close (Statement state, Connection conn) {
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 關(guān)閉鏈接
     * @param state
     * @param conn
     */
    public static void close (ResultSet rs, Statement state, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

2.運(yùn)行程序的主類:UserMain

主類中包含各種頁面顯示以及主方法入口

package com.maker.address.web;

import java.util.ArrayList;
import java.util.Scanner;

import com.maker.address.entity.Login;
import com.maker.address.entity.User;
import com.maker.address.service.LoginService;
import com.maker.address.service.UserService;


//主類  程序從這里的main方法開始
public class UserMain {
	//靜態(tài)的user服務(wù)層對象
	static UserService user = new UserService();
	//靜態(tài)的用戶登錄服務(wù)層對象
	static LoginService loginService = new LoginService();
	//靜態(tài)的全局的用戶輸入對象
	static Scanner sc = new Scanner(System.in);
	//登錄對象保存
	static Login LOGIN = null;
	
	/**
	 * main方法執(zhí)行后先執(zhí)行start方法
	 * 這里就是對登錄注冊的頁面顯示的操作
	 */
	public static void start(){
		System.out.println("=======請選擇=====");
		System.out.println("【1】注冊");
		System.out.println("【2】登錄");
		int index = sc.nextInt();
		//根據(jù)用戶輸入的操作來進(jìn)行下一步的指令
		//每一個(gè)指令之后都是重新進(jìn)行start方法,只有在登錄成功的時(shí)候,登錄方法內(nèi)部進(jìn)入了into這個(gè)方法,就是進(jìn)入系統(tǒng)中了
		switch(index){
		case 1:
			//注冊
			toRegist();
			start();
			break;
		case 2:
			//登錄
			login();
			start();
			break;
			default:
				System.out.println("請輸入正確的指令!");
				start();
				break;
		}
	}

	//登錄方法
	private static void login() {
		// TODO Auto-generated method stub
		System.out.println("請輸入用戶名:");
		String username = sc.next();
		System.out.println("請輸入密碼:");
		String password = sc.next();
		//根據(jù)輸入的用戶名密碼來調(diào)用服務(wù)層接口
		LOGIN = loginService.toLogin(username, password);
		if(LOGIN!=null){
			//登錄成功的時(shí)候會返回?cái)?shù)據(jù)庫中的登錄對象,然后將對象賦值給全局的登錄對象,這樣在做其他操作的時(shí)候直接使用就行
			//登錄成功后進(jìn)入系統(tǒng)中
			into();
		}
	}

	//注冊的方法
	private static void toRegist() {
		// TODO Auto-generated method stub
		System.out.println("請輸入用戶名:");
		String username = sc.next();
		System.out.println("請輸入密碼:");
		String password = sc.next();
		System.out.println("請確認(rèn)密碼:");
		String rePassword = sc.next();
		//根據(jù)用戶輸入的用戶名密碼來進(jìn)行校驗(yàn)
		if(password.equals(rePassword)){
			//注冊成功不做其他操作,在start方法中會重新執(zhí)行start
			loginService.toRegist(username, rePassword);
		}else{
			System.out.println("二次密碼輸入不一致!");
		}
	}
		
	/**
	 * 這里就是用戶登錄成功后進(jìn)入系統(tǒng)的頁面顯示方法
	 */
	public static void into() {
		System.out.println("=======通訊錄管理系統(tǒng)=====");
		System.out.println("【1】添加聯(lián)系人");
		System.out.println("【2】聯(lián)系人查詢");
		System.out.println("【3】顯示聯(lián)系人列表");
		System.out.println("【4】根據(jù)編號刪除指定編號的聯(lián)系人");
		System.out.println("【5】修改指定編號的聯(lián)系人");
		System.out.println("【0】退出");
		System.out.println("=============================");
		int i = sc.nextInt();
		//接收用戶輸入的指令來進(jìn)行不同的操作
		switch (i) {
		case 1:
			//添加聯(lián)系人
			add();
			into();
			break;
		case 2:
			//聯(lián)系人查詢
			System.out.println("【1】通過聯(lián)系人姓名查詢/【2】通過聯(lián)系人電話查詢");
			int a = sc.nextInt();
			findbyName(a);
			into();
			break;
		case 3:
			//顯示聯(lián)系人列表
			show();
			into();
			break;
		case 4:
			//根據(jù)編號刪除指定編號的聯(lián)系人
			del();
			into();
			break;
		case 5:
			//修改指定編號的聯(lián)系人
			update();
			into();
			break;
		case 0:
			//退出
			System.out.println("謝謝使用,再見!");
			System.exit(0);
			break;
		default:
			//不存在的指令
			System.out.println("請輸入正確的指令!");
			into();
			break;
		}
	}

	/**
	 * 修改用戶的方法
	 * 1.接收用戶輸入的聯(lián)系人編號以及修改的數(shù)據(jù)
	 * 2.然后中間進(jìn)行手機(jī)號驗(yàn)證以及郵箱驗(yàn)證
	 * 3.最后調(diào)用服務(wù)層updateUser方法去執(zhí)行修改操作
	 */
	private static void update() {
		// TODO Auto-generated method stub
		System.out.println("請輸入要修改的聯(lián)系人編號:");
		int a = sc.nextInt();
		System.out.println("請輸入姓名:");
		String b = sc.next();
		System.out.println("請輸入手機(jī)號:");
		String c = sc.next();
		judgePhone(c);
		System.out.println("請輸入QQ:");
		String d = sc.next();
		System.out.println("請輸入郵箱地址:");
		String e = sc.next();
		judgeEmail(e);
		User x = new User(a, b, c, d, e,LOGIN.getId());
		if (user.updateUser(x)) {
			System.out.println("修改成功!");
		}
	}

	/**
	 * 新增方法
	 * 1.接收用戶輸入的相關(guān)信息
	 * 2.中間進(jìn)行手機(jī)號驗(yàn)證以及郵箱驗(yàn)證
	 * 3.調(diào)用服務(wù)器addUser新增接口
	 */
	public static void add() {
		System.out.println("請輸入聯(lián)系人編號:");
		int a = sc.nextInt();
		System.out.println("請輸入聯(lián)系人姓名:");
		String b = sc.next();
		System.out.println("請輸入聯(lián)系人手機(jī)號:");
		String c = sc.next();
		judgePhone(c);
		System.out.println("請輸入聯(lián)系人QQ:");
		String d = sc.next();
		System.out.println("請輸入聯(lián)系人郵箱地址:");
		String e = sc.next();
		judgeEmail(e);
		User x = new User(a, b, c, d, e,LOGIN.getId());
		if (user.addUser(x)) {
			System.out.println("添加成功!");
		}
	}

	/**
	 * 校驗(yàn)手機(jī)號  
	 * 規(guī)則:11位  數(shù)字1開頭  第二位為34589 后面9位1-9任意
	 * 
	 * 校驗(yàn)不通過后可以重新輸入
	 * @param phone 手機(jī)號
	 */
	public static void judgePhone(String phone) {

		if (phone.matches("1[34589][0-9]{9}")) {

		} else {
			System.out.println("手機(jī)號輸入有誤,請重新輸入");
			String v = sc.next();
			judgePhone(v);
		}
	}
	/**
	 * 校驗(yàn)郵箱
	 * 規(guī)則:不包括特殊字符  中間有@
	 * 
	 * 校驗(yàn)不通過后可以重新輸入
	 * @param email 郵箱
	 */
	public static void judgeEmail(String email) {

		if (email.matches("[A-Za-z0-9]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)")) {

		} else {
			System.out.println("郵箱格式輸入有誤,請重新輸入");
			String v = sc.next();
			judgeEmail(v);
		}
	}

	/**
	 * 查詢聯(lián)系人方法
	 * 
	 * 查詢方法調(diào)用user服務(wù)層接口然后參數(shù)加上當(dāng)前登錄人的id
	 * 
	 * @param a  輸入的指令  1按照姓名  2按照電話
	 */
	public static void findbyName(int a) {
		if (a == 1) {
			System.out.println("請輸入聯(lián)系人姓名");
		} else {
			System.out.println("請輸入聯(lián)系人電話");
		}
		String name = sc.next();
		User user = UserMain.user.searchByName(name,LOGIN.getId());
		System.out.println(user);
	}

	/**
	 * 顯示所有聯(lián)系人的方法
	 * 調(diào)用user服務(wù)層接口根據(jù)當(dāng)前登錄人的id查詢
	 */
	public static void show() {
		ArrayList list = user.showInfo(LOGIN.getId());
		for (Object o : list) {
			System.out.println(o);
		}
	}

	/**
	 * 刪除方法
	 * 1.根據(jù)用戶輸入的要刪除的聯(lián)系人編號
	 * 2.調(diào)用user服務(wù)器接口根據(jù)當(dāng)前登錄人id以及要刪除的聯(lián)系人編號進(jìn)行刪除
	 */
	public static void del() {
		System.out.println("請輸入編號");
		int no = sc.nextInt();
		if (user.delUser(no,LOGIN.getId())) {
			System.out.println("刪除成功");
		}
	}

	//運(yùn)行程序的主方法,右鍵運(yùn)行后會執(zhí)行start方法
	public static void main(String[] args) {
		start();
	}
}
  1. user的服務(wù)層代碼 UserService
package com.maker.address.service;

import java.util.ArrayList;
import java.util.Objects;

import com.maker.address.dao.UserDao;
import com.maker.address.entity.User;

/**
 * 用戶服務(wù)層
 * @author Administrator
 *
 */
public class UserService {
	 	UserDao ud = new UserDao();
	 
	 	//新增用戶
	    public boolean addUser(User user){
	    	//判斷編號是否存在,存在的話將不允許新增
	    	User record = ud.queryByNo(user.getNo(),user.getUserId());
	    	if(record!=null){
	    		System.out.println("編號已存在!");
	    		return false;
	    	}
	        return ud.add(user);
	    }
	 
	    /**
	     * 公共的查詢所有數(shù)據(jù)的方法
	     * 查詢出當(dāng)前登錄人的所有的聯(lián)系人
	     * @param userId 當(dāng)前登錄人id
	     * @return
	     */
	    public ArrayList showInfo(Integer userId){
	        return ud.getAll(userId);
	    }
	    
	    /**
	     * 通過名稱或者電話查詢聯(lián)系人
	     * 1.通過showInfo查詢當(dāng)前登錄人的所有聯(lián)系人
	     * 2.通過字段進(jìn)行過濾查詢出符合的聯(lián)系人
	     * 
	     * @param name 用戶輸入的
	     * @param userId 當(dāng)前登錄人的id
	     * @return
	     */
	    public User searchByName(String name,Integer userId){
	    	ArrayList< User > s = showInfo(userId);
	        for (User user : s) {
	            if (Objects.equals(name,user.getName()) ||Objects.equals(name,user.getPhone())){
	                return user;
	            }
	        }
	        return null;
	    }
	 
	    /**
	     * 修改方法
	     * @param user 要修改的實(shí)體
	     * @return 
	     */
	    public boolean updateUser(User user){
	    	boolean num = ud.updateUser(user);
	        if(!num) {
	            System.out.println("該用戶不存在");
	            return false;
	        }
	        return true;
	    }
	 
	    /**
	     * 刪除聯(lián)系人的方法
	     * 1.通過showInfo查詢當(dāng)前登錄人的所有聯(lián)系人
	     * 2.過濾查詢要刪除的聯(lián)系人的編號
	     * 3.執(zhí)行刪除
	     * @param no  要刪除人的編號
	     * @param userid 當(dāng)前登錄人id
	     * @return
	     */
	    public boolean delUser(int no,Integer userid){
	    	ArrayList< User > s = showInfo(userid);
	        User user = null;
	        for(User u:s) {
	            if(no == u.getNo()) {
	                user = u;
	                break;
	            }
	        }
	        if(user == null) {
	            System.out.println("該用戶不存在");
	            return false;
	        }
	        return ud.remove(user);
	    }
}

4.user的Dao層代碼 UserDao

package com.maker.address.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import com.maker.address.entity.User;
import com.maker.address.util.DBUtil;

/**
 * dao層處理對數(shù)據(jù)庫的操作
 * @author Administrator
 *
 */
public class UserDao {

	//新增用戶
	public boolean add(User user) {
		// TODO Auto-generated method stub
		String sql = "insert into user(no,name,phone,qq,email,userid) values ("+user.getNo()+",'"+user.getName()+"','"+user.getPhone()+"','"+user.getQQ()+"','"+user.getEmail()+"',"+user.getUserId()+")";
		Connection conn = DBUtil.getConn();
		Statement state = null;
		int num = 0;
		System.out.println(sql);
		try {
			state = conn.createStatement();
			num = state.executeUpdate(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			DBUtil.close(state, conn);
		}
		return num > 0;
	}

	//查詢所有用戶
	public ArrayList getAll(Integer userid) {
		// TODO Auto-generated method stub
		String sql = "select * from user where userid =" + userid;
		Connection conn = DBUtil.getConn();
		Statement state = null;
		ArrayList< User > list = new ArrayList<  >();
		ResultSet rs = null;
		try {
			state = conn.createStatement();
			rs = state.executeQuery(sql);
			while(rs.next()){
				//結(jié)果集中有數(shù)據(jù)  代表查詢出來有數(shù)據(jù)
				//創(chuàng)建user對象,將數(shù)據(jù)存入到對象集合中
				User user = new User();
				user.setNo(rs.getInt("no"));
				user.setName(rs.getString("name"));
				user.setPhone(rs.getString("phone"));
				user.setQQ(rs.getString("qq"));
				user.setEmail(rs.getString("email"));
				user.setUserId(rs.getInt("userid"));
				list.add(user);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			DBUtil.close(rs,state, conn);
		}
		return list;
	}

	//按照編號查詢用戶
	public User queryByNo(int no,Integer userid) {
		// TODO Auto-generated method stub
		String sql = "select * from user where no="+no + " and userid="+userid;
		Connection conn = DBUtil.getConn();
		Statement state = null;
		User user = null;
		ResultSet rs = null;
		try {
			state = conn.createStatement();
			rs = state.executeQuery(sql);
			while(rs.next()){
				user = new User();
				//結(jié)果集中有數(shù)據(jù)  代表查詢出來有數(shù)據(jù)
				//創(chuàng)建user對象,將數(shù)據(jù)存入到對象集合中
				user.setNo(rs.getInt("no"));
				user.setName(rs.getString("name"));
				user.setPhone(rs.getString("phone"));
				user.setQQ(rs.getString("qq"));
				user.setEmail(rs.getString("email"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			DBUtil.close(rs,state, conn);
		}
		return user;
	}

	//刪除用戶按照編號
	public boolean remove(User user) {
		// TODO Auto-generated method stub
		String sql = "delete from user where no = '"+user.getNo()+"' and userid="+user.getUserId();
		Connection conn = DBUtil.getConn();
		Statement state = null;
		int num = 0;
		try {
			state = conn.createStatement();
			num = state.executeUpdate(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			DBUtil.close(state, conn);
		}
		return num > 0;
	}

	//修改用戶按照編號修改
	public boolean updateUser(User user) {
		// TODO Auto-generated method stub
		String sql = "update user set name='"+user.getName()+"',phone='"+user.getPhone()+"',qq='"+user.getQQ()+"',email='"+user.getEmail()+"' where no = "+user.getNo();
		
		Connection conn = DBUtil.getConn();
		Statement state = null;
		int num = 0;
		try {
			state = conn.createStatement();
			num = state.executeUpdate(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			DBUtil.close(state, conn);
		}
		return num > 0;
	}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2984

    瀏覽量

    106846
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5118

    瀏覽量

    88924
  • 管理系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    2737

    瀏覽量

    36765
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    849

    瀏覽量

    27514
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    設(shè)計(jì)手機(jī)通訊錄

    求大神請教,如何設(shè)計(jì)手機(jī)上的通訊錄,要求是什么?
    發(fā)表于 11-15 00:18

    如何去掉通訊錄的APK?

    如何去掉通訊錄的APK?
    發(fā)表于 03-03 07:02

    SCVMM 2008 R2管理控制臺介紹

    Server 2003虛擬機(jī),并克隆l 創(chuàng)建硬件配置文件l 創(chuàng)建來賓操作系統(tǒng)配置文件一、SCVMM 2008 R2管理控制臺介紹微軟所提供的System Center 套件真正的實(shí)現(xiàn)
    發(fā)表于 10-24 16:55

    企業(yè)通訊錄app源碼

    企業(yè)通訊錄app源碼這是android 上的源碼。
    發(fā)表于 03-28 10:02 ?23次下載

    蘋果手機(jī)咋備份通訊錄,如何導(dǎo)出手機(jī)通訊錄聯(lián)系人?

    掃描結(jié)束后,進(jìn)入到下個(gè)界面,這個(gè)界面是數(shù)據(jù)項(xiàng)恢復(fù)的主界面,在這里我們可以對通訊錄,備忘,短信等其他數(shù)據(jù)項(xiàng)進(jìn)行恢復(fù)。
    發(fā)表于 07-23 22:13 ?1973次閱讀
    蘋果手機(jī)咋備份<b class='flag-5'>通訊錄</b>,如何導(dǎo)出手機(jī)<b class='flag-5'>通訊錄</b>聯(lián)系人?

    通訊錄管理系統(tǒng)

    計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,人們的生活擺脫了傳統(tǒng)式的記事本、電話簿,越來越多的靠計(jì)算機(jī)來幫助人們記住這些事情。這就需要有一個(gè)可供人們快速查詢的通訊錄管理系統(tǒng),用戶可以方便的通過自己安裝的通訊錄
    發(fā)表于 03-19 14:42 ?43次下載

    Wind River Helix設(shè)備云中管理控制臺介紹

    本視頻介紹了Wind River Helix * Device Cloud中的管理控制臺
    的頭像 發(fā)表于 11-01 06:20 ?2790次閱讀

    如何恢復(fù)蘋果通訊錄

    蘋果通訊錄恢復(fù)方法
    的頭像 發(fā)表于 08-26 16:38 ?3883次閱讀

    通訊錄管理系統(tǒng)源碼,C語言鏈表實(shí)現(xiàn)

    如果有熟悉的小伙伴看到我,就知道又可以來學(xué)習(xí)源碼項(xiàng)目了!沒錯,咱們今天要分享的同樣也是經(jīng)典管理系統(tǒng)項(xiàng)目之一:通訊錄管理系統(tǒng)!我們一起來看看吧
    的頭像 發(fā)表于 10-28 16:07 ?1797次閱讀

    C語言程序設(shè)計(jì)--通訊錄系統(tǒng)

    更深刻的了解,掌握利用數(shù)組存儲結(jié)構(gòu)實(shí)現(xiàn)對聯(lián)系人管理的原理,為進(jìn)一步開發(fā)出高質(zhì)量的通訊錄系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。
    發(fā)表于 04-10 09:17 ?8次下載

    基于JAVA+SQL電子通訊錄系統(tǒng)托盤(源代碼及配置文檔)

    基于JAVA+SQL電子通訊錄系統(tǒng)托盤(源代碼及配置文檔)
    發(fā)表于 06-09 16:07 ?0次下載

    基于Android系統(tǒng)手機(jī)通訊錄管理軟件的設(shè)計(jì)與開發(fā)

    電子發(fā)燒友網(wǎng)站提供《基于Android系統(tǒng)手機(jī)通訊錄管理軟件的設(shè)計(jì)與開發(fā).doc》資料免費(fèi)下載
    發(fā)表于 10-30 10:09 ?0次下載
    基于Android<b class='flag-5'>系統(tǒng)</b>手機(jī)<b class='flag-5'>通訊錄</b><b class='flag-5'>管理</b>軟件的設(shè)計(jì)與開發(fā)

    基于Android平臺的手機(jī)通訊錄管理系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于Android平臺的手機(jī)通訊錄管理系統(tǒng).doc》資料免費(fèi)下載
    發(fā)表于 10-30 10:13 ?0次下載
    基于Android平臺的手機(jī)<b class='flag-5'>通訊錄</b><b class='flag-5'>管理</b><b class='flag-5'>系統(tǒng)</b>

    基于Android平臺的個(gè)性通訊錄

    電子發(fā)燒友網(wǎng)站提供《基于Android平臺的個(gè)性通訊錄.doc》資料免費(fèi)下載
    發(fā)表于 10-30 11:32 ?0次下載
    基于Android平臺的個(gè)性<b class='flag-5'>通訊錄</b>

    控制臺窗口主機(jī)是什么

    控制臺窗口主機(jī)(conhost),通常指的是在Windows操作系統(tǒng)中用于承載和控制控制臺窗口(即命令行界面或CMD窗口)的進(jìn)程。以下是對控制臺
    的頭像 發(fā)表于 10-08 18:12 ?4953次閱讀