elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  No se eliminan nodos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No se eliminan nodos  (Leído 1,992 veces)
BJM

Desconectado Desconectado

Mensajes: 41


Ver Perfil
No se eliminan nodos
« en: 21 Enero 2013, 15:58 pm »

El programa compila bien pero en el punto donde se ingresa la cant de carros a eliminar y se invoca a la funcion pop, aparece un cuadro de dialogo que dice: se ha producido un problema, abajo el codigo:

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. typedef struct{
  5.        char marca[15];
  6.        int año;
  7.        }tipocarro;
  8.  
  9. typedef struct estrunodo {
  10.   tipocarro datos;
  11.   struct estrunodo *siguiente;
  12. } tipoNodo;
  13.  
  14. typedef tipoNodo *apunpila;
  15. typedef tipoNodo *apunnodo;
  16.  
  17. void push(apunpila *tope,tipocarro b);
  18. void pop(apunpila *tope,tipocarro *b);
  19.  
  20. main() {
  21.   tipocarro carro;
  22.   int i,cont=0,num;
  23.   apunpila pila = NULL;
  24.  
  25.   while(cont<5){
  26.   printf("\n Marca: ");
  27.   scanf("%s",carro.marca);    
  28.    printf("\n Año: ");
  29.   scanf("%d",&carro.año);
  30.   push(&pila,carro);
  31.   cont++;
  32.     }
  33.  
  34. printf("\n\n Carros a eliminar: ");
  35. scanf("%d",&num);
  36.  
  37.  
  38.   for(i=1;i<=num;i++){
  39.      if (pila==NULL)
  40.       printf("\n No hay carros");
  41.  
  42.      else{
  43.       pop(&pila,&carro);
  44.       printf("\n %s de %s\n",carro.marca,carro.año);
  45.      }
  46.   }                      
  47.   printf("\n\n");
  48.   system("pause");
  49.  
  50. }
  51.  
  52. void push(apunpila *tope,tipocarro b){
  53.   apunnodo p;
  54.   p = (apunnodo)malloc(sizeof(tipoNodo));
  55.   p->datos = b;
  56.   p->siguiente = *tope;
  57.   *tope = p;
  58. }
  59.  
  60. void pop(apunpila *tope,tipocarro *b){
  61.   apunnodo p;
  62.   p = *tope;
  63.   *tope = p->siguiente;
  64.   *b= p->datos;
  65.   free(p);
  66. }
  67.  


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: No se eliminan nodos
« Respuesta #1 en: 21 Enero 2013, 16:23 pm »

Lo primero que debes hacer es cambiar la definición de la función main a "int main(void) ..." o "int main() ..." e indicar su valor de retorno con al menos "return 0;". También debes cambiar el nombre del campo "año" ya que la 'ñ' no es un carácter valido para nombres de variables y campos. Mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|.

Un error importante se encuentra al tratar de imprimir los datos de la pila:
Código
  1. printf ("\n %s de %s\n", carro.marca, carro.año);
Para imprimir el campo año que es de tipo int debes utilizar el especificador de formato "%d".

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
BJM

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: No se eliminan nodos
« Respuesta #2 en: 22 Enero 2013, 21:19 pm »

Exactamente el error estaba en el formato de los datos especificado en printf, gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con facebook o ya lo eliminan XD
Foro Libre
ANTRUCK 2 2,069 Último mensaje 11 Agosto 2011, 06:39 am
por ANTRUCK
nodos
Programación C/C++
alea 1 2,111 Último mensaje 3 Marzo 2012, 10:45 am
por Xandrete
[¿Sugerencia?] ¿Se eliminan las cuentas abandonadas?
Sugerencias y dudas sobre el Foro
Ori-chan 2 2,514 Último mensaje 21 Diciembre 2012, 21:10 pm
por Ori-chan
Me eliminan siempre mi cuenta
Foro Libre
gravedigerg 9 2,456 Último mensaje 25 Agosto 2014, 03:46 am
por @synthesize
por que eliminan mis Temas que publico
Sugerencias y dudas sobre el Foro
p0tat0.exe 6 2,855 Último mensaje 1 Febrero 2015, 20:21 pm
por p0tat0.exe
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines