C语言结构体和共用体实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验九参考程序

实验9-1

/****************************************************************

*实验9.1

*

*(1)为某商店的商品设计合适的结构体(PRODUCT)。每一种商品包含编号(number)、* 名称(name)、价格(price)、折扣(discount)4项信息,根据表9-1,为这些信息选择合适的数据类型。

*(2)建立2个函数,以实现对商品的操作。input函数实现商品的输入;

* display函数显示商品信息。要求这2个函数都以商品的结构体(PRODUCT)指针为参数。

*(3)在主函数中为商品键盘定义一个结构体变量(keyboard),利用input函数实现键盘信息的输入;

* 定义一个结构体数组(elec_device[3]),利用input函数实现冰箱、空调、电视信息的输入;

* 最后利用display函数显示4种商品的信息。

*

* 表9-1

*

*编号名称价格折扣

*1010 键盘89.50 0.85

*1021 冰箱1024.00 0.95

*1022 空调2058.50 0.90

*1023 电视3001.88 0.95

*

****************************************************************/

#include

typedef struct _PRODUCT

{

int iNumber;

char strName[32];

float fPrice;

float fDiscount;

}PRODUCT,*PPRODUCT;

void input(PRODUCT *pProduct);

void display(PPRODUCT pProduct);

void main()

{

int i;

PRODUCT kyeboard;

PRODUCT elec_device[3];

input(&kyeboard);

for(i=0;i<3;i++)

{

input(&elec_device[i]);

}

display(&kyeboard);

for(i=0;i<3;i++)

{

display(&elec_device[i]);

}

}

/****************************************************************

*

*函数名称:input()

*

*参数:PRODUCT *pProduct -PRODUCT结构体指针,用来存放输入数据*

*

*返回值:无

*说明:

*该函数用来完成PRODUCT结构体数据的输入。

*

*

*

**************************************************************/ void input(PRODUCT *pProduct)

{

printf("\n请输入商品的编号:\n");

scanf("%d",&pProduct->iNumber);

printf("请输入商品的名称:\n");

scanf("%s",pProduct->strName);

printf("请输入商品的价格:\n");

scanf("%f",&pProduct->fPrice);

printf("请输入商品的折扣:\n");

scanf("%f",&pProduct->fDiscount);

}

/************************************************************** *

*函数名称:display()

*参数:PRODUCT pProduct -PRODUCT结构体数据

*

*

*返回值:无

*

*说明:

*该函数用来完成PRODUCT结构体数据的显示。

*

****************************************************************/

void display(PPRODUCT pProduct)

{

printf("\n商品的编号:%d\n",pProduct->iNumber);

printf("商品的名称:%s\n",pProduct->strName);

printf("商品的价格:%.2f\n",pProduct->fPrice);

printf("商品的折扣:%.2f\n",pProduct->fDiscount);

}

实验9-2

/****************************************************************

*实验9.2

*

*(1)利用链表结构(PLAY_LIST),为某媒体播放器建立一个播放列表(playList),

* 该链表的每一个节点包括:歌曲编号(number)、歌曲名称(name)、歌手姓名(artist)、歌曲长度(time),见表9-2。

*(2)建立4个函数,以实现对播放列表操作。函数的原型如下:

* 创建播放列表PLAY_LIST* createList();

* 在播放列表中添加一首歌曲PLAY_LIST* insertItem(PLAY_LIST* pPlayList,PLAY_LIST* pNewPlayList);

* 在播放列表中删除编号为iItemNumber的歌曲PLAY_LIST*

deleteItem(PLAY_LIST* pPlayList, int iItemNumber);

* 显示整个播放列表中的所有信息void displayIList(PLAY_LIST* pPlayList);

*(3)在主函数中定义一个链表playList。

* A)利用函数createList创建播放列表playList,并在其节点上依次存储编号为1100、1102、1103的3首歌曲,

* 并调用displayList函数显示此时整个播放列表中的所有信息。

* B)调用insertItem函数将编号为1101的歌曲添加到playList中,并显示整个播放列表中的所有信息。

* C)调用deleteItem函数将编号为1102的歌曲从playList中删除,并显示整个播放列表中的所有信息。

*

*

* 表9-2

*

相关文档
最新文档