📄 addelete.cpp
字号:
//新建链表存放职工信息
Link Create(Link Head)
{//创建一个带头节点的空链表。
Head=(Link)new Node;
if(!Head)
{
cout<<"分配内存失败!"<<endl;
return NULL;
}/*
Head->m_Code="";
Head->m_Name="";
Head->m_Year="";
Head->m_Sex="";
Head->m_Post="";
Head->m_Department="";
Head->m_Wage=""; */
Head->Next=NULL;
return Head;
}
void Release(Link Head)
{//释放链表。
Link ptr;//声明一个操作用的指针。
while(Head!=NULL)
{
ptr=Head;
Head=Head->Next;
delete ptr;//释放节点资源。
}
}
Link Add(Link Head)
{//前插法添加数据。
Link pNew;// 声明一个新节点。
string again;
int flag;
string code,name,sex,post,department,year;
//unsigned short int year;
unsigned int wage;
//string wage;
do
{
pNew=(Link)new Node;
//数据
cout<<"请输入职工代码:";
cin>>code;
cout<<endl<<"请输入职工姓名:";
cin>>name;
cout<<endl<<"请输入职工出生日期:";
cin>>year;
while(cin.fail())
{
cout<<"请输入正确的日期格式。"<<endl;
cin.clear();
fflush(stdin);
cin>>year;
}
cout<<endl<<"请输入职工性别(1.男/2.女):";
while(1){
cin>>sex;
if(sex=="1"||sex=="2")break;
else cout<<"输入有误!请重新输入:";
}
cout<<endl<<"请输入职工职称:";
cin>>post;
cout<<endl<<"请输入职工部门:";
cin>>department;
cout<<endl<<"请输入职工工资:";
cin>>wage;
while(cin.fail())
{
cout<<"请输入正确的工资数据:";
cin.clear();
fflush(stdin);
cin>>wage;
}
cout<<endl;
pNew->m_Code=code;
pNew->m_Name=name;
pNew->m_Year=year;
pNew->m_Sex=sex;
pNew->m_Post=post;
pNew->m_Department=department;
pNew->m_Wage=wage;
//***********************************
/* strcpy(pNew->m_Code,code);//因ptr是前趋节点,所以要用ptr->Next;
strcpy(pNew->m_Name,name);
strcpy(pNew->m_Year,year);
strcpy(pNew->m_Sex,sex);
strcpy(pNew->m_Post,post);
strcpy(pNew->m_Department,department);
strcpy(pNew->m_Wage,wage); */
//*********************************
//指针域。
pNew->Next=Head->Next;
Head->Next=pNew;
cout<<"数据添加成功!是否继续添加(Y/N)?"<<endl;
while(1){
cin>>again;
if(again=="N"||again=="n"){ flag=0;break;}
else if(again=="Y"||again=="y"){ flag=1;break;}
else cout<<"输入有误!请重新选择:";
}
}while(flag);
cout<<"数据添加成功,请注意保存!\n";
return Head;
}
/*Link Del(Link Head)
{
Link ptr;
Link ptr_front;
ptr_front=Search_Unique_Front(Head);
ptr=ptr_front->Next;
if(ptr)
{
ptr_front->Next=ptr->Next;
delete ptr;//删除此节点。
cout<<"\n该条记录已成功删除!\n";
}
else cout<<"没找到此职工的记录,无法删除。"<<endl;
return Head;
}*/
//删除职工信息
Link Del(Link &Head)
{
int flag=0;
string code;
cout<<"输入你要删除的职工代码:";
cin>>code;
Link ptr;
Link ptr_front;
ptr_front=Head;
while(ptr_front){
ptr=ptr_front->Next;
if(ptr==NULL) break;
else if(ptr->m_Code==code){
flag=1;
ptr_front->Next=ptr->Next;
delete ptr;//删除此节点。
}
ptr_front=ptr_front->Next;
}
if(flag) cout<<"\n该条记录已成功删除!注意文件的保存!\n";
else cout<<"没找到此职工的记录,无法删除!"<<endl;
return Head;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -