一:
#include <iostream> #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 // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) // 补足代码 // 。。。 likes.push_back("book"); likes.push_back("music"); likes.push_back("anime"); cout << "-----I like these-----" << endl; // 调用子函数输出vector<string>数组对象likes的元素值 // 补足代码 // 。。。 output1(likes); // 为vector<string>数组对象dislikes添加元素值 // 补足代码 // 。。。 dislikes.push_back("film"); dislikes.push_back("sportsman"); dislikes.push_back("paintings"); cout << "-----I dislike these-----" << endl; // 调用子函数输出vector<string>数组对象dislikes的元素值 // 补足代码 // 。。。 output2(dislikes); // 交换vector<string>对象likes和dislikes的元素值 // 补足代码 // 。。。 likes.swap(dislikes); cout << "-----I likes these-----" << endl; // 调用子函数输出vector<string>数组对象likes的元素值 // 补足代码 // 。。。 output1(likes); cout << "-----I dislikes these-----" << endl; // 调用子函数输出vector<string>数组对象dislikes的元素值 // 补足代码 // 。。。 output2(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) { vector<string>::iterator it; for(it=v.begin() ;it!=v.end() ;it++) cout<<*it<<" "; cout<<endl; // 补足程序 // 。。。 }
二:
#include "stdafx.h" #include<iostream> using namespace std; int main() { int *p; *p = 9;//这里不能直接给地址赋值,可以改为:int i=9; p=&i; cout << "The value at p:" << *p; return 0; }
#include "stdafx.h" #include<iostream> using namespace std; int fn1() { int *p = new int(5);//改为int *p; p=new int (5); return *p;//这里没有delete } int main() { int a = fn1(); cout << "the value of a is:" << a; return 0; }
三:
matrix.h:
#ifndef MATRIX_H #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); //返回矩阵第i行第j列元素的引用 inline float element(int i, int j) const;// 返回矩阵第i行第j列元素的值 void setElement(int i, int j, int value); //设置矩阵第i行第j列元素值为value inline int getLines() const; //返回矩阵行数 inline int getCols() const; //返回矩阵列数 private: int lines; // 矩阵行数 int cols; // 矩阵列数 float *p; // 指向存放矩阵数据的内存块的首地址 }; #endif
matrix.cpp:
#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(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]; } Matrix::~Matrix(){ delete[] p; } void Matrix::setMatrix(const float *pvalue){ for(i=0;i<lines*cols;i++) p[i]=pvalue[i]; } void Matrix::printMatrix() const{ for(i=0;i<lines;i++){ for(j=0;j<cols;j++) cout<<p[i*lines+j]<<" "; cout<<endl; } } inline float Matrix::element(int i,int j) const{ cout<<p[(i-1)*lines+j-1]<<endl; } void Matrix::setElement(int i,int j,int value){ p[(i-1)*lines+j-1]=value; } inline int Matrix::getLines() const{ cout<<lines<<endl; } inline int Matrix::getCols() const{ cout<<cols<<endl; }
main.cpp:
#include<iostream> #include"matrix.h" using namespace std; int main() { int l,c,i,j,n; cout<<"输入行数和列数"<<endl; cin>>l>>c; float a[l*c]; cout<<"初始化矩阵"<<endl; for(i=0;i<l*c;i++) cin>>a[i]; Matrix A(l,c); A.setMatrix(a); cout<<"输出矩阵"<<endl; A.printMatrix(); cout<<"输入行数和列数输出该数"<<endl; cin>>i>>j; A.element(i,j); cout<<"改变第几行第几列的数"<<endl; cin>>n; A.setElement (i,j,n); cout<<"输出这个数"<<endl; A.element(i,j); cout<<"返回矩阵行数与列数"<<endl; A.getLines() ; A.getCols() ; return 0; }
运行结果显示是这个,我也不知道该怎么办
四:期中考试
二:
user.h
#pragma once #ifndef USER_H #define USER_H #include<string> using namespace std; class user { private: int id; string name; string password; static int CurrentID; static int count; public: user(string n,string p="111111"); void print(); void print2(); void change(); void getCurrentID(); }; #endif
user.cpp
#include"user.h" #include<iostream> #include<string> using namespace std; int user::CurrentID=999; int user::count=0; user::user(string m1,string m2) { id=CurrentID++; name=m1; password=m2; } void user::print(){ cout<<id<<" "<<name<<" "<<password<<endl; } void user::change(){ cout<<"请输入原密码"<<endl; string mm2,mm3; cin>>mm2; if(mm2==password){ cout<<"请输入修改的密码"<<endl; cin>>mm3; password=mm3; --CurrentID; } else{ cout<<"密码错误,请从新输入"<<endl; ++count; if(count==3){ count=0; cout<<"请稍后再试"<<endl; exit(0); } change(); } } void user::print2(){ cout<<CurrentID<<endl; cout<<id<<" "<<name<<" "<<password<<endl; }
main3.cpp
#include <iostream> #include"user.h" #include <string> using namespace std; int main() { string n,p; cout<<"请输入用户名和密码"<<endl; cin>>n>>p; user user(n,p); user.print(); user.change(); cout<<"当前ID:"; user.print2(); return 0; }
第三题在我的随笔里,麻烦找一下