國立屏東商業技術學院 資訊工程系 物件導向程式設計
using namespace std;
#include <iostream>
#include <cstring>
#include "name.h"
enum Level{Silver,Gold};
union Preferent{
float Gold;
int Silver;
};
struct data
{
Name *name;
char tp[10+1];
Level level;
Preferent benefit;
};
int main(int argc,char *argv[])
{
enum {without,have}search;
data *person=new data [5];
char name[LenFN+LenLN+1];
char tmp;
char lv[10],input[10];
int i,j,k;
for(i=0;i<5;i++)
{
cin.getline(name,LenFN+LenLN+1);
person[i].name=setName(name);
cin.getline(person[i].tp,11);
cin.getline(lv,10);
if(strcmp(lv,"Gold")==0)
{
person[i].level=Gold;
cin >>person[i].benefit.Gold;
cin.get();
}
else if(strcmp(lv,"Silver")==0)
{
person[i].level=Silver;
cin >>person[i].benefit.Silver;
cin.get();
}
}
search=without;
while(strcmp(input,"Quit")!=0)
{
cin.getline(input,10);
cout << "Input: " << input;
for(i=0;i<5;i++)
{
if(strcmp(input,(person[i].name)->firstname)==0)
{
if(search==without)
cout << endl;
search=have;
cout << (person[i].name)->lastname ;
cout << " (" << person[i].tp << ") ";
cout << (person[i].level==0? "S/":"G/");
cout << (person[i].level==0? (person[i].benefit.Silver) :(person[i].benefit.Gold)) << endl;
}
}
if(search==without&&strcmp(input,"Quit")!=0)
cout << endl<< "Member not found!" << endl;
search=without;
cout << endl;
}
cout << "Bye" <<endl;
return 0;
}