实验七——I/O

编写一个程序能实现复数的输入/输出与复数的加减运算

要求先输入两组复数,然后对两复数分别进行加减运算

并输出原来两组复数及运算后复数的值


有两种输出方式,一种是调用函数来完成,一种是加上限定符来完成

两种都可以实现一样的效果

#include<iostream>
#include<iomanip>
using namespace std;

class plural{
  public:
    int x1;
    int y1;
    int x2;
    int y2;
    
    plural(){
      x1=0;
      x2=0;
      y1=0;
      y2=0;
    }
  
  void input(){
    clog<<"请输入第一个数的实部和虚部"<<endl;
    cin>>x1>>y1;
    clog<<"请输入第二个数的实部和虚部"<<endl;
    cin>>x2>>y2;
  }
  
  int countx(){
    int x;
    x=x1+x2;
    return x;	
  }
  
  int county(){
    int y;
    y=y1+y2;
    return y;
  }
  
  void output(){
    if(county()!=0){
      cout<<"第一个数:"<<x1<<setiosflags(ios::showpos)<<y1<<"i"<<endl;
      cout<<resetiosflags(ios::showpos)<<"第二个数:"<<x2<<setiosflags(ios::showpos)<<y2<<"i"<<endl;
      cout<<resetiosflags(ios::showpos)<<"两数相加后"<<countx()<<setiosflags(ios::showpos)<<county()<<"i"<<endl;
    } else{
      cout<<"第一个数:"<<x1<<setiosflags(ios::showpos)<<y1<<"i"<<endl;
      cout<<resetiosflags(ios::showpos)<<"第二个数:"<<x2<<setiosflags(ios::showpos)<<y2<<"i"<<endl;
      cout<<resetiosflags(ios::showpos)<<"两数相加后等于"<<countx()<<endl;
    }
  }
} ;

int main(){
  plural a;
  a.input();
  a.countx();
  a.county();
  a.output();
  return 0;
}

编写程序,从键盘输入一个字符串,判断字符串的长度

然后以字符串的长度的两倍作为域宽打印出该字符

判断长度需要用到length()函数

长度两倍作为域宽只要2*a.length()就可以了

#include<iostream>
#include<cstring>
#include<iomanip>
using namespace std;

int main(){
  string str;
  cout<<"请输入字符串"<<endl;
  cin>>str;
  cout<<"字符串的长度为"<<str.length()<<endl;
  cout.width(2*str.length());
  cout.fill('*');
  cout<<str<<endl;
  return 0;
}

编一个程序拷贝文本文件,在拷贝文件过程中,将所有小写改成大写

文件中的数据可以以行读取

读取之后进行一次遍历

因为小写字母ascll码大于97小于122

和大写字母ascll码相差32

所以判断在这个范围内直接减32

就能把小写换成大写

PS:里面的test.txt需要事先建立好

和exe文件放在同一个文件夹

#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;

int main(){
  int i=0; 
  char data[100];
  ifstream openfile;
  openfile.open("test.txt",ios::out|ios::in);
  openfile.getline(data,100);
  cout<<"检测到以下数据"<<endl;
  cout<<data<<endl;
  for(i=0;i<100;i++){
    if(data[i]>=97 && data[i]<=122){
      data[i] = data[i] - 32;
    }
  }
  cout<<"替换大小写后数据如下"<<endl;
  cout<<data<<endl;
  openfile.close();
  
  ofstream outfile;
  outfile.open("copy.txt",ios::out|ios::trunc);
  outfile<<data<<endl;
  cout<<"复制成功,可打开文件检查"<<endl;
  outfile.close();
  return 0;
}

编写程序,实现两个文本文件的内容连接成一个文件

分别读取两个文件的内容存放在两个变量里

再依次输入到第三个文件里

test1和test2也是要事先建立好的

#include<iostream>
#include<fstream>
using namespace std;

int main(){
  
  char data1[100];
  char data2[100];
  
  ifstream openfile;
  openfile.open("test1.txt",ios::out|ios::in);
  openfile.getline(data1,100);
  openfile.close();

  openfile.open("test2.txt",ios::out|ios::in);
  openfile.getline(data2,100);
  openfile.close();
  
  ofstream outfile;
  outfile.open("mix.txt",ios::out|ios::trunc);
  outfile<<data1; 
  outfile<<data2<<endl;
  cout<<"合并成功,可打开文件检查"<<endl;
  outfile.close();
  return 0;
  
}

发表评论

您的电子邮箱地址不会被公开。