| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 315 人关注过本帖
标题:求一电话号码存储有关的程序
只看楼主 加入收藏
nie228743161
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2012-12-13
结帖率:66.67%
收藏
 问题点数:0 回复次数:4 
求一电话号码存储有关的程序
我刚学C语言,,我希望你们帮我写个稍微精炼点的,,不要用指针,,我们学校说由于课时有限,,说指针我们自己下去研究。。希望你们不应指针,,其他内容C语言都行,,还有链表也没学。。谢谢。。马上期末了
搜索更多相关主题的帖子: 希望 C语言 
2012-12-18 19:25
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
程序代码:
/* Note:Your choice is C IDE */  
#include <stdio.h>   
#include <stdlib.h>   
#include <string.h>   
struct addr  
{  
    char name[30];  
    char street[40];  
    char city[20];  
    char state[3];  
    char tel[11];  
    struct addr *next;  /* pointer to next entry */  

 }record;  
struct addr *head,*start;  
struct addr *last;  
int menu_select();  
void enter();  
void deleted();  
void search();  
void main()  
{  
    char s[80],choice;  
    struct addr *info;  
    start=last=NULL;  
  
        switch(menu_select())  
    {  
    case 1:enter();  
        break;  
    case 2:deleted();  
        break;  
    case 3:search();  
        break;  
    case 4:exit(0);  
    }  
}  
  
int menu_select()  
{  
    char s[80];  
    int c;  
    printf("1__Enter a name\n");  
    printf("2__Delete a record\n");  
    printf("3__Search\n");  
    printf("4__Quit\n");  
    do  
    {  
        printf("\n Enter  your choice:");  
        gets(s);  
        c=atoi(s);  
    }while(c<1||c>4);  
    return(c);  
}  
  
struct addr* des_store(struct addr *i,struct addr *top)  
{  
    if(!last)  
    {  
        last=i;  
        return(i);  
    }  
    else  
    {  
        top->next=i;  
        i->next=NULL;  
        last=i;  
        return(i);  
    }  
}  
void enter()  
{  
    struct addr *info;  
    void inputs(char *,char *,int );  
    int n;  
    for(n=0;n<2;n++)  
    {  
        info=(struct addr *)malloc(sizeof(record));  
        if(info==NULL)  
        {   
            printf("\n out of memory");  
            return;  
        }  
        inputs("enter name:",info->name,30);  
        if(info->name[0]=='0')  
            break;  
        else  
        {  
            inputs("enter street:",info->street,40);  
            inputs("enter city:",info->city,20);  
            inputs("enter state:",info->state,3);  
            inputs("enter tel:",info->tel ,11);  
            start=des_store(info,start);  
            if(n==0)  
                head=start;  
        }  
    }  
}  
      
void inputs(char *p1,char* s,int count)  
{  
    char p[40];  
    do  
    {  
        printf("%s",p1);  
        gets(p);  
        if (strlen(p)>count)  
            printf("\n too long\n");  
    }while(strlen(p)>count);  
    strcpy(s,p);  
}  
  
void display(struct addr *info)  
{  
    printf("%s\n",info->name);  
    printf("%s\n",info->street);  
    printf("%s\n",info->city);  
    printf("%s\n",info->tel);  
    printf("\n\n");  
}  
  
struct addr *find(char *name)  
{  
    struct addr *info;  
    info=head;  
    while(info)  
    {  
        if(!strcmp(name,info->name))  
            return(info);  
        else  
            info=info->next;  
    }  
    return(info);  
}  
  
void search()  
{  
    char name[40];  
    struct addr *info;  
    printf("enter name to find:");  
    gets(name);  
    if((info=find(name))==NULL)  
        printf("not found\n");  
    else  
        display(info);  
}  
  
void deleted()  
{  
    char s[80];  
    struct addr*p1,*p2,*info;  
    printf("enter name:");  
    gets(s);  
    info=find(s);  
    if(info!=NULL)  
    {  
        if (head==info)  
        {  
            head=info->next;  
            printf("deleted:%s\n",info->name);  
            free(info);  
        }  
        else  
        {  
            p1=head->next;  
            while(info!=p1)  
            {  
                p2=p1;  
                p1=p1->next;  
            }  
            p2->next=p1->next;  
            printf("deleted:%s\n",info->name);  
            free(info);  
        }  
    }  
    else  
        printf("%s not find!\n",info->name);  
}  

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 19:31
nie228743161
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2012-12-13
收藏
得分:0 
求没有指针的  大家帮忙帮忙  帮忙写下
2012-12-18 21:34
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
作业贴就算了吧,居然还没分?

My life is brilliant
2012-12-18 21:35
nie228743161
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2012-12-13
收藏
得分:0 
我分用完了啊,,帮忙做做。。我想看看你们思路
2012-12-19 08:12
快速回复:求一电话号码存储有关的程序
数据加载中...
 
   



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

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