马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
题一
头文件
test9_1.h- #ifndef TEST9_1_H_
- #define TEST9_1_H_
- const int Len = 40;
- struct golf
- {
- char fullname[Len];
- int handicap;
- };
- void setgolf(golf &g, const char *name, int hc);
- // 赋值函数
- int setgolf(golf &g);
- // 按输入赋值
- void handicap(golf &g, int hc);
- // 对handicap重新赋值
- void showgolf(const golf &g);
- #endif
复制代码 源文件- #include <iostream>
- #include "test9_1.h"
- #include <cstring>
- using namespace std;
- void setgolf(golf &g, const char *name, int hc)
- {
- strcpy(g.fullname, name);
- g.handicap = hc;
- }
- int setgolf(golf &g)
- {
- cout << "Enter the fullname :";
- cin.get(g.fullname, Len);
- cout << "Enter the handicap: ";
- cin >> g.handicap;
- cin.get();
- if (g.fullname[0] == '\0')
- return 0;
- else
- return 1;
- }
- void handicap(golf &g, int hc)
- {
- g.handicap = hc;
- }
- void showgolf(const golf &g)
- {
- if (g.fullname[0] != '\0')
- {
- cout << "fullname: " << g.fullname << endl;
- cout << "handicap: " << g.handicap << endl;
- }
- }
复制代码 源代码- #include <iostream>
- #include "test9_1.h"
- using namespace std;
- int main()
- {
- golf ann;
- setgolf(ann, "Ann Birdfree", 24);
- showgolf(ann);
- golf *golfarr = new golf[3];
- for (int i = 0; i < 3 && setgolf(golfarr[i]); i++)
- {
- }
- for (int i = 0; i < 3; i++)
- showgolf(golfarr[i]);
- delete[] golfarr;
- return 0;
- }
复制代码
题二
- // static.cpp--using a static local variable
- #include <iostream> //constants
- #include <string>
- #include <cstring>
- using namespace std;
- // const int ArSize = 10;
- // function prototype
- void strcount(const string str);
- int main()
- {
- // char input[ArSize];
- string input;
- char next;
- cout << "Enter a line:\n";
- getline(cin, input);
- while (input != "")
- {
- strcount(input);
- cout << "Enter next line(empty line to quit);\n";
- getline(cin, input);
- }
- cout << "Bye\n";
- return 0;
- }
- void strcount(const string str)
- {
- using namespace std;
- static int total = 0;
- int count = 0;
- // static local variable
- // automatic local variable
- cout << """ << str << ""contains \n";
- count = str.size();
- total += count;
- cout << count << " characters\n";
- cout << total << " characters total\n";
- }
复制代码
题三
方法一- #include <iostream>
- #include <new>
- #include <cstring>
- const int BUF = 512;
- const int N = 5;
- char buffer[BUF];
- struct chaff
- {
- char dross[20];
- int salg;
- };
- int main()
- {
- using namespace std;
- chaff *array1 = new (buffer) chaff[2];
- for (int i = 0; i < 2; i++)
- {
- cout << "dross" << i + 1 << ": ";
- cin.getline(array1[i].dross, 20);
- cout << "salg" << i + 1 << ":";
- cin >> array1[i].salg;
- cin.get();
- }
- for (int i = 0; i < 2; i++)
- {
- cout << "dross" << i + 1 << ": " << array1[i].dross << endl;
- cout << "salg" << i + 1 << ": " << array1[i].salg << endl;
- }
- return 0;
- }
复制代码
方法二- #include <iostream>
- #include <new>
- #include <cstring>
- const int BUF = 512;
- struct chaff
- {
- char dross[20];
- int salg;
- };
- int main()
- {
- using namespace std;
- char *buffer = new char[BUF];
- chaff *array1 = new (buffer) chaff[2];
- for (int i = 0; i < 2; i++)
- {
- cout << "dross" << i + 1 << ": ";
- cin.getline(array1[i].dross, 20);
- cout << "salg" << i + 1 << ":";
- cin >> array1[i].salg;
- cin.get();
- }
- for (int i = 0; i < 2; i++)
- {
- cout << "dross" << i + 1 << ": " << array1[i].dross << endl;
- cout << "salg" << i + 1 << ": " << array1[i].salg << endl;
- }
- delete buffer;
- return 0;
- }
复制代码
题四
头文件- #ifndef TEST9_4_H_
- #define TEST9_4_H_
- namespace SALES
- {
- const int QUARTERS = 4;
- struct Sales
- {
- double sales[QUARTERS];
- double average;
- double max;
- double min;
- };
- void setSales(Sales &s, const double ar[], int n);
- void setSales(Sales &s);
- void showSales(const Sales &s);
- }
- #endif
复制代码 源代码- #include "test9_4.h"
- #include <iostream>
- using namespace std;
- void SALES::setSales(Sales &s, const double ar[], int n)
- {
- double sum;
- s.max = ar[0];
- s.min = ar[0];
- // int length = sizeof(ar) / sizeof(double);
- for (int i = 0; i < QUARTERS; i++)
- {
- if (i < n)
- {
- sum += ar[i];
- s.sales[i] = ar[i];
- if (ar[i] > s.max)
- s.max = ar[i];
- if (ar[i] < s.min)
- s.min = ar[i];
- }
- else
- s.sales[i] = 0;
- }
- s.average = sum / n;
- }
- void SALES::setSales(Sales &s)
- {
- s.max = 0;
- s.min = 999999;
- for (int i = 0; i < QUARTERS; i++)
- {
- cout << "Enter " << i + 1 << "-th quarter sales:";
- cin >> s.sales[i];
- s.average += s.sales[i];
- if (s.sales[i] > s.max)
- s.max = s.sales[i];
- if (s.sales[i] < s.min)
- s.min = s.sales[i];
- }
- s.average /= QUARTERS;
- }
- void SALES::showSales(const Sales &s)
- {
- for (int i = 0; i < QUARTERS; i++)
- cout << i + 1 << "-th quarter sales:" << s.sales[i] << endl;
- cout << "average :" << s.average << endl;
- cout << "max :" << s.max << endl;
- cout << "min :" << s.min << endl;
- }
复制代码 源代码- #include <iostream>
- #include "test9_4.h"
- using namespace std;
- using namespace SALES;
- int main()
- {
- Sales FirstYear;
- double earning[3] = {10, 20, 30};
- setSales(FirstYear, earning, 3);
- showSales(FirstYear);
- Sales SecondYear;
- setSales(SecondYear);
- showSales(SecondYear);
- return 0;
- }
复制代码
|