• 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();
    
    
    }
    


  • 相关阅读:
    js实现快速排序
    使用NodeList
    变量提升问题
    使用Location对象查询字符串参数
    一天一小段js代码(no.2)
    一天一小段js代码(no.1)
    JS闭包中的this对象
    JS数组去重
    FreeCodeCamp----Intermediate Algorithm Scripting解法
    关于表单验证
  • 原文地址:https://www.cnblogs.com/qq84435/p/3664819.html
Copyright © 2020-2023  润新知