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

📄 3.1.cpp

📁 ENJOY YOURSELF! ENJOY YOURSELF!
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//////////////////////////////////////////////////////////////////
//实践2:电话终端                                               //  
//功能: 1.外呼功能:                                           //
//         两个终端,一个主叫(XXX),一个被叫(YYY),主叫呼叫后  //
//         显示“呼叫YYY” ,被叫显示“主叫XXX来电“             //
//       2.发短信功能:                                         //
//         主叫XXX使用手机,被叫YYY使用手机,输入被叫号和短信   //
//         内容(70字,多了则分开)则主叫收到“发送短信给ZZZ成  //
//         功“,被叫显示“主叫XXX发送短信给ZZZ:内容”         //
//       3.手机终端有电话本功能:                               //
//         电话本可支持100条记录,每条有姓名电话号码            // 
//         可添加删除和修改记录                                 //
//         可通过电话号码本直接发送短信或者打电话               // 
//制作日期:2006/9/9                                            //
//制作人:蔺皓                                                  //
//////////////////////////////////////////////////////////////////

#include <iostream>
#include <list>
#include <string>
#include <vector>
#include <fstream>
#include <iomanip>
#include "windows.h"
#define length 20
#define lengthm 140
using namespace std;

class FixPhone
{
      public:
             void inputnumber (char innumber[length])
             {
                     strcpy(number,innumber);
             }
             char* getnumber ()
             {
                     return number;
             }
             //void scantxt();
             void call();
      private:
             char number[length];
};

class CellPhone:public FixPhone
{
      public:
             void phoneBook();
             void message();
};

class Mid
{
      public:
             char fromNumber[length];
             char toNumber[length];
             char shortmessage[lengthm];
};

void FixPhone::call()
{
      Mid me;
      char callNumber[length];
      cout<<"请输入对方的电话号码:"<<endl;
      cin>>callNumber;
      strcpy(me.toNumber,callNumber);
      strcpy(me.fromNumber,getnumber());
      strcpy(me.shortmessage,"$call$");
      ofstream infile("介质.txt",ios_base::out);
      infile<<me.toNumber<<setw(15)<<me.fromNumber<<setw(140)<<me.shortmessage<<endl;
      cout<<"呼叫"<<me.toNumber<<endl;
      infile.close();
}

void CellPhone::message()
{
      Mid me;
      char newmessage[lengthm];
      char callNumber[length];
      cout<<"请输入对方的电话号码:"<<endl;
      cin>>callNumber;
      cout<<"请输入编辑的短消息:"<<endl; 
      cin>>newmessage;
      strcpy(me.shortmessage,newmessage);
      strcpy(me.toNumber,callNumber);
      strcpy(me.fromNumber,getnumber()); 
      ofstream infile("介质.txt",ios_base::out);
      infile<<me.toNumber<<setw(15)<<me.fromNumber<<setw(140)<<me.shortmessage<<endl;
      infile.close(); 
}            

void scantxt();
char mynumber[length];    
main()
{
      cout<<"请输入该机的机型:(1-手机,2-固定电话,其它-退出):(正整数)"<<endl;
      int choice,key;
      CellPhone myCellPhone;
      FixPhone myFixPhone;
      cin>>choice;
      cout<<"欢迎使用终端,请输入确定本终端的号码:"<<endl;
      cin>>mynumber;
      DWORD ThreadID = 1;
      HANDLE hRead = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)scantxt,NULL,0,&ThreadID);
      switch (choice)
      {
             case 1:
                   myCellPhone.inputnumber(mynumber);
                   cout<<mynumber<<"欢迎使用,请输入操作:(正整数)"<<endl;
                   cout<<"1-拨号\n2-发送短信\n3-进入电话本\n0-关机\n";
                   cin>>key;
                   while (key!=0)
                   {
                          switch (key)
                          {
                                 case 1:
                                      myCellPhone.call();
                                      break;
                                 case 2:
                                      myCellPhone.message();
                                      break;
                                 case 3:
                                      myCellPhone.phoneBook();
                                      break;
                                 case 0:
                                      cout<<"谢谢使用,再见!"<<endl;
                                      break;
                                 default:
                                      cout<<"无效输入,请重新输入:"<<endl;
                                      break;
                          }
                          if(key!=0)
                          {
                                 cout<<"请继续输入操作:(正整数)"<<endl;
                                 cout<<"1-拨号\n2-发送短信\n3-进入电话本\n0-关机\n";
                                 cin>>key;
                          }
                   }
                   break;
             case 2:
                   myFixPhone.inputnumber(mynumber);
                   cout<<mynumber<<"欢迎使用,请输入操作:(正整数)"<<endl;
                   cout<<"1-拨号\n0-关机\n";
                   cin>>key;
                   while (key!=0)
                   {
                          switch (key)
                          {
                                 case 1:
                                      myFixPhone.call();
                                      break;
                                 case 0:
                                      cout<<"谢谢使用,再见!"<<endl;
                                      break;
                                 default:
                                      cout<<"无效输入,请重新输入:"<<endl;
                                      break;
                          }
                          if(key!=0)
                          {
                                 cout<<"请继续输入操作:(正整数)"<<endl;
                                 cout<<"1-拨号\n0-关机\n";
                                 cin>>key;
                          }
                   }
                   break;
             default:
                   cout<<"谢谢使用,再见!"<<endl;
                   break;
      }
      system("PAUSE");
      return 0;
}

void scantxt()
{
     Mid me,back;
     while (1)
     {
           ifstream infile("介质.txt",ios_base::in);
           infile>>me.toNumber>>me.fromNumber>>me.shortmessage;
           if(strcmp(me.toNumber,mynumber)==0)
                 {
                        if(strcmp(me.shortmessage,"$call$")==0)
                        {
                               cout<<"主叫"<<me.fromNumber<<"来电"<<endl;
                               strcpy(me.toNumber,"");
                               strcpy(me.fromNumber,"");
                               strcpy(me.shortmessage,"");
                               ofstream infile("介质.txt",ios_base::out); 
                               infile<<me.toNumber<<setw(15)<<me.fromNumber<<setw(15)<<me.shortmessage<<endl;                              
                        }
                        else
                        {
                               if(strcmp(me.shortmessage,"$message$")==0)
                               {
                                      cout<<"发送短信给"<<me.fromNumber<<"成功"<<endl;
                                      strcpy(me.toNumber,"");
                                      strcpy(me.fromNumber,"");
                                      strcpy(me.shortmessage,"");
                                      ofstream infile("介质.txt",ios_base::out); 
                                      infile<<me.toNumber<<setw(15)<<me.fromNumber<<setw(15)<<me.shortmessage<<endl; 
                               }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -