| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1673 人关注过本帖
标题:如果有用户相关信息不详,输入时以0代替,并在相应的字段中写入“不详”。这 ...
只看楼主 加入收藏
清且浅
Rank: 1
来 自:荆楚
等 级:新手上路
帖 子:4
专家分:3
注 册:2017-6-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
如果有用户相关信息不详,输入时以0代替,并在相应的字段中写入“不详”。这个怎么做?
3)    实现添加功能:能根据姓名添加新数据。
当要添加新数据的时候,首先输入姓名,判断输入的姓名是否存在,如果不存在,则根据提示依次输入相应信息,如果有用户相关信息不详,输入时以0代替,并在相应的字段中写入“不详”

红色字体要求怎么在下面的代码中实现?

程序代码:
void add()//添加新数据
{
    int i, j;
    char n[10];
    FILE *fp = fopen("E:\\C语言课程设计\\JY0142.txt", "a+");//打开追加可读写的文件
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
        exit(0);
    }
    for (i = 0; i < N; i++)
        fscanf(fp, "%s %s %d %s %d %s\n", pi[i].name, pi[i].addr, &pi[i].post, pi[i].email, &pi[i].QQ, pi[i].phone);//给结构体赋值

loop:
    j = 1;
    printf("请输入姓名:");
    scanf("%s", n);
    for (i = 0; i < N; i++)
    {
        if (strcmp(pi[i].name, n) == 0)//判断联系人是否存在
        {
            j = 0;
            break;
        }
    }

    if (j)
    {       //若联系人不存在,则执行写入操作
        printf("\n此联系人不存在,请依次输入新信息:\n姓名   地址         邮编   Email        QQ     手机号码\n");
        scanf("%s %s %d %s %d %s", pi->name, pi->addr, &pi->post, pi->email, &pi->QQ, pi->phone);
        fprintf(fp, "\n%-6s %-12s %-6d %-12s %-6d %-11s", pi->name, pi->addr, pi->post, pi->email, pi->QQ, pi->phone);
        printf("\n信息录入完毕!");
    }
    else
        printf("\n此联系人已存在!");

    printf("是否继续录入信息【y/n】:");
    if (getche() == 'y' || getche() == 'Y')//实现继续添加和退出添加
        goto loop;
    else
        printf("结束添加联系人!");
    fclose(fp);
}


[此贴子已经被作者于2017-6-18 01:07编辑过]

搜索更多相关主题的帖子: 姓名 用户 信息 
2017-06-18 01:03
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:20 
回复 楼主 清且浅
什么叫有用户相关信息不详?
是某个信息没有填写的意思?

程序代码:
void add()//添加新数据
{
    int i, j;
    char n[10];
    FILE *fp = fopen("E:\\C语言课程设计\\JY0142.txt", "a+");//打开追加可读写的文件
    /*以a+模式打开文件(当然前提是你要从该文件中读取信息)你必须让文件指针指向文件的起始位置。
    rewind()函数可以帮到你,至于怎么用,自行百度,我忘了*/
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
        exit(0);
    }
    for (i = 0; i < N; i++)//以a+模式打开文件,文件指针指向的是文件的最后的位置,所以你这里读取文件,对结构赋值,是必然失败的。
        fscanf(fp, "%s %s %d %s %d %s\n", pi[i].name, pi[i].addr, &pi[i].post, pi[i].email, &pi[i].QQ, pi[i].phone);//给结构体赋值

loop:
    j = 1;
    printf("请输入姓名:");
    scanf("%s", n);
    for (i = 0; i < N; i++)
    {
        if (strcmp(pi[i].name, n) == 0)//判断联系人是否存在
        {
            j = 0;
            break;
        }
    }

    if (j)
    {       //若联系人不存在,则执行写入操作
        printf("\n此联系人不存在,请依次输入新信息:\n姓名   地址         邮编   Email        QQ     手机号码\n");
        scanf("%s %s %d %s %d %s", pi->name, pi->addr, &pi->post, pi->email, &pi->QQ, pi->phone);
        fprintf(fp, "\n%-6s %-12s %-6d %-12s %-6d %-11s", pi->name, pi->addr, pi->post, pi->email, pi->QQ, pi->phone);
        printf("\n信息录入完毕!");
    }
    else
        printf("\n此联系人已存在!");

    printf("是否继续录入信息【y/n】:");
    if (getche() == 'y' || getche() == 'Y')//实现继续添加和退出添加
        goto loop;
    else
        printf("结束添加联系人!");
    fclose(fp);
}


[此贴子已经被作者于2017-6-18 17:33编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-18 17:31
快速回复:如果有用户相关信息不详,输入时以0代替,并在相应的字段中写入“不详 ...
数据加载中...
 
   



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

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