多余的话我也不说了,直接上题目吧,迭代器这些天里也抽不出时间来学;所以output2的输出方式暂时空着,等以后会了再补上 =_=!
实验内容1:
//ex5.cpp
#include
#include
#include
using namespace std;
// 函数声明
void output1(vector &);
void output2(vector &);
int main()
{
vectorlikes, dislikes; // 创建vector对象likes和dislikes
// 为vector数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc)
string l,d;
while(cin>>l)
{
if(l!="没了")
{
likes.push_back(l);
}
else if(l=="没了")
{
break;
}
}
cout << "-----I like these-----" << endl;
// 调用子函数输出vector数组对象likes的元素值
output1(likes);
// 为vector数组对象dislikes添加元素值
while(cin>>d)
{
if(d!="没了")
{
dislikes.push_back(d);
}
else if(d=="没了")
{
break;
}
}
cout << "-----I dislike these-----" << endl;
// 调用子函数输出vector数组对象dislikes的元素值
output1(dislikes);
// 交换vector对象likes和dislikes的元素值
likes.swap(dislikes);
cout<数组对象likes的元素值
output1(likes);
cout << "-----I dislikes these-----" << endl;
// 调用子函数输出vector数组对象dislikes的元素值
output1(dislikes);
return 0;
}
// 函数实现
// 以下标方式输出vector数组对象v的元素值
void output1(vector &v) {
for(int i=0;i数组对象v的元素值
void output2(vector &v) {
}
运行结果如下:
实验内容2
结果如下:
//6-17
#include
using namespace std;
int main()
{
int *p; //指针没有初始化,所以没有志向某个内存单元,而是指向了内存中的一个随机地址,从而导致一些严重的问题
*p=9; //9是常量 p是指针类型的变量不匹配
cout<<"The value at p:"<<*p;
}
//6-18
#include
using namespace std;
int fn1()
{
int *p=new int(5);
return *p; //申请动态内存之后没有释放
}
int main()
{
int a=fun();
cout<<"the value of a is:"<
实验3
感觉做这个题之前要看的东西还是有点多的。。。。。
最后补上期中考试的内容,怎么说呢,期中考试的机子上个网都能卡死在那里,还有IDE自己的问题真的浪费了很多做题的时间
一下内容是基于VS2017
1、用户管理
//User.cpp
#include "stdafx.h"
#include "user.h"
#include
using namespace std;
//初始化静态成员变量
int User::CurrentID = 999;
//构造函数&析构函数
User::User(string name1, string password1)
{
CurrentID++;
id = CurrentID;
name = name1;
password = password1;
}
User::~User()
{
CurrentID--;
}
//功能实现函数
void User::GetUser()
{
cout << "UserID: " << id <> oricd;
if (oricd != password && i != 2)
{
cout << "Wrong Code! ";
}
else if (oricd != password && i == 2)
{
cout << "Wrong code, Please try later" << endl;
break;
}
else if (oricd == password && i < 3)
{
cout << "Please reset you code:" << endl;
cin >> oricd;
password = oricd;
cout << "Done!" << endl;
break;
}
}
}
重载构造函数我就省略了
//User.h
#pragma once
#ifndef _USER_H_
#define _USER_H_
#include
using std::string;
class User
{
public:
//构造函数&析构函数
User(string name1, string password1);
~User();
//
void GetUser(); //打印用户信息,包括用户编号,用户名,密码
void SetCode(); //修改密码,修改前要求输入旧密码验证,连续三次输入错误将提示用户稍后再试,并暂时退出修改密码程序
static int GetCurrentID() { return CurrentID; } //打印共有属性,同时打印最后一个新增用户的信息
private:
int id; //用户编号
string name; //用户名,由字母,数字,符号的组合
string password; //密码,由字母,数字,符号的组合
static int CurrentID;//用于记录当前已经被使用的最大ID号
};
#endif // _USER_H_
// 用户管理.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#include"user.h"
using std::string;
using namespace std;
int main()
{
User a("张三", "4344563"), b("李四", "55687966");
cout << "Function1" << endl;
a.GetUser();
b.GetUser();
cout << "Function2" << endl;
a.SetCode();
cout << "Function3" << endl;
cout << "CurrentID:" << User::GetCurrentID() << endl;
system("pause");
return 0;
}
程序目前没有实现输出最后一个新增用户信息的功能,继续挖坑。
运行结果如下:
2、图书入库
// 图书入库.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"book.h"
#include
#include
#include
using namespace std;
using std::string;
using std::vector;
int main()
{
int cnt = 0;
// 定义一个vector类对象
vector books;
string isbnL, titleL;
float priceL;
// 录入图书信息,构造图书对象,并添加到前面定义的vector类对象中
// 循环录入,直到按下Ctrl+Z时为止 (也可以自行定义录入结束方式)
while (cin >> isbnL >> titleL >> priceL)
{
Book b1(isbnL, titleL, priceL);
books.push_back(b1);
cnt++;
}
// 输出入库所有图书信息
for (int i = 0; i < cnt; i++)
{
books[i].print();
}
system("pause");
return 0;
}
//book.h
#pragma once
#ifndef _BOOK_H_
#define _BOOK_H_
#include
using std::string;
class Book
{
public:
Book(string isbnX, string titleX, float priceX);
//析构函数省略
void print(); //打印图书信息
private:
string isbn;
string title;
float price;
};
#endif // _BOOK_H_
#include "stdafx.h"
#include"book.h"
#include
#include
using namespace std;
using std::string;
Book::Book(string isbnX, string titleX, float priceX)
{
isbn = isbnX;
title = titleX;
price = priceX;
}
void Book::print()
{
cout <<"编号:"<< isbn<<" 书名:"<<"《"<< title <<"》"<<" 价格:"<< price << endl;
}
运行结果如下:
最近在忙的事程序里都有了。另外还要刷OJ,每道题都要想很久才能出来,很烦,根本没时间搞C++。。。。