模仿全球通计费系统的源代码.doc_第1页
模仿全球通计费系统的源代码.doc_第2页
模仿全球通计费系统的源代码.doc_第3页
模仿全球通计费系统的源代码.doc_第4页
模仿全球通计费系统的源代码.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#include#includetypedef structchar TelNum112; /用户的号码char TelNum212; /用户所拨打的号码char Time111; /拨打电话的起始时间的年、月、日(如2012/12/12)char Time29; /拨打电话的起始时间int Duration; /通话所用的时间(秒)double cost; /本次通话的话费TEL;#define adress1 .txt#define adress2 通话信息/double COST(int Duration); /计算呢本次通话所用的费用void Tel_inf(); /输入并储存通话信息void Detail_Bill(); /通话详单查询void Interface (); /主界面void Tel_inf_gui(); /输入通话信息的界面void Inquires(); /查询界面void Gotoxy(int x, int y); /光标函数void Bill(); /账单查询void Gotoxy(int x, int y) /定位到第y行的第x列 int xx=0x0b; HANDLE hOutput; COORD loc; loc.X = x; loc.Y=y; hOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOutput, loc); return; /输入通话记录的界面/按“1”开始输入通话信息/按“2”返回主界面void Tel_inf_gui()int m;system(cls);system(color 34);Gotoxy(0,7);printf(tt/*/n);printf(ttt 请选择要进行的操作: n);printf(nttt 确认 t 返回n);printf(tt/*/n);m=getch();switch(m)case 1:Tel_inf(); /输入用户的通话记录break;case 2:Interface (); /返回主界面break;default:Tel_inf_gui(); break;/输入并储存通话信息void Tel_inf()TEL Tel; char Filename30;FILE *fp=NULL;system(cls);system(color 34);printf(请依次输入用户的手机号码,用户所拨打的手机号码,通话的起始时间(如2011/12/12 03:12:34),通话的时长(以秒为单位)。);printf(以“#”为结束标志n);while( ( scanf(%s,Tel.TelNum1) )!=EOF)if( strcmp(Tel.TelNum1,#)=0 )printf(按任意键返回n);getch();Interface ();break;/输入用户的手机号码,用户所拨打的手机号码,通话的起始时间(如2011/12/12 03:12:34),通话的时长(以秒为单位) scanf( %s %s %s %d ,Tel.TelNum2,Tel.Time1,Tel.Time2,&Tel.Duration);strcpy(Filename,adress2);strcat(Filename,Tel.TelNum1);strcat(Filename,adress1);Tel.cost=COST(Tel.Duration);fp=fopen(Filename , a); /打开储存用户通话记录的文件fprintf(fp,%s %s %s %d %fn,Tel.TelNum2,Tel.Time1,Tel.Time2,Tel.Duration,Tel.cost); /将用户的通话信息写入文件中fclose(fp); /计算本次通话所用的费用double COST(int Duration)double cost; /本次通话的费用int duraction1; if( Duration%60=0 )duraction1=(Duration/60);elseduraction1=(Duration/60)+1;cost=0.3*duraction1;return cost;/输出所查月份的详细账单void Detail_Bill()TEL Tel;FILE *fp;char Filename30;char time110;char time210;char telnum12;system(cls);system(color 34); Gotoxy(0,10);printf(tt请输入要查询的号码:);scanf(%s,telnum);strcpy(Filename,adress2);strcat(Filename,telnum);strcat(Filename,adress1);if(fp=fopen(Filename,r) /检查所输入的号码是否有效,若有效则读取信息,若无效则重新输入printf(ntt请输入要查询的月份(如2011/12):); scanf(%s,time1);system(cls); system(color 34);/从文件中读取用户的通话信息,并输出printf(对方号码t 通话起始时间 通话时长(秒) 通话费用n);while( fscanf(fp,%s %s %s %d %lf,Tel.TelNum2,Tel.Time1,Tel.Time2,&Tel.Duration,&Tel.cost)!=EOF )strncpy(time2,Tel.Time1,7);time27=0;if(strcmp(time1,time2)=0)printf(%-15s %s %s %7d %15.2fn,Tel.TelNum2,Tel.Time1,Tel.Time2,Tel.Duration,Tel.cost);fclose(fp);elsesystem(cls); system(color 34);Gotoxy(0,10);printf(tt您所输入的号码不存在,按任意键重新输入n);getch();Detail_Bill();/按任意键返回主界面printf(tt按任意键返回主界面);getch();Interface();/计算并输出所查月份的账单void Bill()TEL Tel;FILE *fp;char Filename30;char time110;char time210;char telnum12;double total=0;system(cls);system(color 34); Gotoxy(0,10);printf(tt请输入要查询的号码:);scanf(%s,telnum);strcpy(Filename,adress2);strcat(Filename,telnum);strcat(Filename,adress1);if(fp=fopen(Filename,r)printf(ntt请输入要查询的月份(如2011/12):);/输入要查询的月份(如2011/12) scanf(%s,time1);system(cls); system(color 34);Gotoxy(0,10);/从文件中读取用户的通话信息while( fscanf(fp,%s %s %s %d %lf,Tel.TelNum2,Tel.Time1,Tel.Time2,&Tel.Duration,&Tel.cost)!=EOF )strncpy(time2,Tel.Time1,7);time27=0;if(strcmp(time1,time2)=0)total+=Tel.cost; /计算所查月份的通话账单/输出所查月份的通话账单printf(tt%s的话费为:%.2f元n,time1,total);fclose(fp);elsesystem(cls); system(color 34); Gotoxy(0,10);printf(tt您所输入的号码无效,按任意键重新输入n);getch();Bill(); /输入的号码无效时重新输入要查询的号码printf(tt按任意键返回主界面);getch();Interface(); /返回主界面/主界面/按“1”进入输入用户通话信息的界面/按“2”计入查询界面/按“0”退出系统void Interface ()int m;system(cls); system(color 34);Gotoxy(0,6);printf(tt/*/n);printf(ttt 请选择要进行的操作: n);printf(nttt 输入用户的通话信息 n);printf(ttt 查询 n);printf(ttt 退出系统 n);printf(tt/*/n);m=getch();switch(m)case 0:break; /退出系统case 1:Tel_inf_gui(); /进入输入用户通话信息的界面break;case 2:Inquires(); /进入查询界面break;default:Interface ();/查询界面/按“1”进行账单查询/按“2”进行详单查询/按“0”返回主界面void Inquires()int m;system(cls); system(color 34);Gotoxy(0,6);printf(tt/*/n);printf(nttt 账单查询 n);printf(ttt 详单查询 n);printf(ttt 返回主界面 n);printf(tt/*/n);m=getch();switch(m)case 0:Interface (); /返回主界面break;case 1:Bill(); /账单查询break;case 2:Detail_Bill(); /详单查询break;default:Inquires(); void main()Interface ();#include#include#include#includetypedef structchar TelNum112; /用户的号码char TelNum212; /用户所拨打的号码char Time111; /拨打电话的起始时间的年、月、日(如2012/12/12)char Time29; /拨打电话的起始时间int Duration; /通话所用的时间(秒)double cost; /本次通话的话费TEL;#define adress1 .txt#define adress2 通话信息/double COST(int Duration); /计算呢本次通话所用的费用void Tel_inf(); /输入并储存通话信息void Detail_Bill(); /通话详单查询void Interface (); /主界面void Tel_inf_gui(); /输入通话信息的界面void Inquires(); /查询界面void Gotoxy(int x, int y); /光标函数void Bill(); /账单查询void Gotoxy(int x, int y) /定位到第y行的第x列 int xx=0x0b; HANDLE hOutput; COORD loc; loc.X = x; loc.Y=y; hOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOutput, loc); return; /输入通话记录的界面/按“1”开始输入通话信息/按“2”返回主界面void Tel_inf_gui()int m;system(cls);system(color 34);Gotoxy(0,7);printf(tt/*/n);printf(ttt 请选择要进行的操作: n);printf(nttt 确认 t 返回n);printf(tt/*/n);m=getch();switch(m)case 1:Tel_inf(); /输入用户的通话记录break;case 2:Interface (); /返回主界面break;default:Tel_inf_gui(); break;/输入并储存通话信息void Tel_inf()TEL Tel; char Filename30;FILE *fp=NULL;system(cls);system(color 34);printf(请依次输入用户的手机号码,用户所拨打的手机号码,通话的起始时间(如2011/12/12 03:12:34),通话的时长(以秒为单位)。);printf(以“#”为结束标志n);while( ( scanf(%s,Tel.TelNum1) )!=EOF)if( strcmp(Tel.TelNum1,#)=0 )printf(按任意键返回n);getch();Interface ();break;/输入用户的手机号码,用户所拨打的手机号码,通话的起始时间(如2011/12/12 03:12:34),通话的时长(以秒为单位) scanf( %s %s %s %d ,Tel.TelNum2,Tel.Time1,Tel.Time2,&Tel.Duration);strcpy(Filename,adress2);strcat(Filename,Tel.TelNum1);strcat(Filename,adress1);Tel.cost=COST(Tel.Duration);fp=fopen(Filename , a); /打开储存用户通话记录的文件fprintf(fp,%s %s %s %d %fn,Tel.TelNum2,Tel.Time1,Tel.Time2,Tel.Duration,Tel.cost); /将用户的通话信息写入文件中fclose(fp); /计算本次通话所用的费用double COST(int Duration)double cost; /本次通话的费用int duraction1; if( Duration%60=0 )duraction1=(Duration/60);elseduraction1=(Duration/60)+1;cost=0.3*duraction1;return cost;/输出所查月份的详细账单void Detail_Bill()TEL Tel;FILE *fp;char Filename30;char time110;char time210;char telnum12;system(cls);system(color 34); Gotoxy(0,10);printf(tt请输入要查询的号码:);scanf(%s,telnum);strcpy(Filename,adress2);strcat(Filename,telnum);strcat(Filename,adress1);if(fp=fopen(Filename,r) /检查所输入的号码是否有效,若有效则读取信息,若无效则重新输入printf(ntt请输入要查询的月份(如2011/12):); scanf(%s,time1);system(cls); system(color 34);/从文件中读取用户的通话信息,并输出printf(对方号码t 通话起始时间 通话时长(秒) 通话费用n);while( fscanf(fp,%s %s %s %d %lf,Tel.TelNum2,Tel.Time1,Tel.Time2,&Tel.Duration,&Tel.cost)!=EOF )strncpy(time2,Tel.Time1,7);time27=0;if(strcmp(time1,time2)=0)printf(%-15s %s %s %7d %15.2fn,Tel.TelNum2,Tel.Time1,Tel.Time2,Tel.Duration,Tel.cost);fclose(fp);elsesystem(cls); system(color 34);Gotoxy(0,10);printf(tt您所输入的号码不存在,按任意键重新输入n);getch();Detail_Bill();/按任意键返回主界面printf(tt按任意键返回主界面);getch();Interface();/计算并输出所查月份的账单void Bill()TEL Tel;FILE *fp;char Filename30;char time110;char time210;char telnum12;double total=0;system(cls);system(color 34); Gotoxy(0,10);printf(tt请输入要查询的号码:);scanf(%s,telnum);strcpy(Filename,adress2);strcat(Filename,telnum);strcat(Filename,adress1);if(fp=fopen(Filename,r)printf(ntt请输入要查询的月份(如2011/12):);/输入要查询的月份(如2011/12) scanf(%s,time1);system(cls); system(color 34);Gotoxy(0,10);/从文件中读取用户的通话信息while( fscanf(fp,%s %s %s %d %lf,Tel.TelNum2,Tel.Time1,Tel.Time2,&Tel.Duration,&Tel.cost)!=EOF )strncpy(time2,Tel.Time1,7);time27=0;if(strcmp(time1,time2)=0)total+=Tel.cost; /计算所查月份的通话账单/输出所查月份的通话账单printf(tt%s的话费为:%.2f元n,time1,total);fclose(fp);elsesystem(cls); system(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论