⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 电信计费.cpp

📁 电信计费程序 电信计费程序
💻 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 + -