De C++ a C

Iniciado por Rich_crazy2, 21 Noviembre 2011, 01:54 AM

0 Miembros y 1 Visitante están viendo este tema.

Queta

¿Por qué el código completo? Como ya dijo Ferno solamente tienes que mirar el tipo de dato de placa.

Cita de: Ferno en 21 Noviembre 2011, 03:46 AM
los cin por scanf (aunque la lectura de datos ofrece bastantes opciones, la standard es scanf).

¿Estándar? Estándar son todas las funciones de la librería de C.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

Ferno

Cita de: Queta en 21 Noviembre 2011, 17:55 PM
¿Estándar? Estándar son todas las funciones de la librería de C.

Sí, me expresé mal. Lo que quería decir en realidad es que scanf es la que generalmente se utiliza para empezar, y es la más análoga a cin.

terym

hola disculpen soy nueva en esto y me encontre con este foro q me parecio interesante y creo q me podrian ayuda estoy implementando una pila
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>


  /* declaracion */
struct tpila{
  int clave;
  struct tpila *sig;
};
   /* prototipos e implementacion */

void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);
int desapilar(struct tpila *pila,int *elem);
void imprimirpila( struct tpila *ptrActual,struct tpila *pila);


void imprimirpila( struct tpila *ptrActual,struct tpila *pila)
{


    printf( "La pila es:\n\n" );


    while ( ptrActual != NULL) {
        printf( "%d -> ", ptrActual->clave );
       ptrActual= pila->sig;
       pila->sig= ptrActual;
       system("pause");



    }
     printf( "apunta a null\n" );


}




void crear(struct tpila **pila)
{  *pila = (struct tpila *) malloc(sizeof(struct tpila));

  (*pila)->sig = NULL;

  printf("pila creada\n");
}

int vacia(struct tpila *pila){
  return (pila->sig == NULL);
}

void apilar(struct tpila *pila, int elem){
  struct tpila *nuevo;

  nuevo = (struct tpila *) malloc(sizeof(struct tpila));


  nuevo->clave = elem;
   nuevo->sig = pila->sig;
  pila->sig = nuevo;
}

int desapilar(struct tpila *pila,int *elem){
  struct tpila *aux;


  aux = pila->sig;
  *elem= aux->clave;
  pila->sig = aux->sig;
  free(aux);
  return *elem;
}

   /* programa de prueba */
int main(void)
{
  struct tpila *pila;
  int elem,opc,reg;
  crear(&pila);

do{
  printf("que deseas hacer  1)apilar 2)desapilar 3)imprimir\n");
  scanf("%d",&opc);


  switch(opc){

    case 1:

    printf("introduce el numero a apilar");
      scanf("%d",&elem);
     apilar(pila,elem);
   printf("pulse la tecla 5 para regresar al menu principal");
    scanf("%d",&reg);
    break;

    case 2:
    if(!vacia(pila)){
     desapilar(pila,&elem);
     printf( "elemento retirado\n");
    }
                else
                    printf( "La pila esta vacia\n" );
                break;

    case 3:
    if ( !vacia( pila ) )
    imprimirpila( pila );
                else
                    printf( "La pila esta vacia\n" );
                    printf("pulse la tecla 5 para regresar al menu principal");
    scanf("%d",&reg);
                break;

    }

}
  while(reg==5);
return 0;



}
les vuelvo a comentar soy principiante si alguien me podri ayudar les agradeceria mucho el error esta ala hora de imprimir

terym

le dejo mi correoo  terezza_31@hotmail.com por si alguien me pudiese ayudar