- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广东工业大学c语言课程设计技术报告.doc
课 程 设 计
课程名称______________________
题目名称______________________
学生学院______________________
专业班级______________________
学 号______________________
学生姓名______________________
指导教师______________________
2012 年 6月 6日
需求分析:
设计题目:水电气费用管理系统
设计内容:
编程建立一个水电气费用管理系统,使其能对每月的水电气进行系统管理。包含删除,增加用户,查询,缴费功能。
整个系统分为二个软件:主机和客户端。主机负责计算,客户端面向用户。
系统功能:
主机:
接收每个月的数据并处理。
把每个月的数据写到文件等待客户端操作。
客户端:
打开时初始化用户数据。
接收主机输送的数据,整合给用户。
提供删除用户功能。
增加用户。
查询最近三个月数据和缴费情况。
缴费。
退出时保存用户数据。
具体功能
程序打开时初始化原有用户数据。
进入循环体
选择界面。
三月数据读入;总费用读入;总人数写出;删除的用户排行写出,如无删除写出-1,否则主机删除排行所对应的总费用数组元素,并立刻写出-1;标志位写出,主机接收后总费用清零。
选择操作:
删除用户:链表中寻找对应账号,检查缴费情况,若成功删除把删除账号写入存放删除用户账号数组,否则删除失败标记位置位
增加用户:检查是否达到最大用户数量,申请内存加到链尾,检测是否有已删除账号,用户数据写入
查询:
缴费:
返回选择界面
若退出循环体,保存用户数据
数据结构设计
链表存放用户数据
结构体数组保存用户数据
存放用户三个月数据用的是三个二维数组
一维数组存放总费用
一维数组存放删除用户账号
目录:
程序下载地址 3
客户端 5
主函数 5
增加删除函数 8
对主机输送数据处理函数 12
数据输送函数 14
初始化用户数据函数 19
保存用户数据函数 21
查询函数 22
结构体定义 24
主机 25
主函数 25
截图 30
客户端 30
总结 31
程序下载地址:
/c08d42kc1x
流程图:
源程序:
客户端:
主函数:
#include stdafx.h
#include stdlib.h
#include string.h
#include struct.h //自定义头文件
#include adddelete.h
#include search.h
#include save.h
#include deal.h
#include string1.h
#include getnane.h
#include putname.h
#include filework.h
#include define.h
void main() //test or text 为测试语句,软件推出后删除
{
//init
float table11[MAX][4]={0},//test 软件推出时初始化为0 , 20为最多用户数量,可改
table22[MAX][4]={0},
table33[MAX][4]={0};
float tablepay[MAX]={0};//存放总费用
int monthtable[3]={0};
struct init inittable[MAX]={0};//test 软件推出时初始化为0
char choice1;
int sign=-1;
int *psign=sign;
FILE *fp1=NULL;
int tableaccount[MAX]={0},total=0,choice,time;//tableaccount存放删除的用户的账号,total为总人数
int account,*paccount,rank,*prank,*ptotal;//*paccount为账号指针,*prank为删除的用户链表中对应的排行,ptotal为总人数
struct link *head;
paccount=account;
ptotal=total;
prank=rank;
rank=-1;
head=NULL;
/*--------------------------------分割线1------------------------------------------*/
name(inittable);//得到name.txt文件中的用户名和编号数据
del(tableaccount);
/*--------------------------------分割线1-----
文档评论(0)