「已注销」 2021-07-05 12:38 采纳率: 100%
浏览 8
已采纳

这个程序中为什么不能运行,怎么改,p->date=getSIgnal是什么意思

  • #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef struct Information
    {
    char Name[10];
    int KB;//开放表示为0,不开放表示为1;
    float Pos;//位置根据平面图拟定;
    int Type;//信号机性质,列车信号取1,调车信号取0;
    struct date;
    struct Information*next,*front;//前一信号机指针,后一信号机指针;
    }Signal,*pSignal;
    //创建双链表
    pSignal createDlist(pSignal head)
    {
    if(head==NULL)
    {
      head=(pSignal)malloc(sizeof(Information));
      head->front=NULL;//将*head的后继赋值为空; 
      head->next=NULL;//将*head的前驱赋值为空; 
    
    }
    return head;
    
    }
    Information getSignal()//将所需要的数据传给信息链表
    {
    Information information;
    printf("\t信号机名称:");
    scanf("\t%s",&information.Name);
    printf("\t信号机开放状态:");
    scanf("\t%d",&information.KB);
    printf("\t信号机地址:");
    scanf("\t%f",&information.Pos);
    printf("\t闭锁继电器状态:");
    scanf("\t%d",&information.Type);
    return information;
    }
    //插入信息
    pSignal insertSignal(pSignal head)
    {
    if(head==NULL)
    {
      head=createDlist(head);
    
    }
    pSignal p=(pSignal)malloc(sizeof(struct Information));
    p->date
  • =getSignal();
    if(head->next==NULL)
    {
      p->next=head->next;
      head->next=p;
      p->front=head;
      return head;
    
    }
    p->next=head->next;
    head->next->front=p;//将p赋值给p->next的后继;
    head->next=p;
    p->front=head;
    return head;
    }
    //删除信息
    void delete_xinhaoji(pSignal head)
    {
    char Signal_num[20];
    printf("\t请输入要删除的信号机的名称:");
    scanf("%s",Signal_num);
    pSignal temp;
    for(temp=head->next;temp!=NULL;temp=temp->next)
    {
      if(strcmp(temp->Name,Signal_num)==0)
      {
          // 找到需要删除节点的位置
          pSignal front=temp->front;
          pSignal next=temp->next;
          //进行删除操作; 
          front->next=next;
          next->front=front; 
          free(temp);//释放temp所占用的内存; 
          printf("\t\t\t删除信号机成功!\n");
          return ;
      }
    
    }
    if(temp==NULL)
    {
      printf("\t无此信号机!\n");
    
    }
    }
    int main()
    { pSignal head=NULL;//让Signal的头指针为空指针;
    head=createDlist(head);
    insertSignal(head);
    insertSignal(head);
    insertSignal(head);
    insertSignal(head);//调用四次insert函数,插入四组数据;
    delete_xinhaoji(head);//调用delete函数;
    printf("\t");
    system("Pause");
    return 0;
    }

4.
5.

-

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-07-05 13:04
    关注

    p->date=getSIgnal肯定是错的,两遍类型不一致

    void getSignal(Signal *s)//将所需要的数据传给信息链表
    {
    printf("\t信号机名称:");
    scanf("\t%s",s->Name);
    printf("\t信号机开放状态:");
    scanf("\t%d",&s->KB);
    printf("\t信号机地址:");
    scanf("\t%f",&s->Pos);
    printf("\t闭锁继电器状态:");
    scanf("\t%d",&s->Type);
    }
    
    //插入信息
    pSignal insertSignal(pSignal head)
    {
    if(head==NULL)
    {
      head=createDlist(head);
    }
    pSignal p=(pSignal)malloc(sizeof(struct Information));
    getSignal(p);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么