一。C程序(一道题的三个要点)

1。设置一个结构体类型date,成员包括:年月,设置一个结构体类型book,成员包括书名,作者,价格,出版日期(用structdatepubday表示)2。利用指向结构体... 1。设置一个结构体类型date,成员包括:年月,设置一个结构体类型book,成员包括书名,作者,价格,出版日期(用 struct date pubday表示)
2。利用指向结构体类型的指针,编写查找函数search,输入某书名,查找是否有这本书,如果存在,调用change函数,若没有,显示找不到。
3。编写函数change,修改某本书的价格后输出改变前后的书名,作者,价格,出版日期。
展开
 我来答
Dcltype
2017-01-05 · TA获得超过352个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:216万
展开全部
#include<stdio.h>
#include<string.h>
struct date
{
    unsigned int year;
    unsigned int month;
};
struct book
{
    char name[20];
    char author[10];
    double price;
    struct date pubday;
};
void change(struct book *theBook)
{
    char oldName[20]=theBook->name;
    char oldAuthor[10]=theBook->author;
    double oldPrice=theBook->price;
    unsigned int oldYear=(theBook->pubday).year;
    unsigned int oldMonth=(theBook->pubday).month;
    printf("请输入新的书名,作者,价格,出版年和出版月:\n");
    scanf("%s,%s,%f,%u,%u",&(theBook->name),&(theBook->author),&(theBook->price),&((theBook->pubday).year),&((theBook->pubday).month);
    printf("原书的信息如下:\n");
    printf("书名:%s\n",oldName);
    printf("作者:%s\n",oldAuthor);
    printf("价格:%f\n",oldPrice);
    printf("出版日期:%u年%u月\n",oldYear,oldMonth);
}
/*
    通过在bookArray数组中查找书bookName
*/
void search(struct book *bookArray,int n,char* bookName)
{
    for(int i=0;i<n;i++)
    {
        if(strcmp((*(bookArray+i)).name,bookName)==0)
        {
            change(bookArray+i);
            return;
        }
    }
    printf("找不到此书:%s\n",bookName);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式