电信计费模拟系统c语言,电信计费系统预处理功能模块设计

已结贴√

问题点数:20 回复次数:2

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

电信计费系统预处理功能模块设计

课设题目,可是做不出来了。。。很急的,有没有高手帮一下忙?十二分感谢!

一、设计目的

1、理解电信计费系统的数据采集预处理过程;

2、掌握电信计费的字段交验、时长计算、话单事件分析;

3、掌握按照不同需求的数据排序、查找、计算、显示等操作;

4、熟练使用高级编程语言软件。

二、设备所需仪器设备

计算机一台,高级编程语言软件

三、设计原理

1、问题描述

预处理是电信计费系统在数据采集后对原始话单文件进行标准化处理的第一个阶段(标准化处理阶段),包括原始事件格式标准化、校验转换、分拣过滤、重复事件检查、定制输出等正常和异常回收处理过程,实现话单批价前的准备工作。

本题目以中国电信语音计时话单预处理系统为原型参照,要求对文件中存储的话单数据进行排序、查找、计算、显示等操作。通过此课题,通过此课题,熟练掌握数组元素为结构体的应用、文件读写、函数调用等知识,以及查找、排序、排重算法的设计与应用。

2、功能要求

要求实现的功能点包括:

1) 字段校验:验证主被叫号码是否是数字、长度是否正确、通话时间格式是否有效,不符合规则的记录做误单处理(以文本方式输出至误单文件中)。

2) 时长计算:通话时长=通话结束时间-开始时间,时长小于3秒的超短话单或大于24小时的超长话单做误单处理(以文本方式输出至误单文件中)。

3) 被叫信息分析:被叫判运营商;被叫分离区号。

4) 话单事件分析:如果主被叫区号不同,判是否为国际长途、国内长途;如果主被叫区号相同, 判是否为信息台等特殊话务。

5) 话单排重:如果两条记录(或多条记录)中的主被叫以及通话时间完全相同表明是重复话单,这类记录在输出话单文件中只能保留一条(去重)。这是本课程设计的核心功能。

6) 排序输出:可以同时分析多个话单文件,并将分析结果根据通话起始时间升序排列,以文本方式输出至一个预处理结果文件中。

7) 支持按主叫号码查询并显示该号码的通话清单。

3、数据格式

程序输入输出均以文件方式提供,数据文件通过文本工具建立。

1) 输入为原始话单文件(.txt文件):用于存放主叫号码、被叫号码、通话起始时间、结束时间(时间格式为yyyy:mm:dd:hh:mi:ss)。示例如下:

83490000 85980000 2010:04:23:12:20:01 2010:04:23:12:21:11

83490000 01085980010 2010:04:23:20:58:30 2010:04:23:21:39:25

83490001 13951645164 2010:04:23:20:58:30 2010:04:23:21:39:25

83490000 85980000 2010/04/23/08/15/05 2010/04/23/08/23/21

注:通话时间格式不正确

876XY321 85981111 2010:04:23:09:01:01 2010:04:23:09:10:39

注:主叫号码格式不正确

83470002 55074132 2010:04:23:15:18:19 2010:04:23:15:18:20

注:超短话单

83490001 1790902165280115 2010:04:23:20:19:20 2010:04:23:21:08:10

83490002 02086680020 2010:04:23:19:50:30 2010:04:23:21:23:25

83470003 168880088 2010:04:23:19:08:05 2010:04:23:19:10:03

83490002 02086680020 2010:04:23:19:50:30 2010:04:23:21:23:25

注:重复话单

2) 输出之一为标准话单文件(.txt文件):用于存放预处理处理的正常结果。内容包括:主叫号码、被叫号码、被叫区号、被叫运营商、起始时间、结束时间、通话时长、话单属性(国内长途/国际长途/信息台/普通市话),并对输出按不同需求排序。

3) 输出之二为误单文件(.txt文件):用于存放预处理过程中发现的异常话单,内容包括:主叫号码、被叫号码、起始时间、结束时间、通话时长、异常原因 。

3、数据结构

int year; /* 年 */

int month; /* 月 */

int day; /* 日 */

int hour; /* 时 */

int minute; /* 分 */

int second; /* 秒 */

char sourcePhoneNbr[20]; /* 主叫号码 */

char destPhoneNbr[20];   /* 被叫号码 */

struct datetime beginTime; /* 通话起始时间 */

struct datetime endTime; /* 通话终止时间 */

4、参考函数名

装载话单,建立话单结构数组:void loadCallInfo();

校验原始话单字段,合法性检查:void checkField();

计算通话时长:void calCallLength();

分析话单事件:void analyseCallEvent();

将话单排序:void sortCallList();

查找并删除重复记录:void seekDelDup();

输出标准化话单:void exportStdCallList ();

输出误单话单:void exportErrCallList();

四、设计任务

1、根据给定.txt话单文件,读取相关数据;

2、按照输入话单数据,显示出标准话单文件和误单文件;

3、利用标准话单文件,可根据通话时间、通话起始时间和通话结束时间排序,根据主叫被叫号码按区号分组;

4、用理论方法对实验结果进行总结;

5、写出课程设计报告、设计总结及收获。

搜索更多相关主题的帖子:

模块 计费系统 电信 预处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
飞机托运计费系统是一个用于计算飞机货物托运费用的系统,使用C语言进行开发。该系统可以根据货物的重量、尺寸和目的地等因素来计算托运费用,并提供相应的报表和统计信息。 以下是一个简单的飞机托运计费系统C语言代码示例: ```c #include <stdio.h> // 定义货物结构体 typedef struct { float weight; // 货物重量 float length; // 货物长度 float width; // 货物宽度 float height; // 货物高度 } Cargo; // 计算托运费用的函数 float calculateShippingCost(Cargo cargo, char destination[]) { // 根据货物重量和尺寸等因素计算托运费用的逻辑 // ... return shippingCost; } int main() { Cargo cargo; char destination[100]; float shippingCost; // 获取用户输入的货物信息和目的地 printf("请输入货物重量(kg):"); scanf("%f", &cargo.weight); printf("请输入货物长度(cm):"); scanf("%f", &cargo.length); printf("请输入货物宽度(cm):"); scanf("%f", &cargo.width); printf("请输入货物高度(cm):"); scanf("%f", &cargo.height); printf("请输入目的地:"); scanf("%s", destination); // 调用计算托运费用的函数 shippingCost = calculateShippingCost(cargo, destination); // 输出托运费用 printf("托运费用为:%.2f元\n", shippingCost); return 0; } ``` 以上代码是一个简单的示例,实际的飞机托运计费系统可能还需要考虑更多的因素,例如货物类型、航班信息等。具体的实现方式可以根据需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值