- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
水表计费课程设计报告
水表计费系统
一 目的
通过课程设计,加深对《程序设计语言》和《软件技术基础》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用等;复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等),熟练掌握和巩固三种基本的数据结构(线性结构、树形结构、图形结构)的逻辑结构、存储结构以及相关运算和应用。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
二 需求分析
1、程序要求
设计一个水表计费系统,用于保存所有用户的用水信息以及水费余 额。若余额不足有相应提示信息。其中用户的用水信息记录为: 编号、用户地址、户名、上次读数、抄表读数、水费余额。
输入的形式和输入值的范围
演示程序以用户和计算机的对话方式进行,即在计算机的提示信息下,使用者可以输入用户用水记录的各种信息(编号、用户地址、户名、上次读数、抄表读数、水费余额。),并进行存储。其中编号、用户地址、户名等信息以char形式进行输入,而上次读数、抄表读数、水费余额等信息则以double的形式进行输入,并对输入的数据进行判断,以确定其是否符合逻辑。同时用“de”和“cb”两个int型变量来标记用户是否被删除和抄表,通过宏定义“#define N 100”确定了用户的数量为100。
输出的形式
当需要输出数据的时候,即显示用户信息的时候,程序将会按照使用者的要求并以类似表格的形式来显示相应的信息 ,以确保显示信息的清晰明确。同时相应的信息仍按照其输入的类型来输出。
程序所能达到的功能
该程序分别实现以下功能:
(1)录入:完成用户信息的输入;
(2)删除:完成用户信息的删除;
(3)修改:允许对已经录入的数据重新进行编辑、修改;
(4)显示:显示所有用户的信息;
(5)查询:a. 按用户地址查找用户信息,并打印显示; b. 按户名查找所有用户信息,并打印显示;
(6)交费:按编号查找唯一信息,输入金额,实现交费功能;
(7)抄表:a. 按用户地址查找唯一信息,输入读数,实现抄表功能;b. 自动扣费:抄表后,根据公式 1.9*(抄表读数-上次读数),在余额中扣除一定金额,若余额不足弹出提示信息。
(8)未抄表用户:显示所有未抄表的用户的信息。
(9)退出程序。
设计菜单,通过选择菜单调用以上各函数。
三 概要设计
1、数据的类型及定义
struct user/*用户信息*/
{
number[10];
address[10];
name[10];
double Ln;
double Nn;
double balance;
int de;
int cb;
}u[N];
u[N]是定义的结构体数组,用来存储每个用户的信息。number[10];address[10];name[10]; 用来存储用户名、地址、户名。用Ln来表示和存储上次读数,用Nn来记录抄表读数,用balance表示水费余额,用de标记已被删除的用户,0表示用户未被删除,1表示该用户已被删除。用cb来标记已经被抄表的用户,0表示用户已经被抄表,1表示用户已被抄表。
FILE *fp,*fpp;
定义文件来存储数据
int count,i,dcount;
用count来记录所输入的所有用户的总数(包括已被删除的用户),用dcount代表已被抄表的和被删除的用户。
2、主程序模块
main()
{
从文件中读取数据;
显示菜单;
根据使用者选择的功能调用相应的函数;
}
3、各功能模块
1、用户信息的输入。
void put()
void put()函数没有返回值,只是对文件进行了输入操作。
2、删除用户
void dele()
void dele()函数没有返回值,只是对文件进行了操作。
3、修改用户
void amend()
void amend()函数没有返回值,只是对文件进行了操作。
4、查找用户信息
void seek()
void seek() 函数没有返回值,只是对文件进行了操作。
5、显示所有用户信息
void show()
void show()函数没有返回值,只是对文件进行了操作。
用户缴费
void pay()
void pay() 函数没有返回值,
文档评论(0)