Solamente pon suficiente espacio en los arreglos.
Recuerda char arreglo[10] puede contener hasta 9 caracteres imprimibles por que necesitas dejar uno para indicar el fin de la cadena.
Código C++:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Pórtico con 5 nudos y 4 elementos
//
// BC CB CE EC
// B --------- C ------ E
// | BA CD |
// | |
// | |
// | |
// | AB DC |
// A D
struct elemento{
char nombre[5];
double fem;
double df;
};
struct nudo{
char nombre[5];
struct elemento arriba;
struct elemento abajo;
struct elemento izquierda;
struct elemento derecha;
};
int main()
{
struct elemento barra2;
struct nudo nudo1;
struct nudo nudos[5]; //struct nudo nudos[scanf("%d", &numero)];
barra2.fem = -17.5;
barra2.df = 0.47;
strcpy(nudo1.
arriba.
nombre, "AB"); nudo1.arriba.fem = 20.5;
nudo1.arriba.df = 0.27;
printf("%s\n", barra2.
nombre); printf("%4.2f\n", barra2.
fem);
printf("%s\n", nudo1.
arriba.
nombre); printf("%4.2f\n", nudo1.
arriba.
fem); printf("%4.2f\n", nudo1.
arriba.
df);
return 0;
}
Tu ejemplo funcional.