实验五

#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
    likes.push_back("favourite book ");
    likes.push_back("favourite music");
    likes.push_back("favourite film");
    likes.push_back("favourite paintings");
    likes.push_back("favourite anime");
    likes.push_back("favourite sport");
    likes.push_back("favourite sportsman");
    
    dislikes.push_back("dislike book ");
    dislikes.push_back("dislike music");
    dislikes.push_back("dislike film");
    dislikes.push_back("dislike paintings");
    dislikes.push_back("dislike anime");
    dislikes.push_back("dislike sport");
    dislikes.push_back("dislike sportsman");
    // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) 
    cout << "-----I like these-----" << endl;
    output1(likes);
    // 调用子函数输出vector<string>数组对象likes的元素值 

    // 为vector<string>数组对象dislikes添加元素值 
    
    cout << "-----I dislike these-----" << endl;
    output1(dislikes);
    // 调用子函数输出vector<string>数组对象dislikes的元素值 
    
    
    // 交换vector<string>对象likes和dislikes的元素值 
    likes.swap(dislikes);
    
    
    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) {
    int i;
    for(i=0;i<v.size();i++){cout<<v[i]<<endl;}
    cout<<endl;
}

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

 

6-17

指针应该先有地址才可以被赋值,所以改为如下:

#include<iostream>
using namespace std;
int main()
{
    int i,*p=&i;
    i=9;
    cout<<"The value at p:"<<*p;
    return 0;
}

 6-18

在分配内存使用完后要释放,

#include<iostream>
using namespace std;
int fn1();
int main()
{
    int a=fn1();
    cout<<"the value of a is:"<<a;
 } 
 
 int fn1(){
     int *p=new int (5);
     return *p;
     delete p;
 }

期中:

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

class Dice{
    public:
        Dice(int n);
        int cast();
    private:
        int sides;
}; 

Dice::Dice(int n):sides(n){
}

int Dice::cast(){
    return rand()%sides+1;
}

int main()
{
    int amount,number;
    cout<<"输入班级的人数与学号:";
    cin>>amount>>number;
    Dice A(amount);
    int i,j;
    double k;
    for(i=1;i<=500;i++){
        if(A.cast()==amount)
        j++;
    }
    k=(double)j/500;
    cout<<"选到"<<number<<"学号的概率是:"<<k<<endl;
    return 0; 
}

 

 

 

3

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<<endl;
    cout<<"书名:"<<title<<endl;
    cout<<"定价:"<<price<<endl; 
}

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

main.cpp

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

int main()
{
    // 定义一个vector<Book>类对象
    vector<Book> books;
     
    string isbn, title;
    float price;
    do{
        cout<<"输入图书的出版编号,书名,定价:(输出请输入价格为0)"; 
        cin>>isbn>>title>>price;
        Book x(isbn,title,price);
        books.push_back(x);
     }while(price!=0);
    // 录入图书信息,构造图书对象,并添加到前面定义的vector<Book>类对象中
    // 循环录入,直到按下Ctrl+Z时为止 (也可以自行定义录入结束方式) 
    
    
    
    // 输出入库所有图书信息
    int i;
    for(i=0;i<books.size()-1;i++){
        books[i].print();
    }
    return 0;
}

posted @ 2018-05-23 22:10  喵卖皮  阅读(87)  评论(0编辑  收藏  举报