C语言——结构体与联合体

第一题:
 要求你设计一个能够保存图书信息的结构。图书属性包括:书名(title)、作者(author)和单价信息(price),并按照下面要求完成对于各种图书的相关操作。

 /*
  struct books {
  char title[100];
  char author[20];
  double price;
  } doyle = { "My life as a budgie", "Mack Tom", 14.6 };
  int main(void) {
  struct books dicken = { "Thinking in C++", "Stephen Prata", 78 };
  struct books panshin = { .title = "C++ Primer", .author = "Stanley Lippman",
  .price = 92.5 };
 
 printf("The title is :%s\nThe author is :%s\nThe price is :%lf\n",
  doyle.title, doyle.author, doyle.price);
  printf("\n");
  printf("The title is :%s\nThe author is :%s\nThe price is :%lf\n",
  dicken.title, dicken.author, dicken.price);
  printf("\n");
  printf("The title is :%s\nThe author is :%s\nThe price is :%lf\n",
  panshin.title, panshin.author, panshin.price);
  printf("\n");
  printf("“Thinking in C++”这本书的价格调整后为:\n");
  printf("\n");
  printf("The title is :%s\nThe author is :%s\nThe price is :%lf\n",
  dicken.title, dicken.author, dicken.price = 85);
  return EXIT_SUCCESS;
  }
  */


 
第二题:
 为上面的关于图书的程序,添加三个函数:
 /*(1)编写显示图书信息函数show()。参数为结构的指针。显示图书信息的结构如下:
 The title is :My life as a budgie
 The author is :Mack Tom
 The price is :14.6
 

#include <stdio.h>
 #include <stdlib.h>
 
struct Library {
  const char title[20];
  const char author[10];
  double price;
 } panshin;
 
void show(struct Library *doy) {
 
 printf("The title is: %s\n The author is : %s\n The price is : %.1lf",doy->title,
 
doy->author, doy->price);
 }
 
int main(void) {
 
 struct Library doyle = { "My life as a budgie", "Mack Tom", 14.6 };
  show(&doyle);
  return EXIT_SUCCESS;
 }*/





 

/*(2)编写初始化结构变量函数init(),参数为结构的指针。函数功能是将结构变量中的成员进行初始化。

 

#include <stdio.h>
 #include <stdlib.h>
 
struct Library {
  const char title[20];
  const char author[10];
  double price;
 } panshin;
 
void init(struct Library *doyle, struct Library *dicken, struct Library *panshin) {
  doyle ->title;
  dicken ->author;
  panshin ->price;
 
}
 int main(void) {
 
 struct Library doyle = { "My life as a budgie", "Mack Tom", 14.6 };
  struct Library dicken ={ "Thinking in C++", "Stephen Prata", 78 };
  struct Library panshin = { "C++ Prinner", "Stanley Lippman", 92.5 };
  init(&doyle,&dicken,&panshin);
  printf("The title is: %s\n The author is : %s\n The price is : %.1lf",
     doyle->title, doyle->author, doyle->price);
  print
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值