学生籍贯管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
using namespace std;
namespace coun //定义一个命名空间
{
int count=0;
}
struct student
{
char name[50]; //姓名
char no[50]; //学号
char ad[50]; //籍贯
};
struct student stu[500]; //定义结构型数组
class Data
{
public:
void writefile();
void openfile();
void readfile();
};
void Data::readfile() //定义一个无返回值的读取文件的函数{
using namespace coun;
int i;
char str[10];
FILE *fp;
fp=fopen("E:\\message.txt","r");
if(fp==NULL)
return ;
else
{
fscanf(fp,"%d",&count);
if(count!=0)
{
for(i=0;i { fscanf(fp,"%s ",str); fscanf(fp,"%s ",stu[i].name); fscanf(fp,"%s ",str); fscanf(fp,"%s ",stu[i].no); fscanf(fp,"%s ",str); fscanf(fp,"%s ",stu[i].ad); } } } fclose(fp); return ; } void Data::openfile() { using namespace coun; char str1[15]={"姓名:"}; char str2[15]={"学号:"}; char str3[15]={"籍贯:"}; int i; FILE *fp; fp=fopen("E:\\message.txt","w"); if(fp==NULL) { cout<<"打开文件失败!"< return ; } else { fprintf(fp,"%d\n",count); for(i=0;i { fprintf(fp,"%s ",str1); fprintf(fp,"%s ",stu[i].name); fprintf(fp,"%s ",str2); fprintf(fp,"%s ",stu[i].no); fprintf(fp,"%s ",str3); fprintf(fp,"%s ",stu[i].ad); } } fclose(fp); return ; } //载入信息 void Data::writefile() { using namespace coun; int i; cout<<"请输入总的学生数: "; cin>>count; if(count>500) { cout<<"信息太大无法存储! "< return ; } if(count<=0) { cout<<"您输入的信息有误,请重新输入! "; return ; } for(i=0;i { cout<<"请输入第"< cout<<"请输入学生的姓名: "; cin>>stu[i].name; cout<<"请输入学生的学号: "; cin>>stu[i].no; cout<<"请输入学生的籍贯: "; cin>>stu[i].ad; cout< } openfile(); } class Seach:public Data //关于查找的类 { public: void searchmessage(); //查找的总函数 void searchname(); //根据姓名查找的函数void searchno(); //根据学号查找的函数 void searchad(); //根据籍贯查找的函数}; void Seach::searchname() //根据姓名查找的函数{ using namespace coun; int i; char num0[15]; cout<<"请输入你要查询学生的姓名: "; scanf("%s",num0); int flag=0; for(i=0;i { if(!strcmp(num0,stu[i].name)) { flag=-1; cout<<"姓名: "< cout<<" 学号: "<