| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1481 人关注过本帖
标题:这个程序中删除总是删不对,应该怎么改
只看楼主 加入收藏
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:2 
case 1: switch(*count)删除指定的文件用不是用*count,看你的函数应该用的是line;记得将这个变量初始化。
查询那里的line是做什么用的,没看出来。
可能刚开始代码运行没什么问题,但是多次运行之后,随着文件里的数据增多,这删除函数也就废了。

[此贴子已经被作者于2016-9-7 11:23编辑过]

2016-09-07 11:21
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:18 
仅作参考,还不完善

程序代码:
void del(int *count)
{
    int n;
    FILE*fp;
    char Name[10];
    int line = 0;
    char str[1024];
    char filename[100];
    
    printf("请输入客户姓名或订餐号:");
    scanf("%s", &Name);

    for (n = 0; n < 4; n++)
    {
        sprintf(filename, "f:\\订餐系统\\用户信息%d.txt", n);
        if ((fp = fopen(filename, "r")) != NULL)
        {
            fgets(str, sizeof(str), fp);
            fclose(fp);
            if (strstr(str, Name))
            {
                printf("您的订单如下:\n");
                printf("%s", str);
                printf("是否删除该订单?\n");
                printf("1、是,2、否\n");
                scanf("%d", &n);
                if (n == 1)
                {
                    if (remove(filename) == 0)
                    {
                        printf("删除成功\n");
                        (*count)--;
                    }
                    else
                    {
                        printf("删除失败\n");
                    }
                }
            }
        }
    }

    
}
2016-09-07 11:23
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
改用订单客户姓名作为文件名,这样很容易就可以找到相对应的文件进行操作。
2016-09-07 11:31
默看
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-9-1
收藏
得分:0 
谢谢诸位!
2016-09-07 21:05
快速回复:这个程序中删除总是删不对,应该怎么改
数据加载中...
 
   



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

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