创建通讯录实现(增,删,查,改,显示,清空)功能

contact.h

#ifndef __CONTACT_H__
#define __CONTACT_H__

#define NAME_LEN 20
#define SEX_LEN  5
#define TELE_LEN  12
#define ADDR_LEN 20
#define MAX_PEO  1000

typedef struct Peo
{
    char name[NAME_LEN];
    int age;
    char sex[SEX_LEN];
    char tele[TELE_LEN];
    char addr[ADDR_LEN];
}PEO,*PPEO;

typedef struct Contact
{
    PEO dhb[MAX_PEO];//存储人的信息

    int count;//记录有效个数

}PCON,*Pcon;

void add_peo(Pcon pcon);
void del_peo(Pcon pcon);
void search(Pcon pcon);
void modify(Pcon pcon);
void show(Pcon pcon);
void clear(Pcon pcon);

#endif

test.c

#include <stdio.h>
#include "contact.h"

void print_menu()
{
    printf("*************************************\n");
    printf("*****1:add                2:del******\n");
    printf("*****3:search             4:modify***\n");
    printf("*****5:show               6:clear****\n");
    printf("*************************************\n");
}

int main()
{
    PCON con;
    int input = 1;
    con.count = 0;
    while(input)
    {
        print_menu();
        printf("请选择操作:\n");
        scanf("%d",&input);
        switch(input)
        {
        case 1:

            add_peo(&con);
            break;
        case 2:
            del_peo(&con);
            break;
        case 3:
            search(&con);
            break;
        case 4:
            modify(&con);
            break;
        case 5:
            show(&con);
            break;
        case 6:
            clear(&con);
            break;
        default:
            break;
        }
    }
    return 0;
}

main.c

#include<stdio.h>
#include<string.h>
#include"contact.h"

int find(char *p, Pcon pcon)
{
    int i = 0;
    for(;i < pcon->count; i++)
    {
        if(strcmp(pcon->dhb[i].name,p) == 0)
            return i;
    }
    return -1;
}

void add_peo(Pcon pcon)
{
    if(pcon->count < MAX_PEO)
    {
        printf("请输入姓名、年龄、性别、电话、住址:\n");
        scanf("%s",pcon->dhb [pcon->count].name);
        scanf("%d",&pcon->dhb [pcon->count].age);
        scanf("%s",pcon->dhb [pcon->count].sex);
        scanf("%s",pcon->dhb [pcon->count].tele);
        scanf("%s",pcon->dhb [pcon->count].addr);

    }
    pcon->count ++;
    printf("存储成功\n");

}
void del_peo(Pcon pcon)
{
    int i = 0;
    int ret = 0;
    char name[10];
    printf("请输入要删除的名字:\n");
    scanf("%s",name);
    ret = find(name,pcon);
    if(ret == -1)
    {
        printf("无此联系人\n");
    }
    else
        for(i = ret; i < pcon->count-1; i++)
        {
            pcon->dhb[i] = pcon->dhb[i + 1];
        }
        pcon->count--;
        printf("删除成功\n");
}
void search(Pcon pcon)
{
    int i = 0;
    int ret = 0;
    char name[10];
    printf("请输入要查找人的名字:\n");
    scanf("%s",name);
    ret = find(name,pcon);
    if(ret == -1)
    {
        printf("无此联系人\n");
    }
    else
    {
        printf("姓名:%10s\t",pcon->dhb[i].name);
        printf("年龄:%10d\t",pcon->dhb[i].age);
        printf("性别:%10s\t",pcon->dhb[i].sex);
        printf("电话:%10s\t",pcon->dhb[i].tele);
        printf("住址:%10s\t",pcon->dhb[i].addr);
        printf("\n");
    }
}

void modify(Pcon pcon)
{
    int i = 0;
    int ret = 0;
    char name[10];
    printf("请输入要查找人的名字:\n");
    scanf("%s",name);
    ret = find(name,pcon);
    printf("请输入姓名、年龄、性别、电话、住址:\n");
    scanf("%s",pcon->dhb [i].name);
    scanf("%d",&pcon->dhb [i].age);
    scanf("%s",pcon->dhb [i].sex);
    scanf("%s",pcon->dhb [i].tele);
    scanf("%s",pcon->dhb [i].addr);
    printf("修改成功\n");

}

void show(Pcon pcon)
{
    int i = 0;
    for(; i <pcon->count; i++)
    {
        printf("姓名:%10s\t",pcon->dhb[i].name);
        printf("年龄:%10d\t",pcon->dhb[i].age);
        printf("性别:%10s\t",pcon->dhb[i].sex);
        printf("电话:%10s\t",pcon->dhb[i].tele);
        printf("住址:%10s\t",pcon->dhb[i].addr);
        printf("\n");
    }
}

