Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- using namespace std;
- class producto{
- private:
- int codigo;
- long precio;
- public:
- producto();
- int vercodigo();
- long verprecio();
- void editarcodigo(int c);
- void editarprecio(long p);
- };
- producto::producto(){
- codigo=0;
- precio=0;
- }
- int producto::vercodigo(){
- return codigo;
- }
- long producto::verprecio(){
- return precio;
- }
- void producto::editarcodigo(int c){
- codigo=c;
- }
- void producto::editarprecio(long p){
- precio=p;
- }
- class colaproductos{
- private:
- producto *firstcola;
- int ncola;
- public:
- colaproductos();
- int sizecola();
- void pushcola(producto x);
- producto popcola();
- void imprecola();
- bool unoprimero();
- };
- colaproductos::colaproductos(){
- firstcola=NULL;
- ncola=0;
- }
- int colaproductos::sizecola(){
- return ncola;
- }
- void colaproductos::pushcola(producto x){
- firstcola=(producto*)realloc((firstcola), (ncola+1)*sizeof(producto));
- firstcola[ncola]=x;
- ncola++;
- }
- producto colaproductos::popcola(){
- int i;
- if (ncola== 0){
- cout << "\nError: cola vacia";
- }
- else{
- producto w = firstcola[0];
- for (i = 0; i < ncola-1; i++){
- firstcola[i] =firstcola[i+1];
- }
- firstcola = (producto*)realloc((firstcola), (ncola-1)*sizeof(producto));
- ncola--;
- return w;
- }
- }
- void colaproductos::imprecola(){
- producto *aux;
- aux = firstcola;
- cout << "Lista de productos\n";
- for (int i = 0; i < ncola; i++) {
- cout << "codigo: ";
- cout << (*aux).vercodigo();
- cout << " precio: ";
- cout << (*aux).verprecio() << endl;
- aux++;
- }
- }
- bool colaproductos::unoprimero(){
- producto *auxi;
- auxi=firstcola;
- int cosiaco;
- for(int i=0;i<ncola;i++){
- cosiaco=((((*auxi).vercodigo())/(10^4))!=1);
- cout<<"\n"<<cosiaco;
- if(cosiaco!=1){
- return false;
- }
- auxi++;
- }
- return true;
- }
- class pilaProductos{
- private:
- producto *primero;
- int n;
- public:
- pilaProductos();
- int longitud();
- void push(producto X);
- producto pop();
- void mostrarElementos();
- int multiplo1000();
- };
- pilaProductos::pilaProductos(){
- primero = NULL;
- n = 0;
- }
- int pilaProductos::longitud(){
- return n;
- }
- void pilaProductos::push(producto X) {
- primero = (producto*)realloc((primero),(n+1)*sizeof(producto));
- primero[n] = X;
- n++;
- }
- producto pilaProductos::pop() {
- producto X;
- if (n == 0){
- cout << "\nError: pila vacia";
- }
- else{
- X = primero[n-1];
- primero = (producto*)realloc((primero), (n-1)*sizeof(producto));
- n--;
- }
- return X;
- }
- void pilaProductos::mostrarElementos(){
- producto *aux;
- aux = primero;
- cout << "Lista de productos\n";
- for (int i = 0; i < n; i++) {
- cout << "codigo: ";
- cout << (*aux).vercodigo();
- cout << " precio: ";
- cout << (*aux).verprecio() << endl;
- aux++;
- }
- }
- int pilaProductos::multiplo1000(){
- int contiplos=0;
- producto *aux;
- aux=primero;
- for(int i=0;i<n;i++){
- if((((*aux).verprecio())%1000)==0){
- contiplos++;
- }
- }
- return contiplos;
- }
- int main(){
- cout<<"comp. correcta";
- colaproductos cola;
- producto p1,p2,p3;
- p1.editarcodigo(10001);
- p1.editarprecio(35750);
- p2.editarcodigo(10002);
- p2.editarprecio(45750);
- p3.editarcodigo(10003);
- p3.editarprecio(55750);
- cola.pushcola(p1);
- cola.pushcola(p2);
- cola.pushcola(p3);
- cola.imprecola();
- if((cola.unoprimero())==true){
- cout<<"\ntodosTienen 1 en el primer digito\n";
- }
- else{
- cout<<"\nNOP\n";
- }
- cout<<"\nPila:\n";
- pilaProductos pila;
- producto prod1, prod2, prod3;
- prod1.editarcodigo(1001);
- prod1.editarprecio(55000);
- prod2.editarcodigo(1002);
- prod2.editarprecio(57000);
- prod3.editarcodigo(1003);
- prod3.editarprecio(43000);
- pila.push(prod1); pila.push(prod2); pila.push(prod3);
- pila.mostrarElementos();
- cout<<"multiplos de 1000 "<<pila.multiplo1000();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment