| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5578 人关注过本帖
标题:求通讯录代码
只看楼主 加入收藏
tianxintong
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-3-30
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
求通讯录代码
求一个 不用链表的通讯录要简单点的  结构体中有 学号 姓名  出生日期 电话    要有删除 显示 查询 添加 修改 这些内容  求高手指教  
搜索更多相关主题的帖子: 通讯录 结构体 姓名 
2011-04-01 20:03
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:7 
数组吗?》

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2011-04-01 22:16
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:7 
结构数组。思路简单,编写起来就比较繁琐啦!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-01 22:53
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:7 
我有个简单的,自己再改下参数:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAX 10

void init(void);/*结构初始化*/
int hello(void);/*系统界面*/
void enter(void);/*录入通讯信息*/
void scan(void); /*浏览通讯信息*/
void inquiry(void);/*查询通讯信息*/
void modify(void);/*修改通讯信息*/
void del(void);/*删除某个通讯信息*/
int find_free(void);/*检测通讯录里是否有空栏*/

struct addr{      /*通讯录结构体*/
    char name[30];/*姓名*/
    char phone[30];/*电话*/
    char email[30];/*电子邮箱地址*/
}address[MAX];

int main()
{
    int p;
    init();
    for(;;)
    {
        p=hello();
        switch(p){
            case 1:enter();break;
            case 2:scan();break;
            case 3:inquiry();break;
            case 4:modify();break;
            case 5:del();break;
            case 6:exit(0);
        }
    }
    return 0;
}

void init()
{
    register int t;
    for(t=0;t<MAX;t++)
        address[t].name[0]='\0';
}

int hello()
{
    char a[10];
    int b;
    printf("\n***************欢迎登陆通讯录系统**************\n");
    printf("1.信息录入;\n");
    printf("2.信息浏览;\n");
    printf("3.信息查询;\n");
    printf("4.信息修改;\n");
    printf("5.信息删除;\n");
    printf("6.退出系统;\n");
    printf("***********************************************\n");
    printf("请输入你需要的服务:");
    do
    {
        printf("你输入有误,请重新输入:");
        gets(a);
        b=atoi(a);
    }while(b<0||b>6);
    return b;
}

void enter()
{
    int p;
    p=find_free();
    if(p==MAX)
    {
        printf("\n信息储存已满,需要删除其他的,才能执行录入操作\n");
        return;
    }
    printf("请输入姓名:");
    gets(address[p].name);
    printf("电话号码:");
    gets(address[p].phone);
    printf("电子邮箱:");
    gets(address[p].email);
}

int find_free()
{
    register int i;
    for(i=0;address[i].name[0]&&i<MAX;i++)
    if(i==MAX)  return MAX;
    return i;
}

void scan()
{
    register int j;
    for(j=0;j<MAX;j++)
    {
        if(address[j].name[0])
        {
            printf("%s   %s   %s\n",address[j].name,address[j].phone,address[j].email);
        }
    }
    printf("\n\n");
}

void inquiry()
{
    char s[30];
    int p,i;
    printf("请输入需要查找的姓名:");
    gets(s);
    for(i=0;i<MAX;i++)
    {
        p=strcmp(s,address[i].name);
        if(!p)
        {
            printf("%s   %s   %s\n",address[i].name,address[i].phone,address[i].email);
        }
    }
    if(i==MAX)
    {
        printf("找不到你输入的姓名\n");
    }
}

void modify()
{
    int p,i;
    char s[30];
    printf("请输入你需要修改的人的姓名:");
    gets(s);
    for(i=0;i<MAX;i++)
    {   
        p=strcmp(s,address[i].name);
        if(!p)
        {
            int j;
            char m[10];
            printf("******************************\n");
            printf("1.姓名\n");
            printf("2.电话号码\n");
            printf("3.电子邮箱\n");
            printf("******************************\n");
            printf("请输入你要修改的选项:");
            do
            {
                gets(m);
                j=atoi(m);
            }while(j<1||j>3);
            switch(j)
            {
            case 1:    printf("请输入姓名:");
                    gets(address[i].name);
                    break;
            case 2: printf("电话号码:");
                    gets(address[i].phone);
                    break;
            case 3: printf("电子邮箱:");
                    gets(address[i].email);
                    break;
            }
        }
    }
    if(i==MAX)
    {
        printf("没有你修改人的信息.\n");
    }
}

void del()
{
    int p,i;
    char s[30];
    printf("请输入所删除人的姓名:");
    gets(s);
    for(i=0;i<MAX;i++)
    {
        p=strcmp(s,address[i].name);
        if(!p)
        {
            address[i].name[0]='\0';
        }
    }
    if(i==MAX)
    {
        printf("没有你删除人的信息.\n");
    }
}

我的地盘
2011-04-02 18:27
卡卡绿
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-5-22
收藏
得分:0 
回复 4楼 hnuhsg1226
void init(void);/*结构初始化*/
为什么要初始化??
2017-05-22 09:56
卡卡绿
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-5-22
收藏
得分:0 
回复 4楼 hnuhsg1226
void init(void);/*结构初始化*/
为什么要初始化??
2017-05-22 09:56
快速回复:求通讯录代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032741 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved