Es preferible que uses el resaltado de código para mostrar tu implementación.
Código C++:
Ver original#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
typedef struct pila {
int tope;
int pila[50000];
} tipo_pila;
void nuevaPila(tipo_pila *ptr_pila) {
ptr_pila->tope = 0;
}
void push(tipo_pila *ptr_pila, int tipoElemento) {
if (ptr_pila == NULL)
return;
else {
ptr_pila -> pila[ptr_pila -> tope++] = tipoElemento;
return;
}
}
int sacar(tipo_pila *ptr_pila) {
return ptr_pila->pila[--ptr_pila->tope];
}
int obtener(tipo_pila *ptr_pila) {
return ptr_pila->pila[ptr_pila->tope - 1];
}
int vacia(tipo_pila *ptr_pila) {
if (ptr_pila->tope == 0)
return 1;
else
return 0;
}
int llena(tipo_pila *ptr_pila) {
if (ptr_pila-> tope == 50000)
return 1;
else
return 0;
}
int main() {
tipoelemento, *tipo_pila, *aux, menor = 50000;
int cantidad, codigo, cd;
ptr_pila
= (tipo_pila
*) malloc(sizeof(tipo_pila
)); nuevaPila( ptr_pila);
printf("introduzca el codigo:"); if (cd.codigo == 0)
return 1;
else {
while (cd.codigo != 0) {
printf("introduzcael nombre:"); printf(" introduzca la cantidad"); push(ptr_pila, cd);
printf("introduzca el codigo:"); }
visualpila(ptr_pila);
printf("los discos con mas de 1000 copias vendidas:\n"); while (!vacia(ptr_pila)) {
cd = pop(ptr_pila);
if (cd.cantidad > 1000)
printf("%d %s %d \n", cd.
codigo, cd.
nombre, cd.
cantidad); if (cd.cantidad < menor)
menor = cd.cantidad;
push(aux, cd);
}
printf("discos con menores copias \n"); while (!vacia(aux)) {
cd = pop(aux);
if (cd.cantidad == menor)
printf("%d %s %d \n", cd.
codigo, cd.
nombre, cd.
cantidad); else
push(ptr_pila.cd);
}
}
Bueno, veo un horrores, no errores en tu código:
En la línea 42 no se sabe que tipo es tipoelemento,
en la linea 44 no se sabe de que tipo es ptr_pila,
en la linea 47 tratas a cd como una estructura cuando este es declarado como un entero.
.
.
.
y en fin me canso escribir todo lo que veo
Un consejo, cuando programas aplicaciones largas ve siempre probando las funciones que tienes completas en cada paso y no después de haber escrito todo verificar si esta funciona bien, ya que si salta un error, la depuración es de todo y no de una parte específica, eso es una muy mala práctica en programación.