c++项目范例

  1 #include<iostream>
  2 #include<string.h>
  3 #include<stdlib.h>
  4 using namespace std;
  5 class Card
  6 {
  7 protected:
  8      float remain;
  9 public:
 10     Card(){}
 11     Card(float _remain):remain(_remain){}
 12     float Getremain(){return remain;}
 13     float credit(float _price);
 14     float recharge(float moneny);
 15     virtual void showmoney()=0;
 16     virtual void isme(float a)=0;
 17     virtual void showinfo()=0;
 18     virtual const char* Getname()=0;
 19     //virtual bool operator >(Card *c) = 0;
 20 };
 21
 22 class Stu : public Card
 23 {
 24 protected:
 25     int stunum;
 26     const char *name;
 27 public:
 28     Stu(){}
 29     Stu(int num,const char* _name):stunum(num),name(_name){}
 30     Stu(float _remain,int num,const char *_name):Card(_remain),stunum(num),name(_name){}
 31     void showmoney();
 32     void isme(float a);
 33     void showinfo();
 34     const char *Getname()    {return name;}
 35     bool operator >(Card *c);
 36 };
 37 bool Stu::operator >(Card *c)
 38 {
 39 if(remain>c->Getremain())
 40 return true;
 41 else
 42 return
 43     false;
 44 }
 45 void Stu::showmoney()
 46 {}
 47 void Stu::isme(float a)
 48 {
 49     remain=remain - a;
 50
 51 }
 52 void Stu::showinfo()
 53 {
 54 cout<<name<<"\t"<<stunum<<"\t"<<remain<<"\t"<<endl;
 55 }
 56
 57 class Gra:public Stu
 58 {
 59 private:
 60     float wage;
 61
 62 public:
 63     Gra(float _remain,int num,const char *_name,float _wage):Stu(_remain,num,_name),wage(_wage){ }
 64     void showmoney();
 65     void isme(float a);
 66     void showinfo();
 67     const char *Getname(){return name;}
 68     bool operator >(Card *c);
 69 };
 70 bool Gra::operator >(Card *c)
 71 {
 72 if(remain>c->Getremain())
 73 return true;
 74 else
 75 return
 76     false;
 77 }
 78 void Gra::showmoney()
 79 {}
 80 void Gra::isme(float a)
 81 {
 82     remain = remain-a;
 83
 84 }
 85 void Gra::showinfo()
 86 {
 87     cout<<name<<"\t"<<stunum<<"\t"<<remain<<"\t"<<wage<<"\t"<<endl;
 88 }
 89 class Employees :public Card
 90 {
 91 private:
 92     int wonum;
 93     const char* ename;
 94 public:
 95     Employees( float _remain,int _wonum,const char* _ename):Card(_remain),wonum(_wonum),ename(_ename){}
 96     void showmoney();
 97     void isme(float a);
 98     void showinfo();
 99     const char *Getname(){return ename;}
100     bool operator >(Card *c);
101 };
102 bool Employees::operator >(Card *c)
103 {
104 if(remain>c->Getremain())
105 return true;
106 else
107 return
108     false;
109 }
110 void Employees::showmoney()
111 {}
112 void Employees::isme(float a)
113 {
114     remain = remain-a;
115
116 }
117 void Employees::showinfo()
118 {
119     cout<<ename<<"\t"<<wonum<<"\t"<<remain<<"\t"<<endl;
120 }
121
122 class Canteen
123 {
124 private:
125     const char* menu;
126     float price;
127 public:
128     Canteen(const char* _menu,float _price):menu(_menu),price(_price){}
129     void showmenu();
130     const char *Getmenu(){return menu;}
131     float getprice(){return price;}
132 };
133 void Canteen::showmenu()
134 {
135 cout<<menu<<"\t"<<price<<"\t"<<endl;
136 }
137 int main()
138 {
139 float tmp = 0;
140 float tmp1 = 160;
141 int i,flag1,flag2,flag3;
142 char pname[20];
143 char foodbuf[20];
144 Canteen c1("fish",10.0);
145 Canteen c2("leek",8.5);
146 Canteen c3("celery",7.2);
147 Canteen c4("cole",5.8);
148 Canteen c5("buds",6.9);
149 Canteen *p1[5]={&c1,&c2,&c3,&c4,&c5};
150 Stu s(150.0,1001,"timi");
151 Stu s1(200.0,1002,"tom");
152 Gra g(180.0,2001,"lucy",700.0);
153 Gra g1(200.0,2002,"jay",700.0);
154 Employees e(190.0,3001,"jimi");
155 Card *p[5] = {&s,&s1,&g,&g1,&e};
156 cout<<"people infomation:\n"<<endl;
157 cout<<"NO.\t"<<"name\t"<<"num\t"<<"remain\t"<<"wage\t"<<endl;
158 for(i=0;i<5;i++)
159 {
160 cout<<i<<"\t";
161 p[i]->showinfo();
162 }
163
164 cout<<"input name who is you:"<<endl;
165 char *cp;
166 cin>>pname; cout<<endl;
167
168 for(i=0;i<5;i++)
169 {
170     if(!strncmp(pname,p[i]->Getname(),strlen(pname)-1))
171     {
172         cout<<"NO.\t"<<"name\t"<<"num\t"<<"remain\t"<<"wage\t"<<endl;
173         cout<<i<<"\t";
174         p[i]->showinfo();
175         flag1 = i;
176         break;
177     }
178
179 }
180
181 while(1)
182 {
183     cout<<"1: list\t\t2: take your order\t3:show max and min\t0:quit\t"<<endl;
184     cout<<"please input your select:"<<endl;
185     int select;
186     cin>>select;
187     switch(select)
188     {
189         case 0: exit(0);
190         case 1:{
191                     cout<<"NO.\t"<<"food\t"<<"price\t"<<endl;
192                     for(i=0;i<5;i++)
193                     {
194                         cout<<i<<"\t";
195                         p1[i]->showmenu();
196
197                     }
198                     break;
199             }
200         case 2:{
201                 cout<<"NO.\t"<<"food\t"<<"price\t"<<endl;
202                     for(i=0;i<5;i++)
203                     {
204                         //cout<<i<<"\t";
205                         p1[i]->showmenu();
206
207                     }
208                 cout<<"please input which do you like:"<<endl;
209                 cin>>foodbuf;
210                 for(i=0;i<5;i++)
211                 {//cout<<"hello"<<endl;
212                     if(!strncmp(foodbuf,p1[i]->Getmenu(),strlen(foodbuf)-1))
213                     {
214
215                         //cout<<"hello"<<endl;
216                         p[flag1]->isme(p1[i]->getprice());
217                         cout<<"remaining:"<<p[flag1]->Getremain()<<endl;
218                     }
219
220                 }
221                     for(i=0;i<5;i++)
222                     {
223
224                         //cout<<"hello\n";
225                         if(tmp < p[i]->Getremain())
226                         {
227                             tmp = p[i]->Getremain();
228                             flag2 = i;
229                         }
230                     }
231
232                     for(i=0;i<5;i++)
233                     {
234                                 if(tmp1>p[i]->Getremain())
235                                 {tmp1 = p[i]->Getremain();
236                                 flag3 = i;}
237                     }
238
239                     cout<<"the max is:"<<endl;
240                     p[flag2]->showinfo();
241                     cout<<"the min is:"<<endl;
242                     p[flag3]->showinfo();
243                 break;
244                 }
245         case 3 :
246                 {
247                 Card *maxp = p[0],*minp = p[0];
248                 for(i=0;i<4;i++)
249                 {
250                     if(p[i]>p[i+1])
251                     {
252                     minp = p[i-1];
253                     cout<<i<<endl;
254                     }
255                 }
256                 for(i=0;i<4;i++)
257                 {
258                 if(p[i+1]>p[i])
259                     {
260                     maxp = p[i];
261                     cout<<i-1<<endl;
262                     }
263                 }
264                 cout<<"the min remain is:"<<endl;
265                 minp->showinfo();
266                 cout<<"the max remain is:"<<endl;
267                 maxp->showinfo();
268
269                 break;
270                 }
271
272         default:{break;}
273     }
274     }
275 }
时间: 2024-11-03 21:34:30

