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

上传人:b****5 文档编号:3082607 上传时间:2022-11-17 格式:DOCX 页数:23 大小:22.03KB
下载 相关 举报
C语言结构体和共用体实验报告.docx_第1页
第1页 / 共23页
C语言结构体和共用体实验报告.docx_第2页
第2页 / 共23页
C语言结构体和共用体实验报告.docx_第3页
第3页 / 共23页
C语言结构体和共用体实验报告.docx_第4页
第4页 / 共23页
C语言结构体和共用体实验报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

《C语言结构体和共用体实验报告.docx》由会员分享,可在线阅读,更多相关《C语言结构体和共用体实验报告.docx(23页珍藏版)》请在冰豆网上搜索。

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

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

实验九参考程序

实验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。

500.85

*1021冰箱1024。

000。

95

*1022空调2058。

500。

90

*1023电视3001。

880.95

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

#include〈stdio.h>

typedefstruct_PRODUCT

intiNumber;

charstrName[32];

floatfPrice;

floatfDiscount;

}PRODUCT,*PPRODUCT;

voidinput(PRODUCT*pProduct);

voiddisplay(PPRODUCTpProduct);

voidmain()

inti;

PRODUCTkyeboard;

PRODUCTelec_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结构体数据的输入.

*

*

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

voidinput(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()

*参数:

PRODUCTpProduct—PRODUCT结构体数据

*

*返回值:

*说明:

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

*

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

voiddisplay(PPRODUCTpProduct)

{

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,intiItemNumber);

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

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

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

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

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

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

*表9-2

*

*歌曲编号歌曲名称歌手姓名歌曲长度

*1100落叶归根王力宏05:

16

*1101风吹麦浪李健04:

07

*1102往事随风齐秦04:

38

*1103天空王菲03:

42

*

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

#include〈stdio。

h〉

typedefstruct_PLAY_LIST

intiNumber;

charstrName[64];

charstrArtist[32];

struct_TIME

intiMinutes;

intiSeconds;

}sTime;

struct_PLAY_LIST*pNext;

}PLAY_LIST,*PPLAY_LIST;

PLAY_LIST*createList();

PLAY_LIST*insertItem(PLAY_LIST*pPlayList,PLAY_LIST*pNewPlayList);

PLAY_LIST*deleteItem(PLAY_LIST*pPlayList,intiItemNumber);

voiddisplayList(PLAY_LIST*pPlayList);

intinputItem(PLAY_LIST*pPlayList);

 

voidmain()

{

PLAY_LIST*pPlayList=NULL;

PLAY_LIST*pNewPlayList=NULL;

pPlayList=createList();

printf(”播放列表:

\n");

displayList(pPlayList);

printf("\n播放列表插入曲目:

\n”);

pNewPlayList=createList();

pPlayList=insertItem(pPlayList,pNewPlayList);

printf(”插入新的曲目之后的播放列表:

\n”);

displayList(pPlayList);

printf(”\n播放列表删除曲目:

\n”);

pPlayList=deleteItem(pPlayList,1102);

printf("删除编号为1102的曲目之后的播放列表:

\n");

displayList(pPlayList);

 

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

*函数名称:

createList()

*

*参数:

*返回值:

PLAY_LIST*-返回创建好的播放列表链表

*说明:

*该函数用来创建播放列表链表.

*

*

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

PLAY_LIST*createList()

{

intiResult=0;

PLAY_LIST*pListHead,*pTemp,*pNewList;

pTemp=pNewList=(PLAY_LIST*)malloc(sizeof(PLAY_LIST));

pNewList—>pNext=NULL;

pListHead=NULL;

printf(”创建新播放列表\n");

iResult=inputItem(pNewList);

 

if(iResult)

{

pListHead=pNewList;

}

while(iResult)

{

pNewList=(PLAY_LIST*)malloc(sizeof(PLAY_LIST));

pNewList—>pNext=NULL;

iResult=inputItem(pNewList);

if(iResult)

pTemp->pNext=pNewList;

pTemp=pNewList;

returnpListHead;

}

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

*

*函数名称:

insertItem()

*参数:

PLAY_LIST*pPlayList—操作的播放列表链表

*PLAY_LIST*pNewPlayList-插入的新项目

*

*返回值:

PLAY_LIST*-返回操作后的播放列表链表

*

*说明:

*该函数用来完成播放列表链表的新项目插入.

*

*

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

PLAY_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1