精品
食堂饭卡管理系统
随着网络技术的发展,各种电子设备在人群中普及开来,人们的生活方式也发生了很大的变化。现金付款逐渐被方便、安全、卫生的刷卡消费系统所代替。学校等大单位集体食堂买饭时间非常集中,这时如果食堂使用饭票卖饭,大家就得排长队等候,而且还要经过先去买饭票等麻烦的经历。因此食堂提出使用计算机进行管理,食堂用饭卡卖饭,不仅提高卖饭速度,还更易于管理,减少不必要的麻烦,同时减轻工作人员的工作负担。
1. 设计题目
在VC环境下,使用C语言编写一个小的餐厅饭卡管理系统。能够实现学生在餐厅充值、刷卡消费、余额查询等活动。
2. 功能设计要求
本实训是基于文件操作的,要求建立一个保存卡信息的文件,并在其中添加若干人的饭卡号、姓名、金额、挂失信息,要求输入的饭卡号是唯一的;
要求用户输入饭卡号、消费金额,然后系统自动从该人的饭卡中减去消费金额,并分别显示消费前后的金额;
如果原来饭卡中的余额不足5元,则不能买饭,并且显示“对不起,您的饭卡余额不足,请及时充值!”;
可以实现挂失操作,刷卡时,如果该饭卡已挂失,则显示“该饭卡已挂失!”;
要求用户输入饭卡号、续钱金额,续钱完成后分别显示续钱前后的金额;
添加新饭卡,管理员按要求输入相应信息;
注销旧饭卡;
要求用户输入饭卡号和挂失信息,然后更新该饭卡的挂失信息;
管理员在输入密码后,便可查询所有已存储信息的用户的卡号、姓名、卡上余额以及挂失锁定状态等信息。
3. 详细设计
8.3.1 功能模块图
根据功能设计要求,系统的参考模块图如下图所示:
图 81 饭卡管理系统参考模块图
8.3.2 数据结构
在程序中为了实现对饭卡进行操作,我们定义了
struct student
{
char number[20];/* 存储用户的卡号信息*/
char name[20];/* 存储用户的姓名信息*/
int lose;/* 记录用户的挂失锁定信息*/
float value;/* 存储用户的卡上即时余额*/
};
8.3.3 数据文件
本系统是基于文件操作的,所以有一个存储用户卡信息的文件。
8.3.4 主要函数及算法的设计与实现
1. 主函数
函数名:int main()
函数功能:启动程序,触发其他函数。
参考代码:
void main()
{
char choose,yes_no;
do
{
Main_Menu( ); /* 显示菜单 */
choose=getche( );
switch(choose)
{
case '1': Create_File(); break; /* 创建 */
case '2': Consumption(); break; /*消费 */
case '3': Add_Money();break; /* 续费*/
case '4': Add_Newcard(); break; /* 添加新饭卡 */
case '5': Logout_Card();break; /* 注销旧饭卡 */
case '6': Setup_Remove();break; /* 设置与解除挂失 */
case '7': Administrator_Enter(); break; /* 注销旧饭卡 */
case '0': break; /* 退出 */
default : printf("\n您输入的信息不正确\n");break;
}
if(choose=='0')break;
printf("您要回到主菜单吗?(Y/N)\t");
printf("\n\n");
do
yes_no=getchar( );
while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&& yes_no!='n');
}while (yes_no=='Y'||yes_no=='y');
}
2. 主界面函数
函数名:void Main_Menu()
函数功能:显示主菜单界面。
设计要求或思想:由主函数调用。
参考代码:
void Main_Menu()
{
printf("\n");
printf(" 欢迎使用饭卡管理系统 \n");
printf(" 1、保存文件\n");
printf(" 2、买饭\n");
printf(" 3、续钱\n");
printf(" 4、添加新饭卡 \n");
printf("