1、二、课程设计内容顾客在进入超市购物之前,可以用超市的“自由存取箱”存放自己随身带的物品。这种存取箱有一个功能面板,面板上主要有“我要存包”按钮、密码纸条输出口、密码纸条扫描口三项用户接口。当顾客按下“我要存包”按钮时,片刻从输出口输出一个小纸条,上面有随机生成的密码(扫描码),同时存取箱会自动开启一个正在闲置的小箱,顾客放入物品关上箱门即可;当顾客取包时,只要将含有密码扫描码的纸条在存取箱的输入口轻轻一晃,存取箱就自动开启顾客存物品的小箱。请设计程序模拟超市“自由存取箱”的使用过程。(要求:小箱的数量为100,密码为4位)三、课程设计要求程序质量: 贯彻结构化的程序设计思想。 至少有“我要存包
2、”、“我要取包”、“退出程序”三个菜单。 用户界面友好,功能明确,操作方便。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字_ 学生签名:_五、成绩六、教师评语一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个较典型实用型系统,系统应该具有操作简单、稳定性的特点。1.操作简单性自由储物柜要求操作简单,管理方便,无需携带任何凭证。2.稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外
3、的系统错误或系统崩溃。3. 主要功能分析(1)获取储物箱:对于获取储物箱,用户需要存包时,可以用来获取储物箱,同时获取取包时的密码,以便取包时使用。(2)打开储物箱: 当用户需要取包时,输入相应的箱子号码,并输入密码,密码正确则箱子打开。二、设计分析主要有2个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:1、程序总体结构图(传统流程图或N-S框图)Topicgetchar()While(1)Menu() getchar()Case1是否我要存包20 是 否退出程序输入有误 重新输入图1程序总体结构图2、主要功能模块框图(传统流程图或N-S框图)(1)获取储物箱函数m
4、ima() 否 是图2获取储物箱函数(2)获取储物箱函数tuibao()三、主要界面截图图3 程序主界面图4 数据修改界面等等四、技术要点(对本程序贡献较大的C语言知识点;重要算法的设计与实现)1、结构体的应用定义了结构体用来描述学生的姓名、学号、班级以及三门课程成绩。具体的定义如下:略所定义的结构体主要用于定义数组。2、文件操作包括了文件的写入和读取两个方面。文件的写入操作,用于保存录入的学生数据,也用于保存所修改的数据。例如如下程序段用于保存录入的学生信息:3、关于删除算法实现从系统中删除某位同学的相关信息的算法稍微复杂一些,其实质是对数组某个或某些元素的删除操作。对数组元素的删除操作完成
5、后,再将数组写入到文件中,就完整地实现了“删除”。在进行删除操作时,先对数组进行查询操作,以确定待删除的数组元素,然后,五、个人总结(写出在课程设计过程中的收获和体会,说明程序的优点和缺憾。)六、参考文献(参考的书籍或互联网资源)1 谭浩强C程序设计北京:清华大学出版社,20052 略七、源程序# include stdlib.hconio.htime.hvoid mima();void menu();void tuibao();static int k;static int a100;static int b100;main() int i,n; while(1) system (cls);
6、 system(color 71 menu(); printf(欢迎您的光临n请按照提示输入:n scanf (%d,&n); getchar(); switch(n) case 1:mima();getchar();break; case 2:tuibao(); case 0:exit(0); default:printf(您的输入有误,请重新输入! void menu() /界面菜单tttt超市密码存储箱系统ntttt1-获取存储箱ntttt2-打开存储箱ntttt0-退出系统nvoid mima() /密码 int i,j,n; srand(unsigned)time(NULL); /随
7、机种子 if(k100) bk=1; for (i=0;i=100;i+) if (bk=bi&i!=k) bk+; else break; do ak=rand()%900+1000;=k; if (ak=ai) j=1; break; j=0; while(j=0&i=k);你的存储箱号码为:%dn,bk);你的开箱密码为:,ak); k+; else printf(ttt没有空余的存储箱了,请稍后!void tuibao() int i,j,n,m,h=0;请输入你的存储箱的号码: scanf( for(i=1; if(i=n&ai-1!=NULL) color 74 printf(ttt*nttt* *nttt* 满 *n h=1;请输入存储箱的密码:m); if (m=ai-1) for(j=i-1;j0&n=100) ttt* 空 *n if(n=0& printf(您的输入有误!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1