#include <iostream> using namespace std; int Fill_array(double [], int size); void Show_array(double [], int size); void Reverse_array(double [], int size); int main() { int size,rsize; cin >> size; double *arr = new double [size]; rsize = Fill_array(arr, size); Show_array(arr, rsize); Reverse_array(arr, rsize); Show_array(arr, rsize); cin.get(); cin.get(); return 0; } int Fill_array(double arr [], int size){ int i; for (i = 0; i < size; i++) { cin >> arr[i]; if (!cin) break; } return i; } void Show_array(double arr [], int size){ for (int i = 0; i < size; i++){ cout << "arr[" << i << "] = " << arr[i] << endl; } cout << "\n"; } void Reverse_array(double arr [], int size){ double m; int begin, end; for (begin = 1, end = size - 2; begin < end; begin++, end--){ m = arr[begin]; arr[begin] = arr[end]; arr[end] = m; } }7.
#include <iostream> const int Max = 5; using namespace std; double * fill_array(double *begin, double *end); void show_array(const double *begin,const double *end); void revalue(double r, double *begin, double *end); int main() { double properties[Max]; double *end = fill_array(properties, properties + Max); show_array(properties, end+1); if (end != properties){ cout << "Enter revaluation factor: "; double factor; while (!(cin >> factor)){ cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input;Please enter a number: "; } revalue(factor, properties, end+1); show_array(properties, end+1); } cout << "Done.\n"; cin.get(); cin.get(); return 0; } double * fill_array(double *begin, double *end){ double temp; double *m; int i; for (m = begin,i=0; m != end; m++,i++){ cout << "Enter value #" << (i + 1) << ": "; cin >> temp; if (!cin){ cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input;input process terminated.\n"; break; } else if (temp < 0) break; *m = temp; } return m-1; } void show_array(const double *begin, const double *end){ int i; const double *m; for (m = begin, i = 0; m != end; m++, i++){ cout << "Property #" << (i + 1) << ": $"; cout << *m<<endl; } } void revalue(double r, double *begin, double *end){ double *m; for (m = begin; m != end; m++) *m = (*m)*r; }
8.a
#include <iostream> using namespace std; const int Seasons = 4; const char *Snames[Seasons] = { "Spring", "summer", "Fall", "Winter" }; void fill(double pa[],int n); void show(const double da[],int n); int main() { double expenses[Seasons]; fill(expenses,Seasons); show(expenses,Seasons); cin.get(); cin.get(); return 0; } void fill(double pa[],int n){ for (int i = 0; i < n; i++){ cout << "Enter " << Snames[i] << " expenses:"; cin >> pa[i]; } } void show(const double da [], int n){ double total = 0; cout << "EXPENSES\n"; for (int i = 0; i < n; i++){ cout << Snames[i] << ": $" << da[i] << endl; total += da[i]; } cout << "Total Expenses : $" << total << endl; }
#include <iostream> using namespace std; const int Seasons = 4; const char *Snames[Seasons] = { "Spring", "summer", "Fall", "Winter" }; struct Expenses{ double exp[Seasons]; }; void fill(Expenses *); void show(Expenses); int main() { Expenses a; fill(&a); show(a); cin.get(); cin.get(); return 0; } void fill(Expenses *a){ for (int i = 0; i < Seasons; i++){ cout << "Enter " << Snames[i] << " expenses:"; cin >> a->exp[i]; } } void show(Expenses a){ double total = 0; cout << "EXPENSES\n"; for (int i = 0; i < Seasons; i++){ cout << Snames[i] << ": $" << a.exp[i] << endl; total += a.exp[i]; } cout << "Total Expenses : $" << total << endl; }9.
#include <iostream> using namespace std; const int SLEN = 30; struct student{ char fullname[SLEN]; char hobby[SLEN]; int ooplevel; }; int getinfo(student pa [], int n); void display1(student st); void display2(const student * ps); void display3(const student pa [], int n); int main() { cout << "Enter class size: "; int class_size; cin >> class_size; while (cin.get() != '\n') continue; student *ptr_stu = new student[class_size]; int entered = getinfo(ptr_stu, class_size); for (int i = 0; i < entered; i++){ display1(ptr_stu[i]); display2(&ptr_stu[i]); } display3(ptr_stu, entered); delete [] ptr_stu; cin.get(); cin.get(); return 0; } int getinfo(student pa [], int n){ int i; for (i = 0; i < n; i++){ cin.getline(pa[i].fullname, SLEN); if ((pa[i].fullname)[0] == '\0'){ break; } cin.getline(pa[i].hobby, SLEN); cin >> pa[i].ooplevel; cin.get(); } return i; } void display1(student st){ cout << "name: " << st.fullname<<endl; cout << "hobby: " << st.hobby<<endl; cout << "ooplevel: " << st.ooplevel << endl; } void display2(const student * ps){ cout << "name: " << ps->fullname<<endl; cout << "hobby: " << ps->hobby << endl; cout << "ooplevel: " << ps->ooplevel << endl; } void display3(const student pa [], int n){ int i; for (i = 0; i < n; i++){ cout << "name: " << pa[i].fullname << endl; cout << "hobby: " << pa[i].hobby << endl; cout << "ooplevel: " << pa[i].ooplevel << endl; } }10.
#include <iostream> using namespace std; double add(double x, double y); double max(double x, double y); double min(double x, double y); double calculate(double x, double y, double(*p)(double a, double b)); int main() { double x,y; double q; double (*pf[3])(double, double) = {add,max,min}; while (cin >> x >> y){ for (int i = 0; i < 3; i++){ q = calculate(x, y, *pf[i]); if (i==0) cout << "the sum of two numbers: " << q << endl; else if (i==1) cout << "the max number of the two numbers; " << q << endl; else if (i==2) cout << "the min number of the two numbers; " << q << endl; } } cin.get(); cin.get(); return 0; } double add(double x, double y){ return x + y; } double calculate(double x, double y, double(*p)(double a, double b)){ double m; m = (*p)(x, y); return m; } double max(double x, double y){ return x > y ? x : y; } double min(double x, double y){ return x < y ? x : y; }