一。C程序(一道题的三个要点)
1。设置一个结构体类型date,成员包括:年月,设置一个结构体类型book,成员包括书名,作者,价格,出版日期(用structdatepubday表示)2。利用指向结构体...
1。设置一个结构体类型date,成员包括:年月,设置一个结构体类型book,成员包括书名,作者,价格,出版日期(用 struct date pubday表示)
2。利用指向结构体类型的指针,编写查找函数search,输入某书名,查找是否有这本书,如果存在,调用change函数,若没有,显示找不到。
3。编写函数change,修改某本书的价格后输出改变前后的书名,作者,价格,出版日期。 展开
2。利用指向结构体类型的指针,编写查找函数search,输入某书名,查找是否有这本书,如果存在,调用change函数,若没有,显示找不到。
3。编写函数change,修改某本书的价格后输出改变前后的书名,作者,价格,出版日期。 展开
展开全部
#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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询