C++ 通过动态分配内存的方式存储从键盘上获取同学的信息,并且可以显示出来[1]新增 [2]显示结构体数组-->结构体指针同时赋值堆空间

#include <iostream>
#include <cstring>
struct student
{
    char name[1024];
    int age;
    float score;
    struct student *next;
};

int main() 
{
    int n;
    struct student *stu=new struct student;
    struct student *newnode;
    struct student *p;
    while(1)
    {
        std::cout<<"1:增加学生信息\n2:查看学生信息"<<std::endl;
        std::cin>>n;
        switch(n)
        {
            case 1:
                    p=stu;
                    newnode=new struct student;
                    std::cout<<"请输入学生名字"<<"请输入学生年龄"<<"请输入学生分数"<<std::endl;
                    std::cin>>newnode->name>>newnode->age>>newnode->score;
                    std::cout<<"学生名字: "<<newnode->name<<"\n学生年龄: "<<newnode->age<<"\n学生分数: "<<newnode->score<<std::endl;
                    newnode->next=NULL;
                    while(p->next!=NULL)
                    {
                        p=p->next;
                    }
                    p->next=newnode;
                    break;
            case 2:
                    p=stu;
                    newnode=new struct student;
                    std::cout<<"请输入学生名字"<<std::endl;
                    std::cin>>newnode->name;
                    while(p->next!=NULL)
                    {
                        if(strcmp(newnode->name,p->name)==0)
                        {
                            std::cout<<"学生名字: "<<newnode->name<<"\n学生年龄: "<<newnode->age<<"\n学生分数: "<<newnode->score<<std::endl;

                        }
                        p=p->next;
                    }
                    delete newnode;
                    break;
            default:break;
                   


        }
       
       
    }
   
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值