c语言数据结构大作业题目,数据结构大作业,求大神解答写出来第一个第二个功能就行求求了跪...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

不知道对不对,实验了下应该没问题,拿去用,实现了1,2个部分,不想写了,我头有点痛。

#include

#include

#include

typedef struct student

{

char name[20];

char numble[20];

int Basic;/*基础课学分*/

int Profess;/*专业课学分*/

int Elect;/*选修课学分*/

int HumCulture;/*人文课学分*/

int Experiment;/*实验课学分*/

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

struct student *next;

}Linklist;

Linklist *Init(Linklist *head)/*初始化*/

{

head=(Linklist *)malloc(sizeof(Linklist));

head->next=NULL;

return head;

}

Linklist *add(Linklist *head)/*添加学生信息*/

{

Linklist *q,*p;

int i,j,n;

i=0;

p=head->next;

printf("请输入你要添加的学生的数量:\n");

scanf("%d",&n);

while(i

{

while(1)

{

q=(Linklist *)malloc(sizeof(Linklist));

if(q==NULL)

{

printf("添加失败!\n");

return head;

}

printf("请输入该学生的姓名:\n");

scanf("%s",&q->name);

printf("请输入该学生的学号:\n");

scanf("%s",&q->numble);

while(p!=NULL)

{

if(strcmp(q->numble,p->numble)==0)

{

printf("这个学生信息已经添加过,请重新输入!\n");

free(q);

j=0;

break;

}

p=p->next;

}

if(j==0)

break;

printf("请输入该学生的基础学分:\n");

scanf("%d",&q->Basic);

printf("请输入该学生的专业学分:\n");

scanf("%d",&q->Profess);

printf("请输入该学生的选修学分:\n");

scanf("%d",&q->Elect);

printf("请输入该学生的人文学分:\n");

scanf("%d",&q->HumCulture);

printf("请输入该学生的实验学分:\n");

scanf("%d",&q->Experiment);

printf("请输入该学生所在班级:\n");

scanf("%s",&q->Class);

q->next=head->next;

head->next=q;

i++;

break;

}

}

return head;

}

void find(Linklist *head)/*查找学生信息*/

{

char num[20];

printf("请输入你要查找的学生学号:\n");

scanf("%s",num);

Linklist *q;

q=head->next;

while(q!=NULL)

{

if(strcmp(q->numble,num)==0)

{

printf("该名学生的姓名:%s,基础课学分:%d,专业课学分:%d,选修课学分:%d,人文课学分:%d,实验课课学分:%d\n",q->name,q->Basic,q->Profess,q->Elect,q->HumCulture,q->Experiment);

return ;

}

q=q->next;

}

printf("没有找到该名学生!\n");

}

void main()

{

Linklist *stu;

stu=Init(stu);

add(stu);

find(stu);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值