C语言宠物商店管理系统实训分析报告.docx

上传人:b****7 文档编号:10460738 上传时间:2023-02-13 格式:DOCX 页数:17 大小:138.47KB
下载 相关 举报
C语言宠物商店管理系统实训分析报告.docx_第1页
第1页 / 共17页
C语言宠物商店管理系统实训分析报告.docx_第2页
第2页 / 共17页
C语言宠物商店管理系统实训分析报告.docx_第3页
第3页 / 共17页
C语言宠物商店管理系统实训分析报告.docx_第4页
第4页 / 共17页
C语言宠物商店管理系统实训分析报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言宠物商店管理系统实训分析报告.docx

《C语言宠物商店管理系统实训分析报告.docx》由会员分享,可在线阅读,更多相关《C语言宠物商店管理系统实训分析报告.docx(17页珍藏版)》请在冰豆网上搜索。

C语言宠物商店管理系统实训分析报告.docx

C语言宠物商店管理系统实训分析报告

C语言-宠物商店管理系统-实训报告

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

实训报告

实训项目:

宠物商店管理系统

院别专业:

信息管理学院

班级学号:

学生姓名:

指导教师:

实训成绩:

实验日期:

2018年6月8日

 

信息管理学院

实践教学中心

一、实训目的:

1掌握C语法,函数,界面程序设计,文件操作。

2掌握C文件编程方法。

二、实训内容及要求:

用C语言设计基于文件的宠物商店管理系统。

要求具有信息显示、录入、修改、查询和删除的界面并完成相关功能。

三、实训方案:

系统功能结构、主要界面与主要代码:

1.功能结构如下:

以下图仅供参考,以实际所做的系统功能为准!

2.主要功能介绍:

(1)添加宠物类型。

(2)修改宠物类型。

(3)显示添加的全部宠物类型。

(4)显示宠物全部的交易记录。

(5)显示宠物月度交易统计数据。

(6)显示主功能菜单

3主要代码:

#include

#include

#include

#defineSIZE3

#defineSIZET100

structpettype

{

inttypeId;

charname[20];

intpetstore;

}pettypes[SIZE];

structpettransinfo

{

inttransId;

inttypeId;

intnum;

inttranstype;

intyear;

intmonth;

intday;

}pettransinfos[SIZET];

intgetcurrenttypeindex();

intgetcurrenttypeinfoindex();

intgetcurrenttransinfoindex();

/*添加宠物类型*/

voidtjcwlx();

/*修改宠物类型*/

voidxgcwlx();

/*显示全部的宠物类型*/

voidtjqbdcwlx();

/*添加宠物进货记录*/

voidtjcwxsjl();

/*添加宠物销售记录*/

voidxscwqbjyjl();

/*显示宠物全部交易记录*/

voidxscwjytjxx();

/*显示宠物交易统计信息*/

voidxszgncd();

/*显示主功能菜单*/

voidshowmenu();

intistypeexistsbyId(inttypeId);

intupdatepetstore(inttypeId,intnum);

intmain(intargc,constchar*argv[])

{

showmenu();

return0;

}

voidshowmenu()

