| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖
标题:小弟刚学C一个月,自己编写了个简易的电话簿管理系统,但就是功能实现不了, ...
只看楼主 加入收藏
雨醉
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 楼主 h364437177
刚学一个月,你都学到结构体啦? 你们学校上课速度真快。。
2012-12-05 18:59
引脚片段
Rank: 2
等 级:论坛游民
帖 子:41
专家分:29
注 册:2012-11-21
收藏
得分:0 
榜样啊,  我也学了一个月了,怎么就差那么多呢?     呃,加油咯
2012-12-05 19:06
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:10 
姓名一起输入时不能用scanf(),scanf()用于输入字符串时只能用于单词输入,也就是输入时不能有空格,制表符等,你可以用gets()或者是fgets(),有空我帮你改下
程序代码:
#include <stdio.h>
#include<string.h>
typedef struct{
char name[30];   
char sex;   
unsigned short age;   
char phone[20];       
char QQ[15];           
}PHLIST;

PHLIST telepho[100]={{"Li Ming",'m',18,"13888345234","4564323"},
                     {"Wang Lu",'f',19,"15902345678","93947865"},
                     {"An Na",'f',18,"15902377889","876899"}};
                                    
int tel_len=3;
int tel_search(){
    char a[30];
    int i;
    while(getchar()!='\n')
        continue;
    printf("请输入姓名:");
    gets(a);
    for(i=0;i<tel_len;i++)
        if(strcmp(a,telepho[i].name)==0)
           return i;
    return -1;
}

void tel_output(int k){
    int i;
    for(i=0;i<k;i++){
        printf("%s\n",telepho[i].name);
        printf("%c\n",telepho[i].sex);
        printf("%d\n",telepho[i].age);
        printf("%s\n",telepho[i].phone);
        printf("%s\n",telepho[i].QQ);
        printf("\n");

    }
}

void tel_add(){
    char a[30];
    int i=tel_len;
    while(getchar()!='\n')
        continue;
    printf("请输入要添加的姓名:\n");
    gets(a);
    strcpy(telepho[i].name,a);
    printf("请输入要添加的的性别:\n");
    scanf("%c",&telepho[i].sex);
    printf("请输入要添加的年龄:\n");
    scanf("%d",&telepho[i].age);
    printf("请输入要添加的电话:\n");
    scanf("%s",telepho[i].phone);
    printf("请输入要添加的QQ:\n");
    scanf("%s",telepho[i].QQ);
    tel_len++;
}

void change(){
    char a[30];
    int m;
    m=tel_search();
    if(m>=0){
        printf("请输入要修改的姓名:");
            while(getchar()!='\n')
                continue;
        gets(a);
        strcpy(telepho[m].name,a);
        printf("请输入要修改的性别:");
        scanf("%c",telepho[m].sex);
        printf("请输入要修改的年龄:");
        scanf("%d",telepho[m].age);
        printf("请输入要修改的电话:");
        scanf("%s",telepho[m].phone);
        printf("请输入要修改的QQ:");
        scanf("%s",telepho[m].QQ);
    }
       else
            printf("修改不存在");
}
   
void delet(){
    int i,t;
    t=tel_search();
    if(t>=0)
        for(i=t;i<=tel_len-1;i++)
            telepho[i]=telepho[i+1];
        else
            printf("删除目标不存在");
tel_len--;
}

void meun(){
    printf("***********************菜单*************************\n");
    printf("*     1  添加通讯记录        2   查找通讯记录       *\n");
    printf("*     3  修改通讯记录        4   删除通讯记录       *\n");
    printf("*     5  输出通讯记录        0   退出管理系统       *\n");
    printf("*****************************************************\n");
}

int main(){
    int t,num;
    meun();
while(1){
        printf("请输入一个数字作出选择:");
        scanf("%d",&num);
        if(num==0) break;
        else
            switch(num){
            case 1:
                tel_add();
                break;
            case 2:
                t=tel_search();
                if(t>=0)
                    printf("查找的结果为:\n");
                    printf("%s/n",telepho[t].name);
                    printf("%c/n",telepho[t].sex);
                    printf("%d/n",telepho[t].age);
                    printf("%s/n",telepho[t].phone);
                    printf("%s/n",telepho[t].QQ);   
                break;
            case 3:
                change();
                break;
            case 4:
                delet();
                break;
            case 5:
                tel_output(tel_len);
                break;
            }
        }
}


[ 本帖最后由 heroinearth 于 2012-12-5 21:07 编辑 ]
2012-12-05 19:26
风起尘恋
Rank: 2
等 级:论坛游民
帖 子:18
专家分:15
注 册:2012-11-15
收藏
得分:0 
还是努力学习吧  俺都学好几个月了  还...
2012-12-05 20:56
h364437177
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2012-11-19
收藏
得分:0 
回复 13楼 heroinearth
谢了,终于知道哪里出错了!
2012-12-06 17:13
麦小小
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2012-10-22
收藏
得分:0 
一个月这样的程度,很厉害啦。。
2012-12-06 19:02
快速回复:小弟刚学C一个月,自己编写了个简易的电话簿管理系统,但就是功能实现 ...
数据加载中...
 
   



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

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