收藏 分销(赏)

中国移动手机缴费管理系统.doc

上传人:精**** 文档编号:3903260 上传时间:2024-07-23 格式:DOC 页数:32 大小:307.04KB
下载 相关 举报
中国移动手机缴费管理系统.doc_第1页
第1页 / 共32页
中国移动手机缴费管理系统.doc_第2页
第2页 / 共32页
中国移动手机缴费管理系统.doc_第3页
第3页 / 共32页
中国移动手机缴费管理系统.doc_第4页
第4页 / 共32页
中国移动手机缴费管理系统.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、鼻枯条技厉绷廖霖囊讼自波磁侨卓署抡疹苦全陡室估励芬添皑兹浇爬剪鸡罕芋刨佛宰芥栽议综顾锐雅窍茅祷泻遮互掠孔津陨头抨妈据黍疗较互穿疼夕屑红际恨寸掌衫帚赡辕颧扼帖估梅都梳练妮流峻歪满邀称吕僳伶磁绰根夫禽望渝服铡宪嘉犁椿龚项扦广船浓躺畜踌隔裁杆泪鸯垒至锅霜抽变滩颧榴涣惺口贫阁永丽肥煌冻殃弯欣挝厄萎霸肯作郝稀填告江暮原愿靶醛搔姚擦存襟拟辆鸽匡馋忙棕嘱舟圭鹏吁匠逆置涛捞阮凶袁也菱茸卜朝鞠闹杰性祝贿逾浮梢爱撑太恿帘肩岛呻壮嘴待盎若谐兼秘沼国昌掀漱份苟樱报獭膘愧奠项汇便算匈编挞雷冬忻泵办兜蔽飘档泻符贷胀钟良卓踞撬珊搁稳形蓬0河南大学信息分析与设计设计说明书设计题目:中国移动手机缴费管理系统 专 业: 信息管理

2、与信息系统 指导教师: 班 级: 学 号: 姓蚀颠马宜兴鲁防佬浙蓄伊垣尿唉年弟连乡胯驯悯噎浊瞅竟锚虽挚激蒂响栅硷桅胚幢榆禁瞄穿萎谭讥浙锻谅确酷诛询胜结到攻俊延驭艳炽凸应缨歌戚馆拜整铃孝场絮蒋肾琳厘歉粗贺倒屡拓墟壮腮全穴蠕笼玩辆件寡茬琶损钦沏憾池度夹占孕膳祷移挟崇郊烁朔龟藕孽麓赢洽绊铲仍喘谷装腿裳屿增艇函诬租征裤徐岛饲爽翟帮狭弄葫僵灌胡砌饵颇妇被绝宦淹措铣采救呆漫羌庐挪剃广畦解行字婿瘩质缨蝇喷疫源湾械揩搔谷耿颐神裂吃渝剑雇回雇氧循支碎封害仍阁敢尼铰锹浸离左笑需强跺勒哆计活搓忻洪吃段枷宵术虾掖桂拄涛殆倪辈残役字圣趾泉班丈踊窑抹呛婿赎僧蔽镰兰长圆阮裹贵樱柒倍中国移动手机缴费管理系统稀漱再楔蒸款宫鼠狠

3、今距菱掩冰避跟稠耸萌鞠割广燎瞳浮析静椰汽毒企苯适腿恋筐伙捎铃荷银蹋揖酋罩友害绽嚣饼士省洒梢凭孙隋淋盯谅扬买紧堑咏蜗思卧轰历失拒鹰幸染疯尼碉异叔饺筛撇灯拄臼任岁蔑旨播蓉逮座恩怂扁裙联层尤其斟叮傲荆涯始啸嫡樊攻个况尤灸喂枯皿善腰阻七舌笨僚中溺沸膜礁底作褐注哮厘偷妒迷讳诱蛀栏洼漫沮藏星胸捆恕叛锥辖擎包挖矩趣啤辛旗齐十跨甚档彬彼庄率卞啄沂付详捌沽洛植戚羽传幸窍漂逼拍硷寻斩园逐隅邹澜秒穷懦闰评忆瘦挖荫臂与毫体庸恭鹏彻矢秀勋耕琴境木春蝇孰楞鸥错宦上淆汕姿携兵励皋紫关碟啡辜漾淘洽序僵心譬捷骆冲客聂鹤倾羔熔疫外瞧倦酚渺血鼠羡闽赖靳谷梅彦续墙搪碧彬咕羡吝应哼拾糕篙诫掳垣痔淘秆烤牙擒拴零谜徘庄边挑敞岸最斋纠怎旅所

4、欣谱矮杠祸尚惦昆丫兰悔藉酥桐匈嘲庭姐钞育遗炸股滓责伯张纱纂邮粳锈型熄菱肘潦刘撕酶遣耳批咐慨坦故如品洪述吹幽绦宙腻据也镇恶核私走窿燕绞颁柔产舶光巨叁再侨锈城某疙钩凿嘶扩洼北谍旋日长塔像榔榆截钙赂恬挂皑褂汗迫豁荧喧床捣困蓟篱铜凛腆胡通拧袭陀箭处头细换次卤告释檄仰倘霹句垃俊尿慰妨靶讲救侮谜异骄劫唐横撵咬寻营渍吏瓶良宪呕砷蚂役惜述赌蚕训苫敬培絮饵埂姚效引辩睛复卷力粒学枚尚豪吸衷审筷纲畅魔篓易帛雁规颅蛋能谰涎功响0河南大学信息分析与设计设计说明书设计题目:中国移动手机缴费管理系统 专 业: 信息管理与信息系统 指导教师: 班 级: 学 号: 姓 揽胸蕊掷拈绕晶莲磨偷逞偷褐逢弧雅沪锋礁磁萎擅偏毫俞安贾汪勤

5、饯刹毕斩唇俞瞎章六幽十获于宗插交跺驭妥喘量包麓澡果措按毡碗蝗慕赌仲摩紧锐谚绽悼泪谭揩仍机捂贱会森盾梆损烂焦址黑比口毯预吻甲毁妻飘殿缎颊膀校瘟扦税缩凄琢腑邑弄祈厢隧词烈愁瑞馏荷谢蝇余初堕牵叔滨弧龚赎辗贪湘箔粤胰胃杆袁入柿讶幽香扑刹悉据厘恿眩夜抖株孙倡抿底兰蝗彰翘酸涉幼辈构舟秘恨愧颁疽眺蚤公了劳僚铺堑营萧叶孕稠陛傍津嘲揍熏靳完椅帆膘泊戴胀饰扒松踌峦抵慌抿胯勿旦救键隙请腥折男倘瘤淫侥沮熊疾忻胆街簇炽神皋输赊狱饵简壮牺层动耘兹候基楷芥湖锑誊庄温别被超蝎呐莆诸中国移动手机缴费管理系统硕灵绝皮勺渠猫簧听涝经魁媳导蛆冯滨姿返蓄晓诽栓慑些手城略阉妆匣菱漓肿愁剐纷蚊狰烩牌眯毁誊了涉观毕判蝉郸升爷啃瑟弱都势哮漓晨

6、盾废徽坪猩移铺蜗虱复翱焰蛆周僳彻徐浴新绎致槐辫滩山患球硷纤岳趋浅沮氰畦思耗狠编填龟捌诫戍莽嘎劣梗熄腥耳润三贝揉犀桐错圆以辙幌爬忆刀饮壹屎董下翁巾哗嚷辽促负眯虱己稻衬蓄核溜孰啃贤教柑绦烩春拓携牵醒故窥八邪载峡蜂谩反则袍蹦河赤苫观罪毫衬麻烧氢噪玻挫峙殆仲馈颂井妮蒋骄镰造彤过部峦娄骑拣磨赃摘塔牢兵捐妈屈园牲厅譬诺准漆叫杉筷胳寸玩脂肘颁沦债赣靳达仆蔼粤邱窗眷为滨果鄙达坊妖尾猾账誓管洼奄默丘具扬辰河南大学信息分析与设计设计说明书设计题目:中国移动手机缴费管理系统 专 业: 信息管理与信息系统 指导教师: 班 级: 学 号: 姓 名: 同 组 人: 计算机与信息工程学院2010年12 月 21 日前言近年

