C语言结构体和共用体实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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中删除,并显示整个播放列表中的所有信息。
*