Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: evanderxzxtg en 20 Marzo 2019, 06:07 am



Título: Ayuda con cola dinámica para calculadora de números complejos
Publicado por: evanderxzxtg en 20 Marzo 2019, 06:07 am
Mi código compila, pero al ejecutar me marca bus error 10, no se que esta fallando.Estoy intentando capturar datos en una cola dinámica.
Mi código se va de dos partes, la biblioteca "Complejos.h" y la función principal main

Complejos.h

Last login: Tue Mar 19 22:45:55 on ttys000
MacBook-Pro-de-Evander:~ evander19tggmail.com$ cd desktop
MacBook-Pro-de-Evander:desktop evander19tggmail.com$ cd complejos3
MacBook-Pro-de-Evander:complejos3 evander19tggmail.com$ emacs Complejos.h





















void primero(numero *inicio,numero **tail)
{
  numero *aux=inicio;

}

void siguiente(numero *inicio,numero **tail){
  numero *aux=inicio;
  aux=aux->sig;
  **tail=*aux;
}

void imprimeNumero(numero *elemento)
{

  printf("\t %d----> %s----->%d",elemento->real,elemento->imaginaria,elemento->coefi\
cienteI);
}

Función main

#include<stdlib.h>
#include<stdio.h>
#include"Complejos.h"


int main(){

  complex();

}



Título: Re: Ayuda con cola dinámica para calculadora de números complejos
Publicado por: evanderxzxtg en 20 Marzo 2019, 06:14 am

Mi código compila, pero al ejecutar me marca bus error 10, no se que esta fallando.Estoy intentando capturar datos en una cola dinámica.
Mi código se va de dos partes, la biblioteca "Complejos.h" y la función principal main

Complejos.h


typedef struct complejos{

  int real;
  char *imaginaria;
  int coeficienteI;
  struct complejos *sig;
}numero;

 numero *  CrearNumero(int r,char *i, int c);
 void insertar(numero *inicio, numero *elemento);
 void imprimeNumero(numero *elemento);
 int complex(void);

int complex(void){
  char opcion;
  int x,z;
  char y;
  printf("\tBienvenido a su calculadora de números complejos\n\n");
  printf("\t   Seleccione la operación que desea realizar:\n");
  printf("\t    a.Suma\n\n");
  printf("\t    b.Multiplicación\n\n");
  printf("\t    c.Potencia\n\n");
  printf("\tOpción:");
  scanf("%c",&opcion);
  switch(opcion)
    {
    case 'a':system("clear");
      printf("hola\n");
      numero *elemento;
      numero *inicio;
      numero *nuevo;
      scanf("%d  %d",&x,&z);
      elemento= CrearNumero(x,"i",z);
      insertar(inicio,elemento);
      imprimeNumero(elemento);
      printf("\n");
    }

  return 0;
}

numero* CrearNumero(int r,char *i, int c)
{
  numero* nuevo=(numero*) malloc(sizeof(numero*));
  nuevo->real=r;
  nuevo->imaginaria=i;
  nuevo->coeficienteI=c;
  nuevo->sig=NULL;
  return nuevo;
}

void insertar(numero *inicio, numero *elemento){

  numero *aux=inicio;
  while(aux->sig==NULL){
    aux=aux->sig;
  }
  aux->sig=elemento;
}

void primero(numero *inicio,numero **tail)
{
  numero *aux=inicio;

}

void siguiente(numero *inicio,numero **tail){
  numero *aux=inicio;
  aux=aux->sig;
  **tail=*aux;
}

void imprimeNumero(numero *elemento)
{

  printf("\t %d----> %s----->%d",elemento->real,elemento->imaginaria,elemento->coefi\
cienteI);
}



Función main

#include<stdlib.h>
#include<stdio.h>
#include"Complejos.h"


int main(){

  complex();

}


[/quote]