| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1012 人关注过本帖
标题:怎么删除C语言中特定的信息
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
根据你1楼描述的架构看,系统设计不良,不过作业就算了,只解决你的问题。

授人以渔,不授人以鱼。
2013-01-14 21:29
wangcaiqusi
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2013-1-10
收藏
得分:0 
回复 10楼 TonyDeng
你好
任务书10.rar (7.04 KB)
这个是题目
#include <stdio.h>
#include <string.h>

typedef struct
{
    char a[15];
    int cenghao;
    int cheweihao;
    int shijian;
}point1;

typedef struct
{
    char b[15];
}point2;

void jiashi (point1 *q);   /*定义一个函数jiashi让之前停的车都加5分钟*/

int main()
{
    /****************第一步骤*************************/
    FILE *fq;
    int i,j,item=0;
    double s=0;/*车费s*/
    char x[15];/*车牌号x*/
    point1 c[13]={{"\0",0,0,0},{"渝A11",1,1,20},{"渝A12",1,2,15},{"渝A13",1,3,10},{"渝A14",1,4,5}};
    point2 d[3][7];
    fq = fopen("car.dat","a");
    for(i=1;i<5;i++)
    {
        fprintf(fq,"%s\t%d\t%d\t%d\n",c[i].a,c[i].cenghao,c[i].cheweihao,c[i].shijian);
        strcpy(d[1][i].b,c[i].a);
    }

    /******************第二步骤**********************/

    printf("请输入此刻停入停车场的车牌号\n");
    scanf("%s",&x);
    for(i=1;i<7;i++)
    {
        if(d[1][i].b == "\0")
        {
            strcpy(d[1][i].b,x);
            c[i].shijian = 5;
            strcpy(c[i].a,x);
            c[i].cenghao = 1;
            c[i].cheweihao = i;
            fprintf(fq,"%s\t%d\t%d\t%d\n",c[i].a,c[i].cenghao,c[i].cheweihao,c[i].shijian);
            item = 1;
            for(j=1;j<i;j++)
            {
                jiashi(&(c[j]));
            }
            break;
        }
    }
    /**/
    if(item ==0)
    {
        for(i=1;i<7;i++)
        {
            if(d[2][i].b =="\0")
            {
                strcpy(d[2][i].b,x);
                c[i+6].shijian = 5;
                strcpy(c[i+6].a,d[1][i].b);
                c[i+6].cenghao = 2;
                c[i+6].cheweihao = i;
                fprintf(fq,"%s\t%d\t%d\t%d\n",c[i+6].a,c[i+6].cenghao,c[i+6].cheweihao,c[i+6].shijian);
                item = 1;
                for(j=1;j<i+6;j++)
                    jiashi(&(c[j]));
                break;
            }
        }
    }
   
    if(item ==0)
    {
        printf("当前停车场已满\n");
    }
    fclose(fq);
    fq = fopen("car.dat","w");
    /******************第三步骤*******************/
    printf("请输入此刻离开停车场的车牌号\n");
    scanf("%s",&x);
    for(i=1;i<13;i++)
    {
        if(c[i].a==x)
        {
            s  += c[i].shijian/5*2;
            j = 1;
            while ( j != i )
            {
                fprintf(fq,"%s\t%d\t%d\t%d\n",c[j].a,c[j].cenghao,c[j].cheweihao,c[j].shijian);
            }
            strcpy(d[i/6+1][i%6].b,"\0");/*对应的二维数组清零*/
            break;

        }
    }

    printf("您需要车费总和输出吗\n");
    printf("如果需要输出请输入yes\n");
    printf("如果不需要输出请输入no\n");
    scanf("%s",&x);
    if(x=="yes\0")
        printf(" sum = %lf\n",s);
    for(i=1;i<7;i++)
    {
        if(d[1][i].b !=  "\0")
        {
            printf("%s\t%d\t%d\t%d\n",c[i].a,c[i].cenghao,c[i].cheweihao,c[i].shijian);
        }
    }
    for(i=1;i<7;i++)
    {
        if(d[2][i].b !="\0")
        {
            printf("%s\t%d\t%d\t%d\n",c[i+6].a,c[i+6].cenghao,c[i+6].cheweihao,c[i+6].shijian);
        }
    }
   
    fclose(fq);
    return 0;
}

void jiashi(point1 *q)
{
    q->shijian += 5;   
}

这个是代码。求找错
2013-01-15 10:21
wangcaiqusi
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2013-1-10
收藏
得分:0 
回复 11楼 TonyDeng
请问字符串这样子写是不是不可以啊。
比如要输入字符串“yes”,
char x[10];
scanf("%s",&x);
if(x=="yes\0");//这里是不是不可以啊,正确的应该怎么写。我要表达的是如果输入的是字符串yes....
2013-01-15 10:23
globc
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2013-1-20
收藏
得分:0 
目测最好不要直接删除文件中的特定信息,这要定位也不安全,可以先把所有数据读到内存,删除后再写回覆盖原文件。
2013-01-20 10:05
快速回复:怎么删除C语言中特定的信息
数据加载中...
 
   



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

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