资源简介
C++6.0 编写的家谱管理系统 适合各类学生学习参考 内含报告
代码片段和文件信息
#include “fstream.h“
#include “iostream.h“
#include “stdlib.h“
#include “string.h“
#include “FamilyData.h“
//************************************************************************************************
//添加人
//************************************************************************************************
void FamilyData::addperson()
{
FamilyData person;
char name[14]; //人名
char birthday[11]; //生日
char married; //是否结婚
char address[100]; //地址
char live; //是否健在
char deaddate[11]; //如果死亡死亡日期
fstream dataFile;
char name1[14]=“0000000000000“; //这人已删除,在文件中位置可看为空
char again=‘y‘;
int havefound;
for(;again==‘y‘ || again==‘Y‘;)
{
havefound=0;
cout<<“要增加人的名字:“;
cin.getline(name14);
cout<<“要增加人的生日(YYYY-MM-DD):“;
cin.getline(birthday11);
cout<<“要增加的人是否结婚 ‘是‘ 输入‘y‘ , ‘否‘输入‘n‘:“;
cin>>married;
while(married!=‘y‘ && married!=‘n‘ && married!=‘Y‘ && married!=‘N‘)
{
cout<<“输入错误,已结婚输入‘y‘ , 没有输入‘n‘:“;
cin.ignore();
cin>>married;
}
cout<<“要增加人的地址:“;
cin.ignore();
cin.getline(address100);
cout<<“要增的人是否健在‘是‘ 输入‘y‘ , ‘否‘输入‘n‘:“;
cin.get(live);
while(live!=‘y‘ && live!=‘n‘ && live!=‘Y‘ && live!=‘N‘)
{
cout<<“输入错误,已去世输入‘y‘ , 没有输入‘n‘:“;
cin.ignore();
cin.get(live);
}
if(live==‘n‘ || live==‘N‘)
{
cout<<“此人去世的时间:“;
cin.ignore();
cin.getline(birthday11);
}
dataFile.clear();
dataFile.open(“family.txt“ios::in|ios::binary|ios::out);
if(!dataFile)
{
cout<<“打开失败\n“;
exit(0);
}
while(!dataFile.eof())
{
if(strcmp(person.namename1)==0 )
{
person.SetName(name);
person.SetBir(birthday);
person.SetMar(married);
person.SetAddr(address);
person.SetLive(live);
person.SetDead(deaddate);
int size=sizeof(person);
dataFile.seekp(-sizeios::cur);
dataFile.write((char*)&personsizeof(person));
havefound++;
break;
}
dataFile.read((char*)&personsizeof(person));
}
dataFile.close();
if(havefound==0)
{
person.SetName(name);
person.SetBir(birthday);
person.SetMar(married);
person.SetAddr(address);
person.SetLive(live);
person.SetDead(deaddate);
dataFile.open(“person.txt“ios::binary|ios::app);
if(!dataFile)
{
cout<<“打开失败\n“;
exit(0);
}
dataFile.write((char*)&personsizeof(person));
dataFile.close();
}
cout<<“按‘y‘或‘Y‘继续增加人。按其他退出“< cin>>again;
cin.ignore();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-06-18 21:38 家谱管理系统\
目录 0 2012-06-18 21:38 家谱管理系统\Debug\
文件 20047 2007-12-18 20:53 家谱管理系统\Debug\ManageFamily.obj
文件 0 2008-05-18 18:17 家谱管理系统\Debug\family.txt
文件 135 2008-05-18 18:17 家谱管理系统\Debug\person.txt
文件 58368 2012-06-18 21:38 家谱管理系统\Debug\vc60.idb
文件 61440 2008-11-23 18:39 家谱管理系统\Debug\vc60.pdb
文件 229444 2008-12-03 21:44 家谱管理系统\Debug\家谱管理系统.exe
文件 270992 2008-12-03 21:44 家谱管理系统\Debug\家谱管理系统.ilk
文件 1982 2008-12-03 21:44 家谱管理系统\Debug\家谱管理系统.obj
文件 195444 2008-11-23 18:39 家谱管理系统\Debug\家谱管理系统.pch
文件 541696 2008-11-23 18:39 家谱管理系统\Debug\家谱管理系统.pdb
文件 1275 2007-12-18 20:33 家谱管理系统\FamilyData.h
文件 11802 2007-12-28 04:09 家谱管理系统\FoundPeople.h
文件 2738 2007-12-18 20:51 家谱管理系统\ManageFamily.cpp
文件 19261 2008-01-10 23:23 家谱管理系统\Managepeople.h
文件 5533 2007-12-27 19:39 家谱管理系统\PeopleList.h
文件 5173 2007-12-28 14:41 家谱管理系统\StructData.h
文件 0 2007-12-18 20:36 家谱管理系统\family.txt
文件 480 2007-12-26 20:42 家谱管理系统\family2.txt
文件 945 2007-12-18 20:42 家谱管理系统\person.txt
文件 2480 2007-12-28 13:15 家谱管理系统\复件 family.txt
文件 89 2007-12-18 20:18 家谱管理系统\家谱管理系统.cpp
文件 3609 2007-12-18 20:54 家谱管理系统\家谱管理系统.dsp
文件 549 2007-12-18 20:54 家谱管理系统\家谱管理系统.dsw
文件 58368 2012-06-18 21:38 家谱管理系统\家谱管理系统.ncb
文件 53760 2012-06-18 21:38 家谱管理系统\家谱管理系统.opt
文件 804 2008-12-03 21:44 家谱管理系统\家谱管理系统.plg
文件 38912 2007-12-05 11:21 家谱管理系统\课程设计.doc
文件 232448 2012-06-18 21:37 家谱管理系统\课程设计模板.doc
- 上一篇:使用MPI实现的nBody代码
- 下一篇:模拟卫星旋转和地球自转
评论
共有 条评论