zoukankan      html  css  js  c++  java
  • C语言实现的简单通讯录例子

    本程序主要利用C语言中链表和文件的相关知识,实现了能够增删改查操作的简易通讯录程序。根目录下的ctt文件是存放通讯录信息的文件,可以直接用文本编辑器打开。但是不要改动固定的格式。代码中,多处出现重复的条件判断,导致代码重复。不过,有机会的话会进行修改。

    部分代码如下:

    /**
     * @Desc:这是一个实现通讯录的C源代码
     * @Author:乌鸟
     * @Version:0.1
     * @URL:http://huxuemail.web-104.com
     * @QQ交流群:235173087(欢迎加入)
     */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <windows.h>
    
    //这里定义的是联合体中字符数组的长度。
    #define C_NAME_SIZE 10
    #define C_SEX_SIZE 3
    #define C_AGE_SIZE 5
    #define C_PHONE_SIZE 12
    #define C_QQ_SIZE 12
    #define C_PROVINCE_SIZE 20
    #define C_CITY_SIZE 20
    #define C_COMMENT_SIZE 100
    
    //亲,很明显,这是函数说明!
    void insRecord();//插入一条记录的实现
    void inputs(char *prompt,char *info,int count);//插入一条记录时,逐行输入信息的实现
    struct addr *linkNode(struct addr *i,struct addr *top);//输入完一条记录后,将当前的缓冲节点连接到链表中的实现
    struct addr *find(char *name);//查找出指定的节点的实现
    void seaRecord();//查找记录的实现
    void delRecord();//删除记录的实现
    int selectMenu();//主菜单的实现
    void disRecord(addr *info);//显示一条记录的实现
    void disRecords();//显示全部记录的实现
    void getInfo(); //根据ctt文本中的记录,逐条返回数据项,并实现将信息插入链表,即程序启动的初始化状态的实现
    void initInputs(char *initInfo[]);//输入完一条记录后,将当前的缓冲节点连接到链表中的实现
    void saveRecords();//将链表中的信息全部写到磁盘文件中的实现
    void saveToFile(addr *info);//将每条信息记录放到新建的文件中的实现
    void editRecord();//修改记录的实现
    void about();//显示作者信息的实现
    
    
    //全局的东东
    
    //联合体
    struct addr
    {
        char c_name[C_NAME_SIZE];
        char c_sex[C_SEX_SIZE];
        char c_age[C_AGE_SIZE];
        char c_phone[20];
        char c_qq[C_QQ_SIZE];
        char c_province[C_PROVINCE_SIZE];
        char c_city[C_CITY_SIZE];
        char c_comment[C_COMMENT_SIZE];
    
        struct addr *next;//pointer to next entry ^^
    };
    
    //全局指针变量,info存储当前缓冲的节点、start和last存储最后一个节点、head存储头节点
    struct addr *info,*start,*last,*head;
    //初始化用,与head有关的变量
    static int n = 0;

    下载:源代码下载地址

  • 相关阅读:
    Thinkphp回顾(五)之前台模板中的基本语法
    Thinkphp回顾之(四)查询方法深入学习
    Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库
    Thinkphp学习回顾(二)之config.php的配置
    Thinkphp学习回顾(一)之基本结构目录
    端口
    curl put delete post get请求类型参数
    xshell连接virtualbox下的linux系统
    实现jsonp的三种方式
    匹配汉字
  • 原文地址:https://www.cnblogs.com/wuniaoheart/p/2877163.html
Copyright © 2011-2022 走看看