{

intn;

do

{

system("cls");

printf("******************************************\n");

printf("*欢迎使用宠物商店*\n");

printf("*===============================*\n");

printf("*1.添加宠物类型*\n");

printf("*2.修改宠物类型*\n");

printf("*3.显示全部宠物类型*\n");

printf("*4.添加宠物进货记录*\n");

printf("*5.添加宠物销售记录*\n");

printf("*6.显示宠物全部交易记录*\n");

printf("*7.显示宠物月度交易统计数据*\n");

printf("*8.退出*\n");

printf("******************************************\n");

printf("请选择您需要的操作:

");

scanf("%d",&n);

switch(n)

{

case1:

tjcwlx();break;

case2:

xgcwlx();break;

case3:

tjqbdcwlx();break;

case4:

tjcwxsjl();break;

case5:

xscwqbjyjl();break;

case6:

xscwjytjxx();break;

case7:

xszgncd();break;

case8:

printf("欢迎你再次使用宠物商店系统\n");return;

default:

break;

}

printf("按回车继续!

\n");

fflush(stdin);

getchar();

getchar();

}

while

(1);

}

/*添加宠物类型*/

voidtjcwlx()

{

inttypeId;

chartypeName[20];

typeId=getcurrenttypeindex();

if(typeId==-1)

{

printf("当前宠物类型的数量已达上限,无法再次添加!

\n");

return;

}

printf("请输入新增宠物类型:

");

scanf("%s",typeName);

pettypes[typeId-1].typeId=typeId;

strcpy(pettypes[typeId-1].name,typeName);

pettypes[typeId-1].petstore=0;

printf("新宠物类型%s,已经添加成功!

\n",typeName);

};

/*修改宠物类型*/

voidxgcwlx()

{

inttypeId;

chartypeName[20];

printf("请输入需要修改宠物类型编号:

");

scanf("%d",&typeId);

if(istypeexistsbyId(typeId)==-1)

{

printf("当前系统不存在您输入的宠物类型编号!

\n");

return;

}

else

{

printf("名称:

%s\n",pettypes[typeId-1].name);

}

printf("请输入修改后的宠物名称:

");

scanf("%s",typeName);

strcpy(pettypes[typeId-1].name,typeName);

printf("编号是%d的宠物类型名称已经改成%s!

\n",typeId,typeName);

};

/*显示全部的宠物类型*/

voidtjqbdcwlx()

{

inti;

printf("类型编号\t类型名称\n");

for(i=0;i

{

if(pettypes[i].typeId==0)

{

break;

}

printf("%3d\t\t%s\n",pettypes[i].typeId,pettypes[i].name);

}

};

/*添加宠物进货记录*/

voidtjcwxsjl()

{

inttransId;

inttypeId;

intpurchasenum;

time_ttp;

structtm*p;

time(&tp);

p=localtime(&tp);

transId=getcurrenttransinfoindex();

if(transId==-1)

{

printf("宠物交易记录次数已经达到上限,无法再次进货!

");

return;

}

printf("请输入本次进货的宠物类型编号:

");

scanf("%d",&typeId);

if(istypeexistsbyId(typeId)==-1)

{

printf("当前系统不存在您输入的宠物类型编号!

\n");

return;

}

printf("请输入本次宠物进货的数量:

");

scanf("%d",&purchasenum);

if(purchasenum<1)

{

printf("进货数量不能小于1,操作失败!

\n");

return;

}

time(&tp);

p=gmtime(&tp);

pettransinfos[transId-1].year=p->tm_year+1900;

pettransinfos[transId-1].month=p->tm_mon+1;

pettransinfos[transId-1].day=p->tm_mday;

//strftime(pettransinfos[transId-1].data,sizeof(pettransinfos[transId-1].data),"%Y-%m-%d",localtime(&tp));

pettransinfos[transId-1].transId=transId;

pettransinfos[transId-1].typeId=typeId;

pettransinfos[transId-1].num=purchasenum;

pettransinfos[transId-1].transtype=0;

updatepetstore(typeId,purchasenum,1);

printf("本次宠物进货完成记录!

");

};

/*添加宠物销售记录*/

voidxscwqbjyjl(){

inttransId;

inttypeId;

intpurchasenum;

time_ttp;

structtm*p;

time(&tp);

p=localtime(&tp);

transId=getcurrenttransinfoindex();

if(transId==-1)

{

printf("宠物交易记录次数已经达到上限,无法再次销售!

");

return;

}

printf("请输入本次销售的宠物类型编号:

");

scanf("%d",&typeId);

if(istypeexistsbyId(typeId)==-1)

{

printf("当前系统不存在您输入的宠物类型编号!

\n");

return;

}

printf("请输入本次销售的宠物数量:

");

scanf("%d",&purchasenum);

if(purchasenum>pettypes[typeId-1].petstore)

{

printf("当前该类型宠物的库存数量不足,无法进行销售!

\n");

return;

}

time(&tp);

p=gmtime(&tp);

pettransinfos[transId-1].year=p->tm_year+1900;

pettransinfos[transId-1].month=p->tm_mon+1;

pettransinfos[transId-1].day=p->tm_mday;

//strftime(pettransinfos[transId-1].data,sizeof(pettransinfos[transId-1].data),"%Y-%m-%d",localtime(&tp));

pettransinfos[transId-1].transId=transId;

pettransinfos[transId-1].typeId=typeId;

pettransinfos[transId-1].num=purchasenum;

pettransinfos[transId-1].transtype=1;

updatepetstore(typeId,purchasenum,2);

printf("本次宠物销售完成记录!

");

};

/*显示宠物全部交易记录*/

voidxscwjytjxx(){

inti;

char*name;

printf("宠物编号\t宠物名称\t交易数量\t交易日期\t交易类型\n");

for(i=0;i

{

if(pettransinfos[i].transId==0)

{

break;

}

if(pettransinfos[i].transtype==0)

{

name="入库";

}

elseif(pettransinfos[i].transtype==1)

{

name="售出";

}

else

{

name="未知";

}

printf("%3d\t\t%s\t\t%3d\t\t%d-%d-%d\t%s\n",pettransinfos[i].typeId,pettypes[pettransinfos[i].typeId-1].name,pettransinfos[i].num,pettransinfos[i].year,pettransinfos[i].month,pettransinfos[i].day,name);

}

};

/*显示宠物交易统计信息*/

voidxszgncd(){

constchar*split="-";

inti;

char*name;

intmonth;

intj;

intpurchasenum=0;

intsalenum=0;

printf("请输入需要查看的月份:

");

scanf("%d",&month);

printf("类型编号\t类型名称\t入库数量\t销售数量\t库存数\n");

for(i=0;i

{

if(pettypes[i].typeId==0)

{

break;

}

for(j=0;j

{

if(pettransinfos[j].transId==0)

{

break;

}

if(pettransinfos[j].month==month&&pettransinfos[j].typeId==pettypes[i].typeId)

{

if(pettransinfos[j].transtype==0)

{

purchasenum+=pettransinfos[j].num;

}

else

{

salenum+=pettransinfos[j].num;

}

}

}

printf("%3d\t\t%s\t\t%3d\t\t%3d\t\t%3d\n",pettypes[i].typeId,pettypes[i].name,purchasenum,salenum,purchasenum-salenum);

}

};

intgetcurrenttypeindex()

{

intindex=-1;

inti;

for(i=0;i

{

if(pettypes[i].typeId==0)

{

index=i+1;

break;

}

}

returnindex;

}

intgetcurrenttransinfoindex()

{

intindex=-1;

inti;

for(i=0;i

{

if(pettransinfos[i].transId==0)

{

index=i+1;

break;

}

}

returnindex;

}

intistypeexistsbyId(inttypeId)

{

if(typeId<1||typeId>SIZE||pettypes[typeId-1].typeId==0)

{

return-1;

}

else

{

return1;

}

}

intupdatepetstore(inttypeId,intnum,intrecordtype)

{

intcount;

count=pettypes[typeId-1].petstore;

if(recordtype==1)

{

count+=num;

}

else

{

count-=num;

}

if(count>=0)

{

pettypes[typeId-1].petstore=count;

}

returncount;

}

 

四、实训结果与分析:

系统运行截图:

 

 

系统运行结果说明:

本系统为宠物商店提供对宠物进行统计的功能,通过本系统卖家可以实现对宠物类型.进货记录.销售记录的添加,可以查询销售记录.全部交易记录.月度交易统计数据功能。

 

五、实训心得:

本学系统是宠物商店系统。

通过本次实训本人学会了如何应用链表,循环等,先构建系统大概结构。

会独自分析问题解决问题,提高解决问题的能力提高分析问题和解决问题的能力,提高程序设计水平,遇到问题及时询问老师同学。

六、教师评语:

 

成绩

主讲教师:

2018年6月8日

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

当前位置:首页 > 高等教育 > 军事

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

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