码迷,mamicode.com
首页 > 编程语言 > 详细

C++实验五

时间:2018-05-23 18:12:49      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:ons   tor   lease   getline   style   构造   程序   const   get   

#include <iostream>
#include<iterator>
#include <vector>
#include <string>
using namespace std;

// 函数声明 
void output1(vector<string> &);  
void output2(vector<string> &);  

int main()
{
    vector<string>likes, dislikes; // 创建vector<string>对象likes和dislikes
    
    likes.push_back("《水浒传》");
    likes.push_back("《烟花易冷》");
    likes.push_back("《复仇者联盟》");
    likes.push_back("《星空》");
    likes.push_back("none");
    likes.push_back("pingpong");
    likes.push_back("kobe bryant");// 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) 
    // 补足代码 
    // 。。。 
    
    
    cout << "-----I like these-----" << endl;
    output1(likes);// 调用子函数输出vector<string>数组对象likes的元素值 
    // 补足代码
    // 。。。 
    
    
    dislikes.push_back("红楼梦");
    dislikes.push_back("none");
    dislikes.push_back("港囧");
    dislikes.push_back("none");
    dislikes.push_back("running");
    dislikes.push_back("none");// 为vector<string>数组对象dislikes添加元素值 
    // 补足代码 
    // 。。。 
    
    cout << "-----I dislike these-----" << endl;
    output2(dislikes);// 调用子函数输出vector<string>数组对象dislikes的元素值 
    // 补足代码
    // 。。。 
    
    
    string Mid[6];
    for(int i=0;i<6;i++)
    {
        Mid[i]=likes[i];
    }
    for(int i=0;i<6;i++)
    {
        likes[i]=dislikes[i];
    }
    for(int i=0;i<6;i++)
    {
        dislikes[i]=Mid[i];
    }// 交换vector<string>对象likes和dislikes的元素值 
    // 补足代码
    // 。。。 
    
    
    cout << "-----I likes these-----" << endl;
    output1(likes);// 调用子函数输出vector<string>数组对象likes的元素值 
    // 补足代码
    // 。。。 
    
    cout << "-----I dislikes these-----" << endl;
    output2(dislikes);// 调用子函数输出vector<string>数组对象dislikes的元素值 
    // 补足代码
    // 。。。 
        
                        
    return 0;
}


// 函数实现 
// 以下标方式输出vector<string>数组对象v的元素值  
void output1(vector<string> &v) {
    for(int i=0;i<v.size();i++)
    {
        cout<<v[i];
        cout<<endl;
    }
    
    // 补足程序
    // 。。。 
}

// 函数实现
// 以迭代器方式输出vector<string>数组对象v的元素值 
void output2(vector<string> &v) {
    ostream_iterator<string>out_iter(cout,"\n");
    for(vector<string>::iterator i=v.begin();i!=v.end();++i)
    {
        *out_iter++ = *i;
    }
    // 补足程序
    // 。。。 
}

技术分享图片

书6-17、6-18

#include<iostream>
using namespace std;
int main()
{
    int *p;//再定义一个整型变量a; 
    *p=9;//将*p=9,改成p=&a,并且给a赋值9; 
    cout<<"The value at p:"<<*p;
    return 0;
}
#include<iostream>
using namespace std;
int fn1()
{
    int *p=new int (5);
    return *p;//没有用delete;
}
  int main()
  {
      int a=fn1();
      cout<<"the value of a is:"<<a;
    return 0; 
  }

Matrix