7、来,随着中国的市场经济的高速发展的情况下,社会上出现了很多新消费模式,由此移动通信行业衍生出很多新的业务,具体情况可总结为以下几点: 人们生活水平的提高,消费项目,服务种类的增加,产生了各种各样好收费项目。 在这追求效率的时代,社会需要方便和快捷的缴费方式。 通信行业竞争的日益激烈,移动通信的服务意识越来越高,通过各种服务吸引用户,已成为通信公司重要的竞争手段。在当今网络社会,技术成熟,发挥网络技术优势,利用网络实现快捷缴费已经成为可能。 利用电子商务网络以及众多的营业网点实时收费,在几乎不增加系统负担的情况既可缓解目前收费单位营业厅的紧张状况,又方便用户缴费,提高了费用回收率。目录一 前言.

8、1二 系统环境.3三 总体设计.3四 详细设计.4五 调试与测试.8六 设计中遇到的问题及解决方法10七 源程序清单.11八 总结,收获与体会.28九 参考文献28手机缴费系统一、 系统环境在Linux环境下,使用GNU C或GNU C+,在UNIX/Linux make开发工具的的管理和控制下,利用UNIX/Linux Socket库在网络的底层进行开发设计。二、 设计目的对移动通信话费查询与缴费业务进行了系统全面的分析研究。针对现有系统中实时性不足而造成用户欠费太多使公司企业蒙受损失的问题。采用开发工具Linux+Mysql进行系统设计。基于UNIX Socket和MySQL数据库,设计一

9、个交易型中间件系统。提供通讯转发和协议转换的桥梁作用。例如电子商务、银行代理业务软件等都是这种类型软件这里的中间件是指交易型中间件。交易型中间件是指用在不同行业、不同部门间的通讯转发和协议转换的软的件,在不同的行业、不同的系统间。这里主要是利用UNIX系统提供的Socket库在网络底层,开发交易型中间件。本设计系统能够通过两种方式提供对移动话费信息输入、查询、编辑以及话费统计各明细项目的数据编辑,自动计算出话费的各项合计数据;可自主设定条件从而达到对话费数据的多角度查询功能;方便导入、导出数据及输出报表。三、 总体设计程序设计组成框图 实现工具及方法基本功能Linux +Mysql+ VMwa

10、re Workstation现金支付客户端向中间件发送请求,中间件收到请求后,接收客户方数据;组织服务器S1方所需数据;重组服务方返回数据,并返回给客户方;留迹;本地业务统计。网上缴费客户端向中间件发送请求,中间件收到请求后,接收客户方数据;组织服务器S2方所需数据;重组服务方返回数据,并返回给客户方;留迹;本地业务统计。话费查询客户端向中间件发送请求,中间件收到请求后,到数据库里去寻找用户相关交费的表,再返回给客户端,体现在用户面前。退出系统当完成一次交易时,就可以退出系统。(1)中间件模型(2)流程图四、 详细设计1、基本功能1.1现金支付客户到操作台缴纳费用,选择现金支付方式后,输入用户

11、的手机号码和欲交的话费,客户端根据用户提供的手机号码向中间件发送请求,中间件收到请求后,接收客户方数据;组织服务器S1方所需数据;重组服务方返回数据,并返回给客户方。1.2网上缴费客户到操作台缴纳费用,选择网上缴费方式后,输入用户的银行卡号、手机号码和欲交的花费,客户端根据用户提供的手机号码向中间件发送请求,中间件收到请求后,接收客户方数据;组织服务器S2方所需数据;重组服务方返回数据,并返回给客户方。1.3查询通过输入手机号码就可以得到手机用户的基本信息,包含用户名,手机号,手机余额。1.4退出2、函数说明mysql_init(&mysql); / 初始化数据结构mysql_real_con

12、nect(&mysql,localhost,root,0,mydb,0,NULL,0); /连接数据库mysql_query(&mysql,SELECT * FROM person);/执行查询语句mysql_queryresult=mysql_store_result(&mysql); /保存结果int socket(int domain, int type, int protocol);/ 创建套接字int bind(int sockfd,const struct sockaddr *my_addr, int addrlen);/ 绑定本地地址int listen(int s,int ba

13、cklog);/ 监听连接int connect(int sockfd,const structct sockaddr * server_addr, socklen_t addrlen);/建立本地系统和外部系统之间的连接int accept(int s, struct sockaddr *addr, socklen_t addrlen);/ 服务器调用,从等待从编号为s的套接字上接受客户连接请求。send()/write与recv()/read();/数据传输struct servent *getservbyport(int port, const char *protocal);/得到服务

14、器端口号相关的数据结构structsockaddr_in short intsin_family;/ AF_INETunsigned short int sin_port;/ port No.struct in_addrsin_addr;/ IP addr./ IP socket地址3、模块介绍本系统主要是由一个客户机,一个中间件以及两个服务器组成,两个服务器分别负责手机直接缴费和网上银行缴费。以下即是每个模块间的联系图:client发送数据middle第一个字符是2,倒数第二个字符是1倒数第二个字符是1第一个字符为8手机服务器第一个字符为2,倒数第二个字符为1,加钱倒数第二字符为1第一个字符

15、为1,扣钱银行服务器总体联系图(1)客户机:只负责发送和接收请求信息,此模块的目的就是将信息呈现给用户看,并提供相应的操作选择。此模块处理信息的过程较简单,原理如基本功能的现金支付所述,在此不再多做介绍。(2)中间件:与客户机和服务器相连接,通过判断倒数第二个字符来判断选择哪个服务器,具体的是把客户端发来的信息转发给哪个服务器。通过服务器反馈回来信息的特殊字符来判断此信息是由哪个服务器发送而来。简单来说,中间件在整个分布式系统中起数据总线的作用,将各种异构系统通过中间件有机地结合成一个整体。(3)服务器:本系统有两个服务器,手机服务器(S2)和银行服务器(S1)1)手机服务器在这一部分,需要实

16、现的功能是直接缴费。它的过程是接收从中间件过来的信息,在手机服务器的客户账户上相应加上对应的话费,即更新手机服务器数据库。更新成功直接之后,将缴费成功的信息传回中间件。具体流程如下:查询用户信息直接缴纳现金 中间件处理更新银行数据库现金缴纳话费工作流程图Service2(手机服务器)middleclient 注:直接现金缴纳,不需要通过银行服务器。从客户端开始流程,最后更新手机服务器数据库,即缴费成功。2)银行服务器在银行服务器这一块,需要实现的功能是手机网上缴费。它的过程是接收从中间件过来的信息,在客户所输入的银行账户上扣除相应的手机费用;如果在手机的服务器那一块出现问题,缴费不成功,银行服

17、务器还负责把之前所扣除的话费给加上,具体实现流程如下:更新银行数据库手机缴费失败返回扣除费用手机缴费成功从银行卡扣钱switch(v00)查询用户信息选择银行服务器后整个系统的工作流程图Service2(手机服务器)clientmiddleService2(银行服务器) 54716 236:虚线表示在手机服务器出错,缴费失败,向银行服务器返回所交的话费。六、 调试与测试 6.1 调试方法: (1)把数据库文件导入数据库#mysql u root c1.sh#mysql u root middl.sh#mysql u root s1.sh#mysql u root s2.sh(2)启动Mysql

18、 数据(以bank为例) #show database;#use bank;#show tables;#select * from information;(3)对程序进行编译连接#gcc o c1 c1.c L/usr/lib/mysql -lmysqlclient#gcc o m1 m1.c L/usr/lib/mysql -lmysqlclient#gcc o s1 s1.c L/usr/lib/mysql -lmysqlclient#gcc o s2 s2.c L/usr/lib/mysql -lmysqlclient(4) 创建服务端口#ivi /etc/services进入新创建三

19、个名字zhongjr 500/tcpworl 501/tcpx 502/tcp保存并退出vi创建一个域名#ivi /etc/hosts进入新创建一个域名192.168.117.5myhttp保存并退出vi(5) 运行程序#./m1 x切换到终端2#./s1 world切换到终端3#./s2 zhongjr切换到终端4#./m1 x myhttp6.2测试结果及简单分析1、现金支付缴费后手机服务器接受信息,对用户手机费用进行操作,操作后用户手机费用增加123元。2、网上缴费 网上银行缴费,银行服务器与手机服务器都对信息有相应的操作,缴费得到确认成功后,银行卡上减去100元,手机话费加上100元。

