• C语言上网计费系统模拟系统


    C语言上网计费系统模拟系统

    程序设计题 2:上网计费系统模拟
    出题人:朱旻如
    面向专业:计算机学院
    难度等级:4

    1 问题描述

    本程序模拟根据上网清单、客户资料等生成客户上网账单的过程,该系统主要功能包
    括促销信息、待购信息的新增、删除、修改、查找等。所有数据都要利用文件系统保存,
    以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一
    些基本算法的应用。
    要求编写一个程序,实现对上网费用的计算。

    2 功能要求

    代码要能提供以下几个基本功能。
    (1)文件管理和存储
    1)用户资料文件,存放了用户名、用户帐号以及计费方式。格式如下:
    Zhang Qiang 0001 0
    Liu Hui 0002 2
    Ke Lei 0003 4
    其中,计费方式的含义如下:
    0 无任何优惠活动,按每分钟 0.03 元计算。
    1 每月 50 元包 30 个小时,如上网时长在 30 小时之内(含 30 小时),应缴 50
    元,超过部分按每分钟 0.03 元计算。
    2 每月 95 元包 60 个小时,如上网时长在 60 小时之内(含 60 小时),应缴 95
    元,超过部分按每分钟 0.03 元计算。
    3 每月 200 元包 150 个小时,如上网时长在 150 小时之内(含 150 小时),
    应缴 200 元,超过部分按每分钟 0.03 元计算。
    4 整包,每月缴 300 元,上网时长不限。
    2)上网记录文件,存放了所有用户的上网记录,内容包括用户帐号、上网起始时间
    和上网终止时间(格式:年月日小时分钟秒)。通常每个用户应有多条上网记录。该文
    件的格式如下:
    0003 20151201170000 20151201193024
    0001 20151202190006 20151202210000
    0003 20151222211343 20151223012558
    (2)功能要求
    1)用户资料文件由程序设计人员预先从键盘上录入,用户资料文件中的数据记录
    不得少于 15 条。
    2)上网记录文件中的数据记录不得少于 150 条,首先录入一些上网记录信息,必
    须有跨年、跨月份的上网记录。
    3)用户资料文件及上网记录文件中的数据可随时增加或减少,程序不应进行限制
    或限定。
    4)对上网费用进行计算。首先由操作人员输入年份和月,然后由程序计算该月份
    所有用户的上网费用并输出账单信息到指定文件夹,格式如下:
    0001 Zhang Qiang 0 xxxx xxxxx
    0002。。
    计费时,对于每条上网记录,不足一分钟按一分钟计算。对于跨年或跨月份的记录,
    只计算发生在当月的费用。例如对于 2016 年 1 月 31 日 15:00:00 至 2016 年 2 月 1
    日 01:00:00 的上网记录,在计算 2016 年 1 月的上网费时,仅计算 2016 年 1 月 31
    日 15:00:00 至 2016 年 2 月 1 日 00:00:00 的费用;在计算 2016 年 2 月的上网费
    时,仅计算 2016 年 2 月 1 日 00:00:00 至 2016 年 2 月 1 日 01:00:00 的费用。处
    理时须考虑闰年的情况。
    选做要求:
    (1)随机生成一批上网记录信息,并判断是否正确,不正确的信息剔除。
    (2)设计用户可能需要的报表,或者建议该系统中还需要采集哪些信息,以便更好的
    提供用户需要的信息。

    3 其他要求

    (1)界面美观,交互方便。
    (2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返
    回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
    (3)程序的层次清晰,可读性强。
    (4)变量、函数命名符合规范。
    (5)如有可能,可使用 MFC 等开发工具,实现彩色或图形操作界面。

    4 开发环境

    可以选择 TC2.0、TC3.0、VC++6.0 等开发环境,或者与老师讨论,选择自己熟悉的开
    发工具与平台。

    *程序设计方法

    (1)根据促销或购物的要求,设计合适的数据结构(如结构数组、链表、对象数组
    等实现)。
    (2)选择文件存储格式(文本或二进制)和文件名。
    (3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序
    的流程图和界面。
    (4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
    (5)根据设计结果分步开发实现各模块,最后进行总体集成。

    源码传送门

    传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

  • 相关阅读:
    java中什么是不可变类
    谷粒商城实战(009 缓存-分布式锁)
    IO流(二)
    RHCE---作业2
    Unity与IOS⭐一、百度语音IOS版Demo调试方法
    弄懂#if #ifdef #if defined
    Qt画虚线
    使用Node.js搭建服务器
    用nginx作反向代理时,请求头中含波浪线无法转发请求的解决方法
    PHP即刻送达同城派送小程序系统
  • 原文地址:https://blog.csdn.net/qq_35960743/article/details/126992309