#include"matrix.h"
#include<iostream>
using namespace std;
int main()
{
    int n,m,k;
    cout<<"输入一个矩阵的行数和列数:"<<endl;
    cin>>n,m;
    float a[m*n];
    cout<<"输入各行各列的数:"<<endl;
    for(int i=0;i<m*n;i++)
    cin>>a[i];
    Matrix A(n,m);
    A.setMatrix(a);
    cout<<"显示矩阵"<<endl;
    A.printMatrix();
    cout<<"输入所需显示数的下标:"<<endl;
    cin>>n>>m;
    cout<<"目标结果为:"<<endl<<A.element(n,m)<<endl;
    cout<<"输入你想重新设置数的下标:"<<endl;
    cin>>n>>m;
    cout<<"输入新的数值:"<<endl;
    cin>>k;
    A.setElement(n,m,k);
    cout<<"新的矩阵为:"<<endl;
    A.printMatrix();
    cout<<"矩阵的行数是:"<<endl<<A.getLines()<<endl;
    cout<<"矩阵的列数是:"<<endl<<A.getCols()<<endl;
    return 0; 
}
#define MATRIX_H
class Matrix 
{
    public:
        Matrix(int n); // 构造函数,构造一个n*n的矩阵 
        Matrix(int n, int m); // 构造函数,构造一个n*m的矩阵 
        Matrix(const Matrix &X); // 复制构造函数,使用已有的矩阵X构造 
        ~Matrix(); //析构函数 
        void setMatrix(const float *pvalue); // 矩阵赋初值,用pvalue指向的内存块数据为矩阵赋值 
        void printMatrix() const; // 显示矩阵
        inline float &element(int i, int j)
        {
            int a=(i-1)*lines+(j-1);
            float &t= p[a];
            return t;
        } //返回矩阵第i行第j列元素的引用
        inline float element(int i, int j) const
        {
            int a=(i-1)*lines+(j-1);
            float t=p[a];
            return t;
        }// 返回矩阵第i行第j列元素的值 
        void setElement(int i, int j, int value); //设置矩阵第i行第j列元素值为value
        inline int getLines() const
        {
            return lines;
        } //返回矩阵行数 
        inline int  getCols() const
        {
            return cols;
        } //返回矩阵列数 
    private:
        int lines;    // 矩阵行数
        int cols;      // 矩阵列数 
        float *p;  // 指向存放矩阵数据的内存块的首地址
};
#endif
#include<iostream>
#include"matrix.h"
using namespace std;
int i,j;
Matrix::Matrix(int n):lines(n),cols(n)
{p=new float[lines*cols];}

Matrix::Matrix(int n,int m):lines(n),cols(m)
{p=new float[lines*cols];}

Matrix::~Matrix()
{
    delete[] p;
}

void Matrix::setMatrix(const float *pvalues)
{
    for(i=0;i<lines*cols;i++)
    p[i]=pvalues[i];
}

void Matrix::printMatrix()const
{
    for(i=0;i<lines;i++)
    {
    for(j=0;j<cols;j++)
    cout<<p[i*lines+j]<<" ";
    cout<<endl;
    }
}

Matrix::Matrix(const Matrix &x):lines(x.lines),cols(x.cols)
{
    p=new float[lines*cols];
    for(i=0;i<lines*cols;i++)
    p[i]=x.p[i];
}

void Matrix::setElement(int i, int j, int value)
{
    element(i,j)=value;//p[(i-1)*lines+j-1]=value;
}

技术分享图片

期中考试

#include <iostream>
#include"user.h"
#include <string>
using namespace std;
int main()
{
    int m,n,k;
    string name,password;
    cout<<"请输入用户名:"<<endl;
    cin>>name;
    cout<<"请输入密码:"<<endl;
    cin>>password;
    User a(name,password);
    a.Print();
    char key;
    cout<<"按c可以修改密码:"<<endl;
    cin>>key;
    if(key==c)
    a.Change();
    cout<<"当前用户ID为:";
    a.getCurrentID();
    a.Print();
    return 0;
}
#ifndef USER_H
#define USER_H
#include<iostream>
#include<string>
using namespace std;
class User
{
    public:
        User(string a,string b);
        void Print();
        void Change();
        void getCurrentID();
        int currentID();
    private:
        string name;
        int id;
        int CurrentID;
        string password;
        
};
#endif
#include<iostream>
#include"user.h" 
#include<string>
using namespace std;

User::User(string a,string b):name(a),password(b)
{
    int static CurrentID=999;
    id=++CurrentID;
}

void User::Print()
{
    cout<<"id:"<<id<<endl;
    cout<<"用户名:"<<name<<endl;
    cout<<"密码:"<<password<<endl;
}
void User::Change()
{
    string p;
    cout<<"请输入旧密码:"<<endl; 
    cin>>p;
    while(p!=password)
    {
    cout<<"please try agian!"<<endl;
    cin>>p;
    }
    cout<<"请输入新密码:"<<endl;
    cin>>p;
    password=p;
    cout << "修改成功,当前密码为:" << p << endl;
}
void User::getCurrentID()
{
    cout<<id<<endl;
}

技术分享图片

C++实验五

标签:ons   tor   lease   getline   style   构造   程序   const   get   

原文地址:https://www.cnblogs.com/shenleideblog/p/9077897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!