📄 电信计费.cpp
字号:
#include<fstream.h>
#include<string.h>
#include<iostream.h>
const MAX=100;
#define long_p 0.12//元/每分
#define short_p 0.06//元/每分
#define noline_p 0.6//元/每分
class charge
{
public:
char number[11];
int time;
char code[6];
charge()//构造函数
{
strcpy(number,"00000000");
time=0;
strcpy(code,"0000");
}
float see()//计费函数
{
float price;int a=(int)((time-1)/60+1);
if(strcmp(code,"025")==0)//短途计费
{ if (time!=0)
price=(float)short_p*a;//(int)((time-1)/60+1) ;
else price=0;
return price;
}
if(strcmp(code,"emerger")==0)
{ price=0;
return price;
}
if(strcmp(code,"noline")==0)//无线计费
{ if (time!=0)
price=(float)noline_p*a;//(int)((time-1)/60+1) ;
else price=0;
return price;
}
else//长途计费
{ price=(float)long_p*a;//(int)((time-1)/60+1);
return price;
}
}
};
int main()
{ charge user[MAX];
float money[MAX];
int i=0,count=0;
char ch;
float cost=0;
cout<<"**************************************************************************"<<endl;
cout<<" 欢迎使用电话记费系统 "<<endl;
cout<<" 计费按分记时 "<<endl;
cout<<" 短途计费:0.06元/分钟,长途计费0.12元/分钟,无线计费:0.6元每/分 "<<endl;
cout<<"**************************************************************************"<<endl;
cout<<"按0返回,按其它号码查询"<<endl;
cout<<"请按键选择..."<<endl;
cin>>ch;
for (;ch!='0';) //查询过程
{ cout<<"电话号码为:";
cin>>user[i].number;
cout<<"时间为(秒/second:)";
cin>>user[i].time;
cout<<"区号为:";
cin>>user[i].code;
money[i]=user[i].see();
cout<<"第"<<i+1<<"笔费用为:";
cout<<user[i].see()<<"元"<<endl;
i++;
count++;
cout<<"********************"<<endl;
cout<<"想继续查询请按键,按0表示返回..."<<endl;
cin>>ch;
if(ch=='0')
break;
} //查询过程结束
for(i=0;i<count;i++)
cost=cost+money[i];
cout<<"总费用为:"<<endl;
cout<<cost<<" 元"<<endl;
//下面建立数据文件
ofstream fout1("D:\\源文件old.txt");
{//源数据文件
if(!fout1)
{cout<<"cannot open output file\n";
return 1;
}
for(i=0;i<count;i++)
{
fout1<<"区号 "<<user[i].code<<endl;
fout1<<"号码 "<<user[i].number<<endl;
fout1<<"通话时间为:"<<user[i].time<<"秒钟"<<endl<<endl;
}
}
ofstream fout2("D:\\长途文件new1.txt");
{//长途文件
if(!fout2)
{
cout<<"cannot open output file\n";
return 1;
}
for(i=0;i<count;i++)
{
if(strcmp(user[i].code,"025")!=0&& strcmp(user[i].code,"noline")!=0&& strcmp(user[i].code,"emerger")!=0)
//判断是否是长途区号
{ fout2<<"长途号码"<<user[i].number<<endl;}
}
fout2<<"长途单费为:"<<long_p<<endl<<endl;
}
ofstream fout3("D:\\本地文件new2.txt");//短途文件
{
if(!fout3)
{
cout<<"cannot open output file\n";
return 1;
}
for(i=0;i<count;i++)
{ if (strcmp(user[i].code,"025")==0)
fout3<<"短途号码为:"<<user[i].number<<endl;}
fout3<<"短途单费为:"<<short_p<<endl;}
ofstream fout4("D:\\无线文件new3.txt");//无线文件
{
if(!fout4)
{
cout<<"cannot open output file\n";
return 1;
}
for(i=0;i<count;i++)
{if (strcmp(user[i].code,"noline")==0)
fout4<<"无线号码为:"<<user[i].number<<endl;}
fout4<<"无线单费为:"<<noline_p<<endl;
}
ofstream fout5("D:\\累计费用文件achage.txt");//累计费用文件
{
if(!fout5)
{
cout<<"cannot open output file\n";
return 1;
}
fout5<<"总费用为:"<<cost<<"元"<<endl;
}
fout1.close();
fout2.close();
fout3.close();
fout4.close();
fout5.close();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -