Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Emily en 20 Febrero 2019, 07:28 am



Título: AYUDA!!!Con programa de FILAS
Publicado por: Emily en 20 Febrero 2019, 07:28 am
Hola a todos
en mi programa deseo ingresar unos paquetes en 3 filas diferentes
las frases que ingresaría serian así : SRP102
deseo guardar eso en un fila pero no se como guardar un frase en un espacio de una fila
alguien de favor me podría decir de que manera hacerlo
este es el avance que tengo de mi programa
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5. struct servidor{
  6. char s1[20];
  7. };
  8.  
  9. typedef struct Nodo{
  10.    char Dato[20];
  11.    struct Nodo *sig;
  12. }Nodo;
  13.  
  14. Nodo *Crear1(char dato[20]){
  15. Nodo *espacio;
  16.    espacio=(Nodo*)malloc(sizeof(Nodo));
  17.    espacio->Dato[20]=dato[20];
  18.    espacio->sig=NULL;
  19.    return espacio;
  20. }
  21.  
  22. Nodo *Alta1 (char dato[20],Nodo *frente){
  23.    Nodo *box;
  24.    Nodo *aux;
  25.    box=Crear1(dato);
  26.    if (frente==NULL){
  27.        frente=box;
  28.    }else{
  29.     aux=frente;
  30.        while((aux->sig)!=NULL){
  31.         aux=aux->sig;
  32. }
  33. aux->sig=box;
  34.    }
  35.    return frente;
  36. }
  37.  
  38. void Mostrar (Nodo *top){
  39.    if(top==NULL)
  40.    {
  41.        printf ("\nNo hay ningun dato\n");
  42.    }
  43.    else {
  44.  
  45.        while (top!=NULL)
  46.        {
  47.            printf ("\n| %d |\n ___  ",top->Dato);
  48.            top=top->sig;
  49.        }
  50.        printf("\n");
  51.    }
  52.  
  53. }
  54.  
  55. int main(){
  56.    struct Nodo *Fila;
  57.    Fila=NULL;
  58.    int op;
  59.    char s1[20];
  60. do{
  61. printf ("1.-Ingresar paquetes en el servidor 1\n2.-Ingresar paquetes en el servidor 2\n3.-Ingresar paquetes en el servidor 3\n4.-Salir\nSeleccione una opcion: \n");
  62.        scanf("%d", &op);
  63.     switch(op){
  64.     case 1:
  65.     printf("Ingrese el numero del paquete:  \n");
  66.    scanf("%s",s1);
  67.    Fila=Alta1(s1,Fila);
  68.    Mostrar(Fila);
  69.    system("pause");
  70.    system("cls");
  71.  
  72.    break;
  73.    case 2:
  74. break;
  75. }    
  76. }while(op!=4);
  77. }
  78.  
  79.  


Título: Re: AYUDA!!!Con programa de FILAS
Publicado por: ThunderCls en 20 Febrero 2019, 17:13 pm
Tu error esta en esta linea:

Código
  1. espacio->Dato[20]=dato[20];

Todo lo que logras con eso es asignar el valor que tienes en la posicion 20 de tu arreglo de dato a la misma posicion en tu otro arreglo. Si lo que deseas es copiar una cadena completa puedes usar en este caso:

Código
  1. strncpy(espacio->Dato, dato, 20);