天天看點

C++ Primer Plus第四章課後程式設計

C++ Primer Plus第四章課後程式設計

    • 4.12 複習題*
    • 4.13 程式設計練習*
    • 三句話,希望讀者可以先看*

4.12 複習題*

#include<iostream>
#include<vector>
#include<array>
#include<string>
#include<cstring>
           

//所有頭檔案為所用複習題+程式設計練習公用

//1.a

using namespace std;
struct stt1
{
	char name;
};
int main()
{
	stt1 actor[30];
	return 0;
}
           

//1.b

struct stt2
{
	short value;
};
int main()
{
	stt2 betsie[100];
	return 0;
}
           

c,d類似

//2.a

int main()
{
	array<char,30>actor;
	return 0;
}
           

//2.b

```bash
```cpp
int main()
{
	array<short, 100> betsie;
	return 0;
}*
           

//3. 4.

int main()
{
	int whatt1[5] = { 1,3,5,7,9 };
	std::vector<int>whatt2(5);
	whatt2[0] = 1; whatt2[1] = 3; whatt2[2] = 5; whatt2[3] = 7; whatt2[4] = 9;
	std::array<int, 5>whatt3 = { 1,3,5,7,9 };
	int even = whatt3[0] + whatt3[4];
	std::cout << even;
	return 0;
}
           

*/5.

int main()
{
	using namespace std;
	float idea[3]={1,2,3};
	cout <<idea[1];
	return 0;
}
           

*/6.

int main()
{
	using namespace std;
	char charr[20]="cheeseburger";
	cout << charr;
	return 0;
}
           

*//7.

int main()
{
	std::string strr = "Waldofalt";//string必須使用命名空間!!
	std::cout << strr;
	return 0;
}
           

//8. 9.

struct fish_Type
{
	char name[20];
	int weight;
	double length;
};
int main()
{
	using namespace std;
	fish_Type firs = {"Tony",26,19.99};
	cout << "Name : "<<firs.name<<"\nweight : "<<firs.weight<<"\nlength : "<<firs.length;
	return 0;
}
           

//*10

int main() 
{
	enum Response { No, Yes, Maybe };
	std::cout << No;
	std::cout << Yes;
	std::cout << Maybe;
	return 0;
}
           

//*11

int main()
{
	double ted=19.99;
	double* ps = &ted;
	std::cout << *ps<<" at "<< ps;
	return 0;
}
           

//*12.

int main()
{
	float treacle[10] = {1.01,2.01,3.01,4.01,5.01,6.01,7.01,8.01,9.01,0.01};
	float* ps = treacle;
	std::cout << "第一個:" << *ps << " 最後一個:" << *(ps+9);
	return 0;
}
           

//13.

int main()
{
	using namespace std;
	int a;
	cout << "輸入a: ";
	cin >> a;
	int *aa = new int[a];
	delete[]aa;
	return 0;
}
***using namespace std通路命名空間的另一種方法***
int main()
{
	int a;
	std::cout << "輸入a: ";
	std::cin >> a;
	std::vector<int>aa(a);
	std::cout << &aa ;
	return 0;
}
           

//*14

int main()
{
	std::cout << (int *)"wtf";
	return 0;
}
           

//*15

struct fish_Type
{
	char name[20];
	int weight;
	double length;
};
int main()
{
	using namespace std;
	fish_Type* aa = new fish_Type;
	*aa = {"Tony",20,19.99};
	cout << "name is: " << (*aa).name << " weight is:" << aa->weight<<
		" length is: "<<(*aa).length;
		delete aa;
	return 0;
}
           

//*17

int main()
{
	const int a = 10;
	std::vector<std::string>aa(a);
	getline(std::cin,aa[0]);
	std::cout<< aa[0];
	std::array<std::string, a>ab;
	return 0;
}
           

4.13 程式設計練習*

int main()
{
	using namespace std;
	cout << "What is your first name? ";
	const int name_Long = 20;
	char namef[name_Long];
	cin.getline(namef,name_Long );
	cout << "What is your last name? ";
	string namel;
	getline(cin,namel);
	cout << "What do you want? ";
	char want;//**字元是以數字的形式存儲在計算機中的**
	cin >>want ;
	cout << "What is your age? ";
	int age;
	cin >> age;
	cout << "Name: " << namef << ", " << namel << endl
		<< "Grade: "<<char (want+1)<< endl//**輸入輸出cin cout自動進行字元和數字之間的轉換**
		<< "Age: " << age;
	return 0;
}
           

//*2

int main()
{
	using namespace std;
	string name, food;
	cout << "Enter your name: ";
	getline(cin,name);
	cout << "What is your favourate food? ";
	getline(cin,food);
	cout << "I have some "<<food<<" for "<<name;

	return 0;
}
           

//*4

int main()
{
	using namespace std;
	char namef[20], namel[20];
	cout << "Enter your first name: ";
	cin.get(namef,20);
	cin.get();//清空緩存
	cout << "Enter your last name: ";
	cin.get(namel, 20);
	cout << "Here is your name: "<<namef<<","<<namel;

	return 0;
}
           

//*4

int main()
{
	using namespace std;
	string namef, namel,namei,namea;
	namea = "liyan";
	namei = ", ";
	cout << "Enter your first name: ";
	getline(cin,namef);
	cout << "Enter your last name: ";
	getline(cin,namel);
	cout << "Here is your name: " << namef << "," << namel;
	return 0;
}
           

//*5

struct CandyBar
{
	std::string name;
	double weight;
	int kalora;
};
int main()
{
	using namespace std;
	CandyBar snack = {"Tony stark",2.3,350};
	cout << "Name: " << snack.name << endl
		<< "Weight: " << snack.weight << endl
		<< "Kalora: "<<snack.kalora<<endl;
	return 0;
}
           

//*6

struct CandyBar
{
	std::string name;
	double weight;
	int kalora;
};
int main()
{
	using namespace std;
	CandyBar strr[3];
	strr[0] = {"Tony stack",1.1,130};
	strr[1] = { "Amy stack",2.1,230 };
	strr[2] = { "Mark stack",3.1,330 };
	cout << "Name: " << strr[0].name << endl
		<< "Weight: " << strr[0].weight << endl
		<< "Kalora: " << strr[0].kalora << endl;
	cout << "Name: " << strr[2].name << endl
		<< "Weight: " << strr[2].weight << endl
		<< "Kalora: " << strr[2].kalora << endl;
	return 0;
}
           

//*7

struct company
{
	std::string name;
	int size;
	double weight;
};
int main()
{
	using namespace std;
	company strr[20];
	cout << "Enter your company name: ";
	getline(cin, strr[0].name);
	cout << "Enter your pizz size: ";
	cin >> strr[0].size;
	cout << "Enter your pizz weight: ";
	cin >> strr[0].weight;
	cout << "Name: " << strr[0].name << endl
		<< "Size: " << strr[0].size << endl
		<< "Weight: " << strr[0].weight << endl;
	return 0;
}
           

//*8

struct company
{
	std::string name;
	int size;
	double weight;
};
int main()
{
	using namespace std;
	company *strr = new company[20];
	cout << "Enter your pizz size: ";
	cin >> strr[0].size;
	cin.get();//cin輸入後需要清空緩存
	cout << "Enter your company name: ";
	getline(cin, strr[0].name);
	cout << "Enter your pizz weight: ";
	cin >> strr[0].weight;
	cout << "Name: " << strr[0].name << endl
		<< "Size: " << strr[0].size << endl
		<< "Weight: " << strr[0].weight << endl;
	delete[] strr;
	return 0;
}
           

//*9

struct CandyBar
{
	std::string name;
	double weight;
	int kalora;
};
int main()
{
	using namespace std;
	CandyBar *strr=new CandyBar[3];
	strr[0] = { "Tony stack",1.1,130 };
	strr[1] = { "Amy stack",2.1,230 };
	strr[2] = { "Mark stack",3.1,330 };
	cout << "Name: " << strr[0].name << endl
		<< "Weight: " << strr[0].weight << endl
		<< "Kalora: " << strr[0].kalora << endl;
	cout << "Name: " << strr[2].name << endl
		<< "Weight: " << strr[2].weight << endl
		<< "Kalora: " << strr[2].kalora << endl;
	delete[]strr;
	return 0;
}
           

//*10

int main()
{
	using namespace std;
	array<double, 3>grade;
	cout << "Enter your first grade: ";
	cin>>grade[0];
	cout << "Enter your secode grade: ";
	cin >> grade[1];
	cout << "Enter your third grade: ";
	cin >> grade[2];
	double mean = (grade[0]+ grade[1]+ grade[2])/ 3;
	cout << "Your meaning grade is: " << mean;
	return 0;
}
           

三句話,希望讀者可以先看*

代碼或有不完善但一定正确可供大家參考,

如有想法歡迎大家來交流溝通

繼續閱讀