如需全部代码,关注公众号(coding加油站)领取。

视频演示:

【coding加油站】C语言校园卡管理系统

1、功能设计

c语言校园卡管理系统的程序一共分为九个模块分别有以下几个模块:

  1. 显示已建立的校园卡(此模块是对于已经完成注册的校园卡的统计 )
  2. 建立校园卡(此模块是对于新生加入之后一些新校园卡加入)
  3. 买饭
  4. 续钱
  5. 添加校园卡
  6. 注销校园卡
  7. 设置与解除挂失
  8. 统计挂失人数
  9. 退出程序

2、详细设计

2.1、流程逻辑

       学生向管理员提交个人的信息,系统自动检验信息是否完整,并做出相应的提示信息,系统根据用户的录入,自动为卡分配唯一的ID,一卡通激活注册后,数据文件响应更新,并创建一卡通记录表,记录一卡通充值、消费、修改、挂失等信息。

       消费模块:用户在消费时,系统判断用户的卡是否有效,一卡通日消费金额是否超过限制,一卡通余额是否足够,当为定价消费时,用户按定价的面值进行扣除信息,然后更新数据文件,修改一卡通信息历史记录,若卡进入挂失状态就不能消费。

2.2、算法流程图

3、编码

3.1数据结构定义

struct fanka{

char number[20];

char name[20];

int zhuangtai;

float yue;

}fanka[MAX];

3.2、功能函数设计

主函数 main()                                    

函数的功能:用于联系各个功能函数模块,以及退出程序时的退出画面提示。

函数的入口:整个程序是从主函数开始的。

函数的出口:当从main()的ove函数开始中进入,即显示出欢迎使用界面;跳出while循环,然后退出main()函数,即:退出整个程序。

函数调用关系:该函数不被其它函数调用。

  1. 1、功能函数void jianli();

    函数的功能:建立并存储新的一卡通的数据

    函数的入口:从主函数main()进入

    函数的调用关系:被jianli()函数调用。由switch(choose)开关结构中进入,choose值为1时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行jianli()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 2、功能函数void maifan();

     函数的功能:一卡通消费功能,在消费过后一卡通内剩余的数据存储起来。

     函数的入口:从maifan()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

     函数的调用关系:被maifan()函数调用。由switch(choose)开关结构中进入,choose值为2时进入。

     函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行maifan()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 3、功能函数void xuqian();

函数的功能:在原有卡内余额的数据进行数据的改变然后存储数据。

函数的入口:xvqian()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

      函数的调用关系:被xvqian()函数调用。由switch(choose)开关结构中进入,choose值为3时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行xvqian()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 4、功能函数void tianjia();

函数的功能:在原有一卡通数据的基础下继续添加新的一卡通数据。

函数的入口:tianjia()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

函数的调用关系:被tianjia()函数调用。由switch(choose)开关结构中进入,choose值为4时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行tianjia()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 5、功能函数void shanchu();

函数的功能:在原有一卡通数据上进行删除。

函数的入口:shanhcu()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

函数的调用关系:shanchu()函数调用。由switch(choose)开关结构中进入,choose值为5时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行shanchu()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 6、功能函数void guashi();

函数的功能:对于丢失的一卡通可以进行锁定与挂失。

函数的入口:guashi()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

函数的调用关系:guashi()函数调用。由switch(choose)开关结构中进入,choose值为6时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行guashi()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 7、功能函数void tonggua();

      函数的功能:用于统计挂失人数。

函数的入口:tonggua()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

函数的调用关系:tonggua()函数调用。由switch(choose)开关结构中进入,choose值为7时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行tonggua()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

  1. 8、功能函数void xianshi();

      函数的功能:显示已建立一卡通的信息。

函数的入口:xianshi()的switch()开关结构中进入,即choose的值为2的时侯,进入该函数,开始对图书信息按书名的首字母进行排序,然后将排序结果保存到文件“缓存区”中。

函数的调用关系:xianshi()函数调用。由switch(choose)开关结构中进入,choose值为7时进入。

函数的出口:当输出结果信息用printf()标准输出到屏幕上,然后结束该函数,而执行xianshi()函数中“break;”跳出switch()开关函数,继续执行while循环结构。

4、函数流程图

(1)更新充值一卡通信息

(2)消费模块 

(3)挂失与解挂

(4)删除一卡通信息

如需全部代码,关注公众号(coding加油站)领取

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