Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Gallu

#1
Pues no se estará incluyendo por la condición elif.

Echando un ojo por encima, veo que para que se cumpla esa condición y se incluya la librería iom328p al incluir io.h, es posible que tengas que añadir alguna directiva al compilador, no estoy seguro de esto eso si, te doy una idea para que lo investigues.

échale un ojo a esto

http://www.atmel.com/webdoc/avrlibcreferencemanual/using_tools_1using_avr_gcc_mach_opt.html


Por curiosidad, qué estás programando ?

Saludos
#2
Tiene pinta de que las dependencias se están pegando de ostias, si te fijas el mensaje parece claro

/* This file should only be included from <avr/io.h>, never directly. */

Es posible que tal y como indica el mensaje, si incluyes io.h ya puedas acceder a las funciones de iom328p.h ??

Desde luego, si revisas el fuente de io.h te encuentras algo como esto:

#elif defined (__AVR_ATmega328P__) || defined (__AVR_ATmega328__)
#include <avr/iom328p.h>
#elif defined (__AVR_ATmega329__) || defined (__AVR_ATmega329A__)



Espero que te sirva.

Saludos
#4
Entiendo que cuando dices imprimir te refieres a que quieres que se muestre la carta en consola, verdad  ??, si la respuesta es que si, pues lo que yo haría sería generar las imágenes en ascii y luego imprimirlas en la consola con print , hay webs que te generar ascii a partir de una imagen, por ejemplo :


https://manytools.org/hacker-tools/convert-images-to-ascii-art/go

Espero te sirva
#5
Hola, yo haría lo siguiente, no lo he probado eso si, puede haber errores, échale un ojo


#include <stdio.h>

typedef struct{
int dorsal;
char nome[20];
int abandonos[4];
}Corredor;

void introducirDatosCorredor(Corredor * runner){ //por favor usa nombres de variable y funciones más descriptivos, intenta mantener también una buen identación

printf("Introduce dorsal:\n");
scanf("%d\n",&(*runner->dorsal));

printf("Introduce nome:\n");
scanf("%s\n",&(*runner->nome));

for(int i=0;i<4;i++){
printf("Introduce 0 se houbo abandono:\n");
scanf("%d\n",&(*runner->abandonos[i]));
}

}

int main() {
    int i;
    int numcorr ;
    Corredor corredores[numcorr];

    printf("Introduce o número de corredores que participan:\n");
    scanf("%d\n",&numcorr);

    for(i=0;i<numcorr;i++){
Corredor corredorAux;
introducirDatosCorredor(&corredorAux); 
        corredor[i]= corredorAux;
    }
}
#6
Programación C/C++ / Re: Ayuda ficheros c
2 Noviembre 2017, 16:20 PM
Y qué error te da exactamente  ?
#7
Hola, gracias por el aporte, aunque no me soluciona el problema, continúa lanzando el mismo error, nadie se ha topado con esto?

Saludos
#8
Hola, tal y como explico en el título, inexplicablemente estoy teniendo un segmentacion fault al intentar liberar memoria de un puntero previamente creado con malloc, agradezco cualquier aporte, os pego la función, ojo, el error ocurre SOLO cuando paso por segunda vez por dentro de la función, la primera vez funciona sin problema.



void cleanScrean(){
    #ifdef WINDOWS
             system("CLS");
          #elif defined UNIX
             system("clear");
          #endif
}

void cleanBuffer(){
int ch;
while ((ch = getchar()) != '\n' && ch != EOF)
    ;
}

Viajero*  crearViajero(){
Viajero * viajero = (Viajero *) malloc(sizeof(Viajero));

cleanScrean();

char * nombreTemp = (char *) malloc(sizeof(char) * 255);
printf("Nombre del viajero.\n");
cleanBuffer();

fgets(nombreTemp, 255 , stdin);
viajero->nombre = (char *) malloc(sizeof(strlen(nombreTemp)));
strncpy(viajero->nombre, nombreTemp , strlen(nombreTemp)); 

printf("Apellido del viajero.\n");

fgets(nombreTemp, 255 , stdin);
viajero->apellido = (char *) malloc(sizeof(strlen(nombreTemp)));
strncpy(viajero->apellido, nombreTemp , strlen(nombreTemp)); 

free(nombreTemp);

return viajero;
}
#9
Las fuentes (cpp) de los que dependes están compiladas  ???
#10
Hola, seguro que no se están linkando bien las fuentes, qué ide estás usando  ?? , has probado en incluir el cpp en lugar del hpp ??

Saludos