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;
}
三句話,希望讀者可以先看*
代碼或有不完善但一定正确可供大家參考,
如有想法歡迎大家來交流溝通