zoukankan      html  css  js  c++  java
  • C++primer plus第六版课后编程题答案10.5

    Stack.h

    #ifndef STACK_H_
    #define STACK_H_
    struct customer{
    	char fullname[35];
    	double payment;
    };
    typedef customer Item;
    class Stack{
    private:
    	enum{MAX=10};
    	Item items[MAX];
    	int top;
    public:
    	Stack();
    	bool isEmpty()const;
    	bool isFull()const;
    	bool push(const Item &item);
    	bool pop(Item &item);
    };
    #endif 

    Stack.cpp

    #include<iostream>
    #include "stack.h"
    using namespace std;
    Stack::Stack()
    {
    	top=0;
    }
    bool Stack::isEmpty()const
    {
    	return top==0;
    }
    bool Stack::isFull()const
    {
    	return top==MAX;
    }
    bool Stack::push(const Item &item)
    {
    	if(isFull())
    	{
    		cout<<"Error !Stack is full!"<<endl;
    		return false;
    	}
    	else
    		items[top++]=item;
    	return true;
    }
    bool Stack::pop(Item &item)
    {
    	if(top<=0)
    	{
    		cout<<"Error !Stack is empty"<<endl;
    		return false;
    	}
    	else
    	{
    		item=items[--top];
    		return true;
    	}
    }
    

    main105.cpp

    #include <iostream>
    #include "stack.h"
    
    using namespace std;
    void main105()
    {
    	static int total=0;
    	Stack sc;
    	customer c[5]={
    		{"I",10},
    		{"II",20},
    		{"III",40},
    		{"IV",50},
    		{"V",60}
    		};
    	customer s[10];//用于存储pop出来的customer
    	for(int i=0;i<5;i++)
    	{
    		sc.push(c[i]);
    		cout<<"now push "<<c[i].fullname<<"  payment is "<<c[i].payment<<endl;
    	}
    	for(int i=0;i<5;i++)
    	{
    		sc.push(c[i]);
    		cout<<"now push "<<c[i].fullname<<"  payment is "<<c[i].payment<<endl;
    	}
    	sc.push(c[3]);
    	for(int i=0;i<10;i++)
    	{
    		sc.pop(s[i]);
    		total+=s[i].payment;
    		cout<<"total="<<total<<endl;
    	}
    	sc.pop(s[1]);
    	cin.get();
    
    
    }
    


  • 相关阅读:
    Swift如何判断上午还是下午
    Qt Creator编译app到iPhone
    用swift判断string是否包含字母
    QToolTip显示富文本问题
    mac如何发起屏幕共享?
    Redis持久化
    bean 实例化原理解析
    WebSocket和SocketIO总结
    netty入门
    redis 工具类
  • 原文地址:https://www.cnblogs.com/qq84435/p/3664819.html
Copyright © 2011-2022 走看看