void clear(Pcon pcon)
{
    pcon->count = 0;
}
时间: 2024-07-31 14:31:25

创建通讯录实现(增,删,查,改,显示,清空)功能的相关文章

数据的 增 删 查 改

SQL的类型: 1.DML :数据操作语言 insert/update/delete/select 2.DDL :数据定义语言 create/alter/drop/truncate 3.DCL :数据控制语言 grant(授权)  revoke(权利移除) -------insert  向表里插入一行数据 insert into emp(empno,job,sal) values(2016,'SAL',8000); **emp 表后面括号是插入的列名 不用加引号   values 后是插入的具体

WindowsForm 增 删 查 改

首先是连接数据库  在数据库里写代码 建立一个数据库下面是代码 create database JinXiaoCun go use JinXiaoCun go create table users (uname varchar(20)not null, upass varchar(20)not null ) go insert into users values ('sa','123') insert into users values('sa1','123') select*from user

浅谈 数据库的 增 删 查 改

1. 向数据库中添加一条数据: alter table 表名 add 字段 类型 //在 表中增加了 一个字段 insert into 表名 values('Bill','male') //在表中增加的 dspcode,dspSex 字段上插入数据 2.数据库删除: --删除数据库 drop database 数据库名 --删除表,先删除外键表,再删除主键表 drop table 表名 --无条件删除 delete from 表名 --有条件删除--删除表中 delete from 表名 whe

實現樹樁類型結構及其相應的操作【增刪查改和移動】

<h1>一.創建樹樁結構對應的表</h1><p>1.創建樹樁層次結構表</p><p>樹狀結構表採用鏈結構的設計方式,每個節點包含一個當前節點指針ID.下一節點指針ID,以及當前節點的相關信息:節點名稱.順序.有效性.是否為葉子.層次,以下為創建表結構的SQL語句</p><pre class="code" name="pre-TypeConfig">    CREATE TABLE [

C# SQLite 创建数据库的方法增删查改语法和命令

SQLite介绍 SQLite是一个开源.免费的小型RDBMS(关系型数据库),能独立运行.无服务器.零配置.支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准. SQLite数据库官方主页:http://www.sqlite.org/index.html   cmd下sqlite的使用网 1:选择下载对应自己系统的sqlite.3exe文件 2:解压后使用cmd命令进入sqlite3.exe文件所在的路径执行命令就可以操作做相应的操作. 在进入数据库之后如果需要退出的话windows

用OC语言完成简易通讯录(实现增删改查)功能.

(注:使用MRC) 一.功能描述: main函数中通过使用Person类和AddressBook类,创建对象.调用方法,实现以下8个功能: 1).使用便利构造器创建四个Person类的实例(联系人). 姓名:Lucy 性别:女 电话:123 年龄:21 姓名:Joe 性别:男 电话:456 年龄:17 姓名:Baby 性别:女 电话:789 年龄:27 姓名:Linda 性别:女 电话:000 年龄:21 2).创建一个AddressBook类的实例对象(通讯录). 3).使用AddressBo

啊啊啊啊啊啊啊今天就写,炒鸡简单 数据库Sqlite的创建,库的增删改查

啦啦啦啦啦啦啦 写这个不用多长时间,我直接写代码注释都是些语句,Sql语句和Api来操作数据库 ,语句的参数我会注释 SQLite数据库创建数据库需要使用的api:SQLiteOpenHelper必须定义一个构造方法: //arg1:数据库文件的名字 //arg2:游标工厂 //arg3:数据库版本 public MyOpenHelper(Context context, String name, CursorFactory factory, int version){ }//数据库被创建时会调

4- MySQL创建表以及增删改查

查看表结构 查看表的结构,使用命令:desc 表明: 创建表(命令) 格式:使用create table创建表,必须给出下列信息: 1.新表的名字. 2.表中列的名字和定义,用逗号隔开. 语法: create table tabl_name(chenzhe,chenzhe1) 自增列的三个条件: 1.必须是索引列(通常在主键创建) 2.数值键 3.每个表只能创建一个自增列 创建表,主要参数:数据类型,是否允许为空,默认值,自增列,主键. 更新表: 更新表的定义,使用alter table语句.

iOS plist文件的增 删,改查

//路径 + (NSString *)cretableName { NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentPath = [path objectAtIndex:0]; //指定新建文件夹路径 NSString *imageDocPath = [documentPath stringByAppendingPa

Sqlserver 实际开发中常见的数据库操作增删改查----改

--我们就以院系,班级,学生来举例. create TABLE [dbo].YuanXi ( Id int IDENTITY(1,1) NOT NULL,--学校id 自增量 YuanXiName varchar(50) null, --院系名字 ) create TABLE [dbo].Class ( Id int IDENTITY(1,1) NOT NULL,--班级id 自增量 YuanXiID int null,--院系id ClassName varchar(50) null --班级