编程练习
c++ Primer Plus第六版 第四章 课后编程练习
第一题
/* 编写一个c++程序,数下数输出示例所示的那样请求并显示信息:
"What is your first name? Betty Sue
What is your last name? Yewe
What letter grade do you deserve? B
What is your age? 22
Name: Yewe, Betty Sue
Grade: C
Age: 22
*/
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
class slc
{
private:
string First_Name;
string Last_Name;
int Age;
char Grade;
public:
slc();
void sle(string & fname, string & lname, int age, char grade);
void print();
};
slc::slc()
{
Age = 1;
Grade = 'A';
}
void slc::sle(string & fname, string & lname, int age, char grade)
{
First_Name = fname;
Last_Name = lname;
Age = age;
Grade = grade + 1;
}
void slc::print()
{
cout << "Name: " << Last_Name<< ',' << First_Name <<endl;
cout << "Grade: " << Grade <<endl;
cout << "Age: " << Age <<endl;
}
int main()
{
slc ligoudan;
char grade;
int age;
string fname, lname;
cout << "What is your first name? ";
cin.get();
cin >> fname;
cout << "What is your last name? ";
cin >> lname;
cin.get();
cout << "What letter grade do you deserve? ";
cin >> grade;
cin.get();
cout << "What is your age? ";
cin >> age;
ligoudan.sle(fname, lname, age, grade);
ligoudan.print();
return 0;
}
第二题
/*修改程序清单4.4, 使用C++ string 类而不是char数组。*/
#include<iostream>
#include<string>
using namespace std;
int main()
{
//const int ArSize = 20;
string name;
string dessert;
cout << "Enter your name\n";
getline(cin, name);
cout << "Enter your favoerite dessert:\n";
getline(cin, dessert);
cout << "I have some delicious " << dessert;
cout << "for you, " << name << ".\n";
return 0;
}
第三题
#define _CRT_SECURE_NO_WARNINGS//注意!!!!此处是因为下方的strcat并不安全,使用此宏定义关闭(C4996)警告
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
const int Size = 100;
char L_name[Size];
char F_name[Size];
cout << "Enter your first name: ";
cin >> F_name;
cin.get();
cout << "Enter your last name: ";
cin >> L_name;
strcat(L_name, ", ");//使用strcat_s更加安全
strcat (L_name, F_name);
cout << "Here`s the information in a single string: " << L_name;
return 0;
}
第四题
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
string f_name, l_name, name;
cout << "Enter your first name: ";
cin >> f_name;
cin.get();
cout << "Enter your last name: ";
cin >> l_name;
name = l_name + ", " + f_name;
cout << "Here`s the information in a single string: " << name;
return 0;
}
第五题
#include<iostream>
#include<string>
using namespace std;
struct CandyBar
{
string Name;
double Weight;
int Calorie;
};
int main()
{
CandyBar snack;
snack.Name = "Mocha Munch";
snack.Weight = 2.3;
snack.Calorie = 350;
cout << snack.Name << endl;
cout << snack.Weight << endl;
cout << snack.Calorie << endl;
return 0;
}
第六题
#include<iostream>
#include<string>
using namespace std;
struct CandyBar
{
string Name;
double Weight;
int Calorie;
};
int main()
{
CandyBar snack;
snack.Name = "Mocha Munch";
snack.Weight = 2.3;
snack.Calorie = 350;
cout << snack.Name << endl;
cout << snack.Weight << endl;
cout << snack.Calorie << endl;
return 0;
}
第七题
#include<iostream>
#include<string>
using namespace std;
struct William_Wingate
{
string Name;
double Diameter;
int Weight;
};
void getinl(string & a, double b, int c,William_Wingate & snack)
{
snack.Name = a;
snack.Diameter = b;
snack.Weight = c;
cout << snack.Name << endl;
cout << snack.Diameter << endl;
cout << snack.Weight << endl;
}
int main()
{
William_Wingate snack;
string name;
double diameter;
int weight;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your diameter: ";
cin >> diameter;
cout << "Enter your weight: ";
cin >> weight;
getinl(name, diameter, weight, snack);
return 0;
}
第八题
#include<iostream>
#include<string>
using namespace std;
struct William_Wingate
{
string Name;
double Diameter;
int Weight;
};
void getinl(string & a, double b, int c, William_Wingate & snack)
{
snack.Name = a;
snack.Diameter = b;
snack.Weight = c;
cout << snack.Name << endl;
cout << snack.Diameter << endl;
cout << snack.Weight << endl;
}
int main()
{
William_Wingate *snack;
snack = new William_Wingate;
string name;
double diameter;
int weight;
cout << "Enter your diameter: ";
cin >> diameter;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your weight: ";
cin >> weight;
getinl(name, diameter, weight, *snack);
delete snack;
return 0;
}
第九题
#include<iostream>
#include<string>
using namespace std;
struct CandyBar
{
string Name;
double Weight;
int Calorie;
};
int main()
{
int i, j;
CandyBar *snack = new CandyBar[3]{
{ "Mocha Munch", 2.3, 350 },
{ "Banana", 3.5, 400 },
{ "HAHAHAHA", 3.0, 370 }
};
for (i = 0; i < 3; i++)
{
cout << snack[i].Name << endl;
cout << snack[i].Weight << endl;
cout << snack[i].Calorie << endl;
}return 0;
}
第十题
#include<iostream>
#include<string>
#include<array>
using namespace std;
int main()
{
array<int, 3>arr;
int i;
for (i = 0; i < 3; i++)
{
cout << " putin your miles " << i << ": ";
cin >> arr[i];
}
for (i = 0; i < 3; i++)
{
cout << "arr[" << i << "]: " << arr[i] << endl;
}
return 0;
}
不定期更新。。。。