| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 651 人关注过本帖
标题:c语言设计实例报错,请高手更正!!!!
取消只看楼主 加入收藏
lj2260
Rank: 2
等 级:论坛游民
帖 子:32
专家分:62
注 册:2010-9-12
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:1 
c语言设计实例报错,请高手更正!!!!
程序代码:
#include"stdio.h"
#include"stdlib.h"

#define MAX 100

struct addr{
    char name[30];
    char street[40];
    char city[20];
    char state[3];
    unsigned long int zip;
}add_list[MAX];

void init_list(void),enter(void);
void delete(void),list(void);
void load(void),save(void);
int menu_select(void),find_free(void);

int main(void)
{
    char choice;
    init_list();
    for(;;)
    {
        choice=menu_select();
        switch(choice)
        {
        case 1:enter();
            break;
        case 2:delete();
            break;
        case 3:list();
            break;
        case 4:save();
            break;
        case 5:load();
            break;
        case 6:exit(0);
        }
    }
    return 0;
}

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

int menu_select(void)
{
    char s[80];
    int c;
    printf("1.Enter a name\n");
    printf("2.Delete a name\n");
    printf("3.List the file\n");
    printf("4.Save the file\n");
    printf("5.Load the file\n");
    printf("6.Quit\n");
    do{
        printf("\nEnter you choice:");
        gets(s);
        c=atoi(s);
    }while(c<0||c>6);
    return c;
}

void enter(void)
{
    int slot;
    char s[80];

    slot=find_free();

    if(slot==-1)
    {printf("\nList Full");
    return;
    }
    printf("Enter name:");
    gets(add_list[slot].name);
   

    printf("Enter street:");
    gets("add_list[slot].street");

    printf("Enter city:");
    gets(add_list[slot].city);

    printf("Enter state:");
    gets(add_list[slot].state);

    printf("Enter zip:");
    gets(s);
    add_list[slot].zip=strtoul(s,'\0',10);
}

int find_free(void)
{
    register int t;
    for(t=0;add_list[t].name[0]&&t<MAX;++t)
        if(t==MAX)
            return -1;
        return t;
}

void delete(void)
{
    register int slot;
    char s[80];
    printf("enter record #:");
    gets(s);
    slot=atoi(s);
    if(slot>=0&&slot<MAX)
        add_list[slot].name[0]='\0';
}

void list(void)
{
    register int t;
    for(t=0;t<MAX;++t)
    {
        if(add_list[t].name[0])
        {
            printf("%s\n",add_list[t].name);
            printf("%s\n",add_list[t].street);
            printf("%s\n",add_list[t].city);
            printf("%s\n",add_list[t].state);
            printf("%s\n",add_list[t].zip);
        }
    }
    printf("\n\n");
}

void save(void)
{
    FILE *fp;
    register int i;

    if((fp=fopen("maillist","wb"))==NULL)
        printf("cannot open file\n");
    return;

    for(i=0;i<MAX;i++)
        if(*add_list[i].name)
            if(fwrite(&add_list[i],sizeof(struct addr),1,fp)!=1)
                printf("File write error\n");
            fclose(fp);
}

void load(void)
{
    FILE *fp;
    register int i;

    if((fp=fopen("maillist","rb"))==NULL)
    {
        printf("cannot open file\n");
        return;
    }

    init_list();
    for(i=0;i<MAX;i++)
        if(fread(&add_list[i],sizeof(struct addr),1,fp)!=1)
        {
            if(feof(fp))
                break;
            printf("File read error\n");
        }
        fclose(fp);
}
上述程序想建立一个通讯录,存放有姓名、电话号码、住址等,具备输入、查找、添加、修改及删除等功能。但是实现的时候老是报错,请各位高手指正,谢谢!!请把调试成功的发出来,谢谢!!!
搜索更多相关主题的帖子: 实例 c语言 设计 
2010-10-09 22:46
lj2260
Rank: 2
等 级:论坛游民
帖 子:32
专家分:62
注 册:2010-9-12
收藏
得分:0 
谢谢各位大侠的指点,特别是版主给的强大程序,但是我的程序问题实际上就是delete使个关键字不能作为函数名,将其搞成delete1就可以实现了。昨天弄了好久,再次感谢大家的参与,小弟感激不尽,各位的指正之处,小弟会尽量改进之。
2010-10-10 17:59
快速回复:c语言设计实例报错,请高手更正!!!!
数据加载中...
 
   



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

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