- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三、概要设计
1 主要结构体
struct huadan { //话单信息定义
char number1[9];
char number2[13];
char qishi[15];
char zhongzhi[15];
}std[300];
// typedef struct huandan huadan;
struct user //用户信息定义
{
char name[20];
char phone[9];
char laidian[2]; // 来电显示是否
}stb[100];
struct huafei{
char haoma[9];
char xingming[20];
int e;
int f;
double localfee;
double idfee;
double zonghe;
}sta[100];
2 主要函数流程图
(1)计算函数:用于计算用户话费账单。流程图如图2所示。
(2)话费查询函数:用于用户话费的查询。流程图如图3所示。
(3)输出费用详单:用于将用户的话费详单输出到指定的文件。流程图如图4所示。
三、概要设计
主要
class user
{
public:
char *name;
char *id;
long num;
char *ad;
char disp;
};
话单资料类
class ticket
{
public:
char called[12],calling[12];
int year,month,day,hour,minute,second;
int dur;
class ticket *next;
};
主要函数流程图:
六、调试过程中的问题
七、课程设计总结
六、调试过程中的问题
1 生成详细话单时,计算本地费用和长途话费时,在第一个循环中未置0。导致最后数值越来越大。输出用户资料时,在第一个小循环应该重新回到文件头,但当时没有意识到,最后用的rewind函数使文件重新回到文件头。
2 输入新用户时,有一个空格键没有读取,导致总是出错,name没有读出,被跳过。后来加入了一个getchar()将空格键读取。
3 显示详细话费时,题头总是与输出数据不对齐。后来通过改变格式控制符,使之能够对齐。因为double型最后有6位小数,导致输出数据太长,显得杂乱。后来通过控制小数位数使文件变得整齐。
4 时间函数在计算跨年、跨月时计算麻烦,需要通过多层switch-case嵌套才能满足函数设计需求。
七、课程设计总结
这次实验周,虽然短暂。但是对于我来说,却有着非同寻常的意义,不仅是学习上加深了自己对于c语言的理解。更重要的是教会了我,合作的重要性,使我明白了“星多天空亮,人多智慧广一人知识有限,众人智慧无穷。在进行课程设计,一脸茫然不知从何入手。为什么呢?因为我想自己自做出来而不参考任何资料,以为这样才可体现的智慧和能力,其实这是大错特错的。当然也不是一味强调自己动脑自己做出来不好,从开发方面角度来说是可以的,有些东西也并不是一味的照搬照抄。抱着这样的态度迷茫了三四天只想出了一丁点大至结构。最后决定上网找资料,不查不知道,一查大吃一惊,不但自己的想法网上比比皆是,比自己的想法更完美更合理的多得看都看不完。
图2 计算函数
图3 话费查询
图4 输出费用详单
文档评论(0)