超市储物柜系统C语言.docx

上传人:b****5 文档编号:14485548 上传时间:2023-06-23 格式:DOCX 页数:12 大小:44.59KB
下载 相关 举报
超市储物柜系统C语言.docx_第1页
第1页 / 共12页
超市储物柜系统C语言.docx_第2页
第2页 / 共12页
超市储物柜系统C语言.docx_第3页
第3页 / 共12页
超市储物柜系统C语言.docx_第4页
第4页 / 共12页
超市储物柜系统C语言.docx_第5页
第5页 / 共12页
超市储物柜系统C语言.docx_第6页
第6页 / 共12页
超市储物柜系统C语言.docx_第7页
第7页 / 共12页
超市储物柜系统C语言.docx_第8页
第8页 / 共12页
超市储物柜系统C语言.docx_第9页
第9页 / 共12页
超市储物柜系统C语言.docx_第10页
第10页 / 共12页
超市储物柜系统C语言.docx_第11页
第11页 / 共12页
超市储物柜系统C语言.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

超市储物柜系统C语言.docx

《超市储物柜系统C语言.docx》由会员分享,可在线阅读,更多相关《超市储物柜系统C语言.docx(12页珍藏版)》请在冰点文库上搜索。

超市储物柜系统C语言.docx

超市储物柜系统C语言

沈阳航空航天大学

课程设计

 

学号:

2012041104004

班级:

24110401

姓名:

陈龙源

指导教师:

王晓岩

2013年8月30日

沈阳航空航天大学

课程设计任务书

学院:

材料科学与工程学号:

2012041104004

专业:

材料成型及控制工程(焊接技术方向)

班级:

24110404班题目:

自由存取箱

一、课程设计时间

2013~14第2学期第1周,即8月26日~8月31日,共计1周,20学时

二、课程设计内容

顾客在进入超市购物之前,可以用超市的“自由存取箱”存放自己随身带的物品。

这种存取箱有一个功能面板,面板上主要有“我要存包”按钮、密码纸条输出口、密码纸条扫描口三项用户接口。

当顾客按下“我要存包”按钮时,片刻从输出口输出一个小纸条,上面有随机生成的密码(扫描码),同时存取箱会自动开启一个正在闲置的小箱,顾客放入物品关上箱门即可;当顾客取包时,只要将含有密码扫描码的纸条在存取箱的输入口轻轻一晃,存取箱就自动开启顾客存物品的小箱。

请设计程序模拟超市“自由存取箱”的使用过程。

(要求:

小箱的数量为100,密码为4位)

三、课程设计要求

程序质量:

✧贯彻结构化的程序设计思想。

✧至少有“我要存包”、“我要取包”、“退出程序”三个菜单。

✧用户界面友好,功能明确,操作方便。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课程结束后,上交课程设计说明书和源程序。

课程设计说明书的内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、成绩

六、教师评语

 

 

一、需求分析

根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。

该系统是一个较典型实用型系统,系统应该具有操作简单、稳定性的特点。

1.操作简单性

自由储物柜要求操作简单,管理方便,无需携带任何凭证。

2.稳定性分析

指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。

3.主要功能分析

(1)获取储物箱:

对于获取储物箱,用户需要存包时,可以用来获取储物箱,同时获取取包时的密码,以便取包时使用。

(2)打开储物箱:

当用户需要取包时,输入相应的箱子号码,并输入密码,密码正确则箱子打开。

二、设计分析

主要有2个功能模块,每个模块对应一个C语言自定义函数。

这些函数原型及其功能简述如下:

1、程序总体结构图(传统流程图或N-S框图)

Topic

getchar()

While

(1)

 

Menu()getchar()

Case'1'

我要存包

Case'2'

我要存包

Case'0'

是否

退出程序

输入有误

重新输入

图1程序总体结构图

2、主要功能模块框图(传统流程图或N-S框图)

(1)获取储物箱函数mima()

 

 

图2获取储物箱函数

(2)获取储物箱函数tuibao()

 

 

 

 

 

三、主要界面截图

图3程序主界面

图4数据修改界面

……等等……

四、技术要点

(对本程序贡献较大的C语言知识点;重要算法的设计与实现)

1、结构体的应用

定义了结构体用来描述学生的姓名、学号、班级以及三门课程成绩。

具体的定义如下:

……略……

所定义的结构体主要用于定义数组。

2、文件操作

包括了文件的写入和读取两个方面。

文件的写入操作,用于保存录入的学生数据,也用于保存所修改的数据。

例如如下程序段用于保存录入的学生信息:

……略……

3、关于删除算法

实现从系统中删除某位同学的相关信息的算法稍微复杂一些,其实质是对数组某个或某些元素的删除操作。

对数组元素的删除操作完成后,再将数组写入到文件中,就完整地实现了“删除”。

在进行删除操作时,先对数组进行查询操作,以确定待删除的数组元素,然后,

……略……

五、个人总结

(写出在课程设计过程中的收获和体会,说明程序的优点和缺憾。

六、参考文献

(参考的书籍或互联网资源)

[1]谭浩强.C程序设计.北京:

清华大学出版社,2005

[2]……略……

七、源程序

#include

#include

#include

#include

voidmima();

voidmenu();

voidtuibao();

staticintk;

staticinta[100];

staticintb[100];

main()

{

inti,n;

while

(1)

{

system("cls");

system("color71");

menu();

printf("欢迎您的光临\n请按照提示输入:

\n");

scanf("%d",&n);

getchar();

switch(n)

{

case1:

mima();getchar();break;

case2:

tuibao();getchar();break;

case0:

exit(0);getchar();break;

default:

printf("您的输入有误,请重新输入!

\n");break;

}

}

}

voidmenu()//界面菜单

{

printf("\t\t\t\t超市密码存储箱系统\n");

printf("\t\t\t\t1-----获取存储箱\n");

printf("\t\t\t\t2-----打开存储箱\n");

printf("\t\t\t\t0-----退出系统\n");

}

voidmima()//密码

{

inti,j,n;

srand((unsigned)time(NULL));//随机种子

if(k<100)

{

b[k]=1;

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

{

if(b[k]==b[i]&&i!

=k)

b[k]++;

else

break;

}

do

{

a[k]=rand()%900+1000;

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

{

if(a[k]==a[i])

{j=1;

break;}

else

j=0;

}

}while(j==0&&i==k);

printf("你的存储箱号码为:

%d\n",b[k]);

printf("你的开箱密码为:

%d\n",a[k]);

k++;

}

else

printf("\t\t\t没有空余的存储箱了,请稍后!

\n");

}

voidtuibao()

{

inti,j,n,m,h=0;

printf("请输入你的存储箱的号码:

\n");

scanf("%d",&n);

getchar();

for(i=1;i<=100;i++)

if(i==n&&a[i-1]!

=NULL)

{

system("color74");

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

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

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

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

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

h=1;

printf("请输入存储箱的密码:

\n");

scanf("%d",&m);

getchar();

if(m==a[i-1])

{

for(j=i-1;j<=k;j++)

{

b[i-1]=b[i];

a[i-1]=a[i];

}

printf("请取出您的物品,欢迎下次光临!

\n");

k--;

}

else

printf("您输入的密码错误,请核对后输入!

\n");

}

if(h==0&&n>0&&n<=100)

{

system("color71");

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

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

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

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

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

}

if(n<=0&&n>100)

printf("您的输入有误!

");

}

(注:

可编辑下载,若有不当之处,请指正,谢谢!

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2