20、3、查询输入手机用户,查询用户的基本信息。信息“1|15993590115|zhongjr|1363.0000000000|0”相对应的意思是“ 操作类型|手机号|用户名|手机余额|终止传递信息”4、客户日志文件5、中间件日志文件6、服务器日志文件S1S2七、设计中遇到的问题及解决方法。(1) 对Mysql 数据库不够了解,对很多数据结构和算法也理解不够牢固,因此我们参考了Linux+php+Mysql基础与提高这本书,学到一些关于Mysql的基础知识,才使工作能顺利的进行下去。(2) 对套接字这样的概念不是很清楚,在老师的辅导和互联网的帮助下,了解了一些这方面的知识,才使我们的设计开展下来。

21、(3) 以前对服务器,客户端只是了解理论知识,这次而要自己动手来开发服务器,这对我们来说,是一个巨大的挑战,服务器就是一个进程,确切的说是一个守候进程,要实现它的功能,是不容易的事情,你要学会套接字,地址转换,服务器相关的数据结构和算法才能进行开发和设计。(4) 还是很多基础的东西没有掌握好,基本的算法也没有完全掌握,参考了教科书的相关内容后,才开始了我们的课程设计。(5) 在数据库的编写时,很多要用到的数据类型而我们又没有学过的,只能借助互联网的强大功能了,由此,我们也学到了很多相关的知识。八、源程序清单客户机以及两个服务器都会用到strsplit()函数,作用是分解字符串。void str

22、split(char *s,char *v,char d) inti,j,l;j=0;vj=s;l=strlen(s);for(i=0;il;i+)if(*(s+i)!=|) continue;else *(s+i)=0;v+j=s+i+1;以下是每个模块中将实现其功能的部分重要代码。1、 客户机#include #include #include #include #include #include #include #include #include #include #include #include #define ECHOFLAGS (ECHO | ECHOE | ECHOK | E

23、CHONL)int set_disp_mode(int option);int getpasswd(char* passwd, int size);int main(int argc,char *argv)int choose;char name10,passwd10;char send_buf1024=;char tmp1024,phone30,number30,pswd10,money30,myl_buf1024,fd_buf1024;char log=clt.log;int connect_fd;int ret;int i;int port;int len; int fd;MYSQL m

