| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11712 人关注过本帖
标题:删除结构体数组中的元素
只看楼主 加入收藏
t604774909
Rank: 2
来 自:上海嘉定
等 级:论坛游民
帖 子:23
专家分:80
注 册:2016-9-20
结帖率:0
收藏
已结贴  问题点数:2 回复次数:4 
删除结构体数组中的元素
#include<stdio.h>
struct book
{
    char name[20];
    int page;
    float price;
};
void main()
{
    struct book t[3];
    int i,name;
    for (i = 0; i < 3; i++)
    {
    printf("请输入书名:");
    scanf("%s",&t[i].name);
    printf("请输入页数:");
    scanf("%d",&t[i].page);
    printf("请输入单价:");
    scanf("%f",&t[i].price);
    }
    printf("书名\t页数\t单价\n");
    for (i = 0; i < 3; i++)
    {
        printf("%s\t%d\t%.2f\n",t[i].name,t[i].page,t[i].price);
    }
    printf("请输入要删除的书的书名:");
    scanf("%s",&name);
    for (i = 0; i < 3; i++)
    {
    if (t[i].name==name)
    {
        
    }
    }
}
下面不会了??求大神赐教!
搜索更多相关主题的帖子: include 结构体 price 元素 
2016-09-20 13:50
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:2 
楼主的代码,我做了一些修改。

程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct book
{
    char name[20];
    int page;
    float price;
}del;
void main()
{
    struct book t[3];
    char name[20];
    int i,N;
    printf("输入需要输入的次数:\n");
    scanf("%d",&N);
    for (i = 0; i < N; i++)
    {
    printf("请输入书名:");
    scanf("%s",&t[i].name);
    printf("请输入页数:");
    scanf("%d",&t[i].page);
    printf("请输入单价:");
    scanf("%f",&t[i].price);
    }
    printf("书名\t页数\t单价\n");
    for (i = 0; i < N; i++)
    {
        printf("%s\t%d\t%.2f\n",t[i].name,t[i].page,t[i].price);
    }
    printf("请输入要删除的书的书名:");
    scanf("%s",&name);
    for (i = 0; i < N; i++)
    {
    if ((strcmp(t[i].name,name))==0)
        {
        t[i]=t[i+1];
        N--;
        }
    
    }

    for (i = 0; i < N; i++)
    {
        printf("%s\t%d\t%.2f\n",t[i].name,t[i].page,t[i].price);
    }
}

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2016-09-20 15:54
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:0 
讲一下楼主几个很不一般的错误。
#include<stdio.h>
struct book
{
    char name[20];//这是char类型的数组
    int page;
    float price;
};
void main()
{
    struct book t[3];
    int i,name;        ------------------------》//下面不是用来scanf("%s",name);吗,这里不能声明为int name。应该声明为char name[20]
    for (i = 0; i < 3; i++)
    {
    printf("请输入书名:");
    scanf("%s",&t[i].name);    //省略&
    printf("请输入页数:");
    scanf("%d",&t[i].page);
    printf("请输入单价:");
    scanf("%f",&t[i].price);
    }
    printf("书名\t页数\t单价\n");
    for (i = 0; i < 3; i++)
    {
        printf("%s\t%d\t%.2f\n",t[i].name,t[i].page,t[i].price);
    }
    printf("请输入要删除的书的书名:");
    scanf("%s",&name);--------------->//上面提到过,把name给声明为int 类型了,这里却用%s.
    for (i = 0; i < 3; i++)
    {
    if (t[i].name==name)//类型不一样。
    {
        
    }
    }
}

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2016-09-20 15:59
t604774909
Rank: 2
来 自:上海嘉定
等 级:论坛游民
帖 子:23
专家分:80
注 册:2016-9-20
收藏
得分:0 
回复 2楼 lanke711
谢谢
2016-10-15 20:14
t604774909
Rank: 2
来 自:上海嘉定
等 级:论坛游民
帖 子:23
专家分:80
注 册:2016-9-20
收藏
得分:0 
回复 楼主 t604774909
感谢
2016-10-15 20:14
快速回复:删除结构体数组中的元素
数据加载中...
 
   



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

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