#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;
}
C++ 通过动态分配内存的方式存储从键盘上获取同学的信息,并且可以显示出来[1]新增 [2]显示结构体数组-->结构体指针同时赋值堆空间
于 2023-11-02 16:23:54 首次发布