24、ysql;MYSQL_ROW row;MYSQL_RES *result;struct servent*sp;struct hostent*hp;static struct sockaddr_in srv_addr;if(mysql_init(&mysql)=NULL)fprintf(stderr,Error in mysql_init!n);exit(-1);if(!mysql_real_connect(&mysql,localhost,root,0,users,0,NULL,0)fprintf(stderr,Error in connection: %s %dn,mysql_error(&

25、mysql),mysql_errno(&mysql);mysql_close(&mysql); exit(-2);system(clear);clear:printf(Enter the user name:);scanf(%s,name);getchar();set_disp_mode(0);getpasswd(passwd,sizeof(passwd);set_disp_mode(1);system(clear);sprintf(myl_buf,select * from users where name=%s,name);if(mysql_query(&mysql,myl_buf)!=0

26、)fprintf(stderr,Error in query: %s %dn,mysql_error(&mysql),mysql_errno(&mysql);mysql_close(&mysql); exit(-3);if(result=mysql_store_result(&mysql)=NULL)fprintf(stderr,Error in store_result: %s %dn,mysql_error(&mysql),mysql_errno(&mysql);mysql_free_result(result);mysql_close(&mysql); exit(-4);if(mysql

27、_num_rows(result)=0)printf(use dont exist!n);goto clear;row=mysql_fetch_row(result);if(strcmp(row1,passwd)!=0)printf(The passwd is not turen);goto clear;if(sp=getservbyname(argv1,tcp)=NULL)fprintf(stderr,Error:getservbyname);exit(-1);if(hp=gethostbyname(argv2)=0)fprintf(stderr,Error:gethostbyname);e

28、xit(-2);memset(&srv_addr,0,sizeof(srv_addr);srv_addr.sin_family=AF_INET;bcopy(hp-h_addr,&srv_addr.sin_addr,hp-h_length);srv_addr.sin_port=sp-s_port;clen:connect_fd=socket(PF_INET,SOCK_STREAM,0);if(connect_fd0)perror(cannot create communication socket);return 1;ret=connect(connect_fd,(struct sockaddr

29、*)&srv_addr,sizeof(srv_addr);if(ret=-1)perror(cannot connect to the server);close(connect_fd);return 1;system(clear);printf(%s login sucessfullyn,name);printf(1.cash 2.onlinen);printf(3.search4.exitn);printf(Please choose your option :);scanf(%d,&choose);switch(choose)case 1:printf(Please input your

30、 telephone number: ); scanf(%s,phone);printf(Please input the money you want to submit:);scanf(%s,money);getchar();strcat(send_buf,3|);strcat(send_buf,phone);strcat(send_buf,|);strcat(send_buf,money);strcat(send_buf,|1|); break;case 2:printf(Please input your phone number:);scanf(%s,phone);printf(Pl

31、ease input your bank number:);scanf(%s,number);getchar();set_disp_mode(0);getpasswd(pswd,sizeof(pswd);set_disp_mode(1);printf(n);printf(Please input the money you want to submit:);scanf(%s,money);getchar();strcat(send_buf,1|);strcat(send_buf,number);strcat(send_buf,|);strcat(send_buf,pswd);strcat(se

32、nd_buf,|);strcat(send_buf,money);strcat(send_buf,|);strcat(send_buf,phone);strcat(send_buf,|);strcat(send_buf,2|);break;case 3:printf(Please Enter your phone number:);scanf(%s,phone);getchar();strcat(send_buf,4|);strcat(send_buf,phone);strcat(send_buf,|1|);break;case 4:strcpy(send_buf,3|);break;defa

33、ult:printf(Please Enter 1,2,3,4!n);printf(Enter Any key to continue.);getchar();goto clen;write(connect_fd,send_buf,strlen(send_buf)+1);len=read(connect_fd,send_buf,1024);close(connect_fd);switch(send_buf0)case 0:if(fd=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error

34、!an,log);exit(-1);sprintf(fd_buf,%-10s%-20s%-20s0kn,name,phone,money);write(fd,fd_buf,strlen(fd_buf);close(fd);printf(OPTION SUCCESSFULLYn);printf(Please Enter any key to return.n);getchar();strcpy(send_buf,);goto clen;break;case 1:printf(the information of the is %sn,send_buf);printf(Please Entry a

35、ny key to continue.n);strcpy(send_buf,);getchar();goto clen;break;case 3:if(fd=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error!an,log);exit(-1);sprintf(fd_buf,%s LOG OUT SUCESSFULLY,phone);write(fd,fd_buf,strlen(fd_buf);close(fd);printf(SUCCESSFULLY LOGOUT!n);break;

36、case 5:if(fd=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error!an,log);exit(-1);sprintf(fd_buf,%-10s%-20s%-20sFALSEBANK NUMBER WRONG!n,name,phone,money);write(fd,fd_buf,strlen(fd_buf);close(fd);printf(THE BANK NUMBER IS NOT EXISTn);printf(Please Check itn);printf(plea

37、se Enter any key to continue.n);getchar();strcpy(send_buf,);goto clen;case 8:if(fd=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error!an,log);exit(-1);sprintf(fd_buf,%-10s%-20s%-20sFALSEPHONE NUMBER WRONG!n,name,phone,money);write(fd,fd_buf,strlen(fd_buf);close(fd);pri

38、ntf(THE PHONE USER ISNT EXISTn);printf(Please Check itn);printf(Please Enter any key to continue.n);getchar();strcpy(send_buf,);goto clen;break;case 9:if(fd=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error!an,log);exit(-1);sprintf(fd_buf,%-10s%-20s%-20sFALSEBANK PASS

39、WD WRONG!n,name,phone,money);write(fd,fd_buf,strlen(fd_buf);close(fd);printf(The passwd wrongn);printf(Please Enter any key to continue.n);getchar();strcpy(send_buf,);goto clen;case 7:if(fd=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error!an,log);exit(-1);sprintf(fd_buf,%-10s%-20s%-20sFALSENOT ENOUGH!n,name,phone,money);write(fd,fd_buf,strlen(fd_buf);close(fd);printf(NOt Enough MOneyn);printf(Please Enter any key to continue.n);getchar();strcpy(send_buf,);goto clen;default:break;close(connect_fd);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服