实验5

ex3

#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("English");
    likes.push_back("Your Name");
    likes.push_back("milk");
    likes.push_back("football");
    cout << "-----I like these-----" << endl;
    // 调用子函数输出vector<string>数组对象likes的元素值 
    output1(likes);
    // 为vector<string>数组对象dislikes添加元素值 
    dislikes.push_back("math");
    dislikes.push_back("War and peace");
    dislikes.push_back("icecream");
    dislikes.push_back("basketball");
    cout << "-----I dislike these-----" << endl;
    // 调用子函数输出vector<string>数组对象dislikes的元素值 
    output1(dislikes);
    // 交换vector<string>对象likes和dislikes的元素值 
    for(int i=0;i<=likes.size();i++)
    {
        likes.swap(dislikes);
    }
    cout<<"swap"<<endl;
    cout << "-----I likes these-----" << endl;
    // 调用子函数输出vector<string>数组对象likes的元素值 
    output2(likes);
    cout << "-----I dislikes these-----" << endl;
    // 调用子函数输出vector<string>数组对象dislikes的元素值 
    output2(dislikes);                
    return 0;
}

// 以下标方式输出vector<string>数组对象v的元素值  
void output1(vector<string> &v) {
    for(int j=0;j<v.size();j++)
    {
        cout<<v[j]<<", ";
    }
    cout<<endl;
};

// 以迭代器方式输出vector<string>数组对象v的元素值 
void output2(vector<string> &v) {
    vector<string>::iterator b;
    for(b=v.begin();b<v.end();++b)
    {
        cout<<*b<<", ";
    }
    cout<<endl;
};

6-17

指针定义和赋值同时进行

#include<iostream>
using namespace std;
int main()
{
    int a=9, &p=a;
    //指针定义时应先指向一个值
    cout<<"The value at p:"<<p;
    return 0;
}

6-18

#include<iostream>
using namespace std;
int fnl()
{
    int *p=new int (5);
    //申请了动态内存 
    return *p;
    //释放分配的动态内存 
    delete p;
}
int main()
{
    int a=fnl();
    cout<<"the value of a is:"<<a;
    return 0;
}

期中1

#include<iostream>
#include<cstdlib>
#include<ctime> 
using namespace std;

class Dice{
    public:
        Dice(int a){
            sides=a;
        }
        int cast(){
            srand(time(NULL));
            int b[500]; int me=0;
            for(int i=0;i<500;i++)
            {
                int num=rand() %sides+1;
                if(num==36){me++;}
                b[i]=num;
            }
            for(int i=0;i<500;i++)
            {
                cout<<b[i]<<" ";
            }
            cout<<"被抽中"<<me<<""<<endl;
            return me;
        }
    private:
        int sides;
};


int main()
{
    int number;
    cin>>number;
    Dice a(number);
    float result=a.cast();
    cout<<"概率为"<<result<<"/500";
}

期中3

book.h

#ifndef BOOK_H
#define BOOK_H

#include <string>
using std::string;

class Book {
    public:
        Book(string isbnX, string titleX, float priceX);  //构造函数  
        void print(); // 打印图书信息 
    private:
        string isbn;
        string title;
        float price;
};
#endif

book.cpp

#include "book.h"
#include <iostream> 
#include <string>
using namespace std;

// 构造函数
// 补足程序 
Book::Book(string isbnX, string titleX, float priceX){
    isbn=isbnX;
    title=titleX;
    price=priceX;
}
// 打印图书信息
// 补足程序 
// ...
void Book::print(){
        cout<<isbn<<" "<<title<<" "<<price<<" "<<endl;
}

main.cpp

#include "book.h"
#include <vector>
#include <iostream>
using namespace std;

int main()
{
    // 定义一个vector<Book>类对象
    // 补足程序
    vector<Book> books;

    string isbn, title;
    float price;
    
    // 录入图书信息,构造图书对象,并添加到前面定义的vector<Book>类对象中
    // 循环录入,直到按下Ctrl+Z时为止 (也可以自行定义录入结束方式) 
    // 补足程序
    while(cin>>isbn>>title>>price){
        Book a(isbn,title,price);
        books.push_back(a);
    }
    
    // 输出入库所有图书信息
    // 补足程序
    cout<<"输出书本信息如下:"<<endl;
    for(int i=0;i<books.size();i++)
    {
        books[i].print();
    }
    
    
    return 0;
}

动态矩阵和期中2有点难不会写。。。

posted @ 2018-05-23 22:14  krousar  阅读(81)  评论(0编辑  收藏  举报