• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

在结构体链表的结尾增加一个节点,再输出,为什么最后一个节点的输出会是乱

#include
#include
#include
int n=5;//定义全局变量记录系统图书总量
typedef struct book
{
    int ISBN;//图书编号
    char name[30];//书名
    char writer[30];//作者
    char publisher[30];//出版社
    char time[30];//出版日期
    int price;//价格
    struct book *next;
}book;
book *create()
{
    book *head=NULL,*p=NULL,*q=NULL;
    FILE *fq;
    fq=fopen("book.txt","r");
    int i=0;
    while(iISBN,p->name,p->writer,p->publisher,p->time,&p->price);
        i++;
        p->next=NULL;
        if(i==1)
            head=p;
        else
            q->next=p;
            q=p;
    }
    fclose(fq);
    return head;
}//将已知文件中的各图书信息存入一个新建的链表
void print(book *head)
{
    book *p=NULL,*q=NULL;
    p=head;
    while(p->next!=NULL)
    {
        printf("ISBN号:%d 书名:%s 作者:%s 出版社:%s 出版时间:%s 价格:%d\n",p->ISBN,p->name,p->writer,p->publisher,p->time,p->price);
        p=p->next;
    }
}
void add()
{
    book *h=NULL;
    FILE *fp;
    fp=fopen("book.txt","a+");
    int a,b,x;
    char c[30],d[30],e[30],f[30],k=' ';
    printf("请输入图书ISBN号:");
    scanf("%d",&a);
    fprintf(fp,"\n%d ",a);
    printf("请输入书名:");
    scanf("%s",c);
    fputs(c,fp);
    fputc(k,fp);
    printf("请输入作者:");
    scanf("%s",d);
    fputs(d,fp);
    fputc(k,fp);
    printf("请输入出版社:");
    scanf("%s",e);
    fputs(e,fp);
    fputc(k,fp);
    printf("请输入出版时间:");
    scanf("%s",f);
    fputs(f,fp);
    printf("请输入价格:");
    scanf("%d",&b);
    fprintf(fp," %d",b);
    printf("请选择下一步操作;\n");
    printf("1.继续录入图书信息  0.查看当前图书情况\n");
    scanf("%d",&x);
    n++;
    if(x==0)
        {h=create();
        print(h);}
    if(x==1)
        add();
    fclose(fp);
}//录入图书信息
int main()
{
    book *h,*p;
    int a;
    printf("欢迎使用图书登记管理程序\n");
    printf("请选择您的功能序号\n");
    printf("1.录入图书信息  2.查找图书信息\n");
    printf("3.修改图书信息  4.删除图书信息\n");
    printf("5.根据书名查找图书\n");
    printf("6.根据出版社查找图书\n");
    printf("7.统计出版社出版的图书数量\n");
    printf("8.浏览系统图书总量\n");
    scanf("%d",&a);
    switch(a)
    {
        case 1:add();break;
        /*case 2:head=;break;
        case 3:head=;break;
        case 4:head=;break;
        case 5:head=;break;
        case 6:head=;break;
        case 7:head=;break;*/
        case 8:h=create();
               print(h);break;
    }
}
book.txt内容为:
1 a1 a a2 1999.1.1 20
2 b1 b b2 2000.1.1 30
3 c1 c c2 2000.1.2 30
4 d1 d d2 2001.1.1 40
5 e1 e e2 2001.1.1 30

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!