c++项目范例的相关文章

Css Hack 大全(IE6、IE7、IE8、IE9 css hack)

一.IE6 css hack: 1. *html Selector {} /* Selector 表示 css选择器 下同 */ 2. Selector { _property: value; } /* property: value 表示 css 的属性名: 属性值 下同 */ 3. Selector { _property/**/: /**/value; } 4. Selector { -property: value; } /*IE6 css hack常用习惯推荐使用下划线_ */ 二.I

条件注释判断浏览器版本&lt;!--[if lt IE 9]&gt;

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]--><!--[if gte IE 6]> IE6以及IE6以上版本可识

条件注释判断浏览器&lt;!--[if !IE]&gt;&lt;!--[if IE]&gt;&lt;!--[if lt IE 6]&gt;&lt;!--[if gte IE 6]&gt;

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[if lt IE 6]> IE6以下版本可识别 <![endif]--><!--[if gte IE 6]> IE6以及IE6以上版本可识别 <

[HTML&amp;CSS] 条件注释判断浏览器

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]--><!--[if gte IE 6]> IE6以及IE6以上版本可识

判断IE版本的HTML语句详解,如:[if lte IE 9]……[endif]

我们常常会在网页的HTML里面看到形如[if lte IE 9]--[endif]的代码,表示的是限定某些浏览器版本才能执行的语句,那么这些判断语句的规则是什么呢?请看下文: <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[i

判断IE版本的HTML语句详解

我们常常会在网页的HTML里面看到形如[if lte IE 9]……[endif]的代码,表示的是限定某些浏览器版本才能执行的语句,那么这些判断语句的规则是什么呢?请看下文: <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![endif]--> <!--[if IE 6]> 仅IE6可识别 <![endif]--> <!-

IE下判断IE版本的语句...[if lte IE 8]……[endif]

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]--><!--[if gte IE 6]> IE6以及IE6以上版本可识

HTML的页面IE注释

我们常常会在网页的HTML里面看到形如[if lte IE 9]……[endif]的代码,表示的是限定某些浏览器版本才能执行的语句,那么这些判断语句的规则是什么呢?请看下文: <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识别 <![endif]--><!--[i

条件注释判断浏览器版本&lt;!--[if lt IE 9]&gt;(转载)

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]--> <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]--> <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]--> <!--[if