c语言void main()报错_c语言中undefined reference to「建议收藏」

c语言void main()报错_c语言中undefined reference to「建议收藏」Doxers2013.06.28采纳率:9%等级:14已帮助:2826人说明:保存程序源代码时,必须以.c为后缀名.详细的程序代码如下:(给出了详细的解释,本程序在vc6.0或tc2.0都编译通过)#include#

d5e28fc13f9721c1de120bfcf5111577.png

Doxers

2013.06.28

d5e28fc13f9721c1de120bfcf5111577.png

采纳率:9%    等级:14

已帮助:2826人

说明:保存程序源代码时,必须以.c为后缀名.

详细的程序代码如下:(给出了详细的解释,本程序在vc6.0或tc2.0都编译通过)

#include

#include

#include

#include

#include

typedef struct student

{

char sequencenumber[10];/*序号*/

char name[20];/*姓名*/

char classnumber[20];/*班级*/

char telephone[20];/*手机号*/

char e_mail[20];/*email*/

char dormitorynumber[10];/*宿舍号*/

struct student *next;

}student;

student *headlink;/*链表表头指针*/

/*以下是函数声明*/

void desplaymenu(void);

void createheadlink(void);

student *mallocnode(void);

void getinformation(student *t);

void outputinformation(void);

void classnumberbytelephone(void);

void desplayinfobysequencenumber(void);

void desplayonenode(student *t);

void insertonenode(student *t);

void deletenodebysequencenumber(void);

void desplayinfobyname(void);

int choose;/*用于接受用户的选择*/

/*主函数*/

void main()

{

createheadlink();

desplaymenu();

}

/************************************

函数功能:显示菜单,根据用户的输入

完成相应的功能

************************************/

void desplaymenu(void)

{

student *p;

printf(“\n——-请选择相应功能————-\n\n”);

printf(“| 1 显示所有学生信息 |\n”);

printf(“| 2 按学生序号高到低排序 |\n”);

printf(“| 3 根据学生序号查询学生的信息 |\n”);

printf(“| 4 根据学生姓名查询学生的信息 |\n”);

printf(“| 5 增加一个学生 |\n”);

printf(“| 6 删除某一学生 |\n”);

printf(“| 7 退出 |\n\n”);

scanf(“%d”,&choose);/*取得用户的选择*/

switch(choose)

{

case 1:

outputinformation();

break;

case 2:

classnumberbytelephone();

break;

case 3:

desplayinfobysequencenumber();

break;

case 4:

desplayinfobyname();

break;

case 5:

p=mallocnode();/*先申请一个新结点*/

getinformation(p);/*要求用户输入信息到新结点中*/

insertonenode(p);/*将新结点加到链表中*/

break;

case 6:

deletenodebysequencenumber();

break;

case 7:

free(headlink);/*先释放内存空间*/

exit(1);

break;

default:

break;

}

desplaymenu();/*递归调用*/

}

/************************************

函数功能:建立链表表头

************************************/

void createheadlink(void)

{

student *p;

p=(student*)malloc(sizeof(student));

headlink=p;

p->next=null;

}

/************************************

函数功能:申请一个新结点,并将其初始化

************************************/

student *mallocnode(void)

{

student *p;

int i;

p=(student*)malloc(sizeof(student));

if(p==null)

return null;

for(i=0;i<10;i++)

p->sequencenumber[i]=’\0′;

for(i=0;i<20;i++)

p->classnumber[i]=’\0′;

for(i=0;i<20;i++)

p->name[i]=’\0′;

for(i=0;i<20;i++)

p->e_mail[i]=’\0′;

for(i=0;i<10;i++)

p->dormitorynumber[i]=’\0′;

for(i=0;i<10;i++)

p->telephone[i]=’\0′;

p->next=null;

return p;

}

/************************************

函数功能:取得用户输入的学生信息

************************************/

void getinformation(student *t)

{

printf(“请输入序号:\n”);

scanf(“%s”,t->sequencenumber);

printf(“请输入班级:\n”);

scanf(“%s”,t->classnumber);

printf(“请输入姓名:\n”);

scanf(“%s”,t->name);

printf(“请输入电话:\n”);

scanf(“%s”,t->telephone);

printf(“请输入email:\n”);

scanf(“%s”,t->e_mail);

printf(“请输入宿舍号:\n”);

scanf(“%s”,t->dormitorynumber);

}

/************************************

函数功能:在链表的结尾处增加一个结点

************************************/

void insertonenode(student *t)

{

student *p;

p=headlink;

while(p->next)

{

p=p->next;

}

p->next=t;

}

/************************************

函数功能:根据用户输入的序号显示该序号学生的信息

************************************/

void desplayinfobysequencenumber(void)

{

student *p;

char good[10];

char flag=0;

p=headlink->next;

if(p==null)

{

printf(“对不起,现在没有学生信息!\n”);

return;

}

printf(“请输入序号:\n”);

scanf(“%s”,good);

while(p)

{

if(strcmp(p->sequencenumber,good)==0)

{

desplayonenode(p);

flag=1;

break;

}

p=p->next;

}

if(!flag)

printf(“对不起,不存在序号为 %s 的学生\n”,good);

}

/************************************

函数功能:根据用户输入的姓名显示该学生的信息

************************************/

void desplayinfobyname(void)

{

student *p;

char name[10];

char flag=0;

p=headlink->next;

printf(“请输入姓名:\n”);

scanf(“%s”,name);

while(p)

{

if(strcmp(p->sequencenumber,name)==0)

{

desplayonenode(p);

flag=1;

break;

}

p=p->next;

}

if(!flag)

printf(“对不起,不存在姓名为 %s 的学生\n”,name);

}

/************************************

函数功能:输出一个学生结点的信息

************************************/

void desplayonenode(student *t)

{

printf(“%s\t”,t->sequencenumber);

printf(“%s\t”,t->classnumber);

printf(“%s\t”,t->name);

printf(“%s\t”,t->telephone);

printf(“%s\t”,t->e_mail);

printf(“%s\t\n”,t->dormitorynumber);

}

/************************************

函数功能:根据用户输入的序号删除该学生

************************************/

void deletenodebysequencenumber(void)

{

char good[10];

student *p,*q;

char flag=0;

printf(“请输入要删除的学生序号:”);

scanf(“%s”,good);

p=headlink;

q=headlink->next;

while(q)

{

if(strcmp(q->sequencenumber,good)==0)

{

p->next=q->next;

free(q);

flag=1;

break;

}

p=p->next;

q=q->next;

}

if(!flag)

printf(“不存在这学生\n”);

}

/************************************

函数功能:显示所有学生的信息

************************************/

void outputinformation(void)

{

student *p;

p=headlink->next;

if(p==null)

{

printf(“现在没有学生信息,请先输入学生\n\n”);

return;

}

printf(“序号\t班级\t姓名\t电话\t邮箱\t宿舍号\t\n”);

while(p)

{

desplayonenode(p);

p=p->next;

}

}

/************************************

函数功能:根据用户输入的班级,按序号到低排序

************************************/

void classnumberbytelephone(void)

{

char classnumber[20];

student exchange,*r,*p,*q;

r=headlink->next;

if(r==null)

{

printf(“现在还没学生信息,请先输入学生信息\n”);

return;

}

printf(“请输入班级名:\n”);

scanf(“%s”,classnumber);

while(r)/*两层while循环实现排序*/

{

p=r;

q=r->next;

while(q)

{

if((strcmp(p->sequencenumber,q->sequencenumber)>0)/*序号大时才交换*/

&&(strcmp(p->classnumber,classnumber)==0)/*并且班级相同时才交换*/

&&(strcmp(q->classnumber,classnumber)==0))

{

strcpy(exchange.sequencenumber,q->sequencenumber);/*先复制q结点信息到exchange*/

strcpy(exchange.e_mail,q->e_mail);

strcpy(exchange.dormitorynumber,q->dormitorynumber);

strcpy(exchange.name,q->name);

strcpy(exchange.classnumber,q->classnumber);

strcpy(exchange.telephone,q->telephone);

strcpy(q->sequencenumber,p->sequencenumber);/*再复制p结点信息到q*/

strcpy(q->e_mail,p->e_mail);

strcpy(q->dormitorynumber,p->dormitorynumber);

strcpy(q->name,p->name);

strcpy(q->classnumber,p->classnumber);

strcpy(q->telephone,p->telephone);

strcpy(p->sequencenumber,exchange.sequencenumber);/*最复制exchange结点信息到p*/

strcpy(p->e_mail,exchange.e_mail);

strcpy(p->dormitorynumber,exchange.dormitorynumber);

strcpy(p->name,exchange.name);

strcpy(p->classnumber,exchange.classnumber);

strcpy(p->telephone,exchange.telephone);

}

q=q->next;

}

r=r->next;

}

}

00分享举报

今天的文章c语言void main()报错_c语言中undefined reference to「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89528.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注