當前位置:編程學習大全網 - 源碼下載 - 文件管理系統源代碼

文件管理系統源代碼

# include & ltiostream & gt

# include & lt字符串& gt

# include & ltfstream & gt

# include & ltctime & gt

使用命名空間std

班級學生

{

私人:

long int stu _ num//學號,宿舍號

char stu _ name[40];//名稱

char class _ name[40];//類

char house _ name[20];//宿舍

公共:

學生()

{

stu _ num = 0;

stu _ name[0]= 0;

class _ name[0]= 0;

house _ name[0]= 0;

}

學生::學生(長a,char * b,char *c,char *d)

{

Setdata(a,b,c,d);

}

Char * Getstuname(void) //名稱查找

{

返回stu _ name

}

Long Getstunum(void) //學號搜索

{

return stu _ num

}

Char * Gethousename(void) //宿舍號搜索

{

返回house _ name

}

Char * Getclassname(void) //按類搜索。

{

返回class _ name

}

void Setdata(long a,char *b,char *c,char *d)

{

stu _ num = a;

strcpy(stu_name,b);

strcpy(class_name,c);

strcpy(house_name,d);

}

無效顯示(無效)

{

cout & lt& lt"學生編號:"

cout & lt& lt"類別:"

}

};

無效總管(無效)

{

學生s 1;

int flags = 0;

long stu _ num//學生編號

char stu _ name[40];//名稱

char class _ name[40];//類

char house _ name[20];//宿舍

time _ t t

時間(& ampt);

ifstream文件1;

ofstream文件3;

char flag = ' y

cout & lt& lt“——學生成績管理系統。& ltendl

cout & lt& lt" \ t \ t \時間:"

while( flag=='y' || flag=='Y ')

{//由標誌控制的周期。

cout & lt& lt”-\ n”;

cout & lt& lt" \t\t 1:註冊學生!\ n ";

cout & lt& lt" \t\t 2:按學號查看學生信息!\ n ";

cout & lt& lt" \t\t 3:按宿舍號查看學生信息!\ n ";

cout & lt& lt" \t\t 4:按姓名查看學生信息!\ n ";

cout & lt& lt" \t\t 5:按班級查看學生信息!\ n ";

cout & lt& lt”\t\t 6:顯示所有學生信息\ n”;

//cout & lt;& lt”\t\t 7:根據學號修改學生信息\ n”;

//cout & lt;& lt" \t\t 8:根據學號刪除學生信息!\ n ";

cout & lt& lt”-\ n”;

cout & lt& lt"請輸入壹個選項:";

char選擇;

CIN & gt;& gt選擇;

開關(選擇)

{

案例“1”:

file3.open("c:\\stu.dat ",IOs::app | IOs::binary);

輸入:標誌= 0;

cout & lt& lt"輸入學號:";

CIN & gt;& gtstu _ num

while(stu _ num & lt;100000 | | stu _ num & gt;999999)

{

CIN . clear();

倒帶(stdin);

cout & lt& lt“您輸入的學號不正確,請輸入六位數字的學號”< & ltendl

cout & lt& lt”學號:“;

CIN & gt;& gtstu _ num

}

file1.open("c:\\stu.dat ",IOs::in | IOs::binary | IOs::beg);//以已讀方式打開文件。

而(!file1.eof())

{

int n;

file 1 . read((char *)& amp;s1,sizeof(學生));

n = file 1 . g count();

if(n==sizeof(student))

{

如果(s1。Getstunum()==stu_num)

flags = 1;

}

}

file 1 . clear();

file 1 . close();

if (flags==1)

{

CIN . clear();

cout & lt& lt"學號重復,請重新輸入!"& lt& ltendl

轉到輸入;

}

cout & lt& lt"輸入名稱:";CIN & gt;& gtstu _ name

cout & lt& lt”輸入類別:“;CIN & gt;& gtclass _ name

cout & lt& lt“進入宿舍”:CIN & gt;& gthouse _ name

s1。Setdata(stu_num,stu_name,class_name,house _ name);

file 3 . write((char *)& amp;s1,sizeof(s 1));

file 3 . clear();

file 3 . close();

打破;

案例“2”://按學生ID搜索

cout & lt& lt"請輸入學號:";

CIN & gt;& gtstu _ num

while(stu _ num & lt;100000 | | stu _ num & gt;999999)

{

CIN . clear();

倒帶(stdin);

cout & lt& lt“您輸入的學號不正確,請輸入六位數字的學號”< & ltendl

cout & lt& lt”學號:“;

CIN & gt;& gtstu _ num

}

file1.open("c:\\stu.dat ",IOs::in | IOs::binary | IOs::beg);//以已讀方式打開文件。

而(!file1.eof())

{

int n;

file 1 . read((char *)& amp;s1,sizeof(學生));

n = file 1 . g count();

if(n==sizeof(student))

{

如果(s1。getstunum()= = stu _ num)//顯示學生信息。

{

s1。show();

flags = 1;

}

}

}

file 1 . clear();

file 1 . close();

if (flags==0)

cout & lt& lt“我沒找到學號:”

標誌= 0;

打破;

案例“3”://按宿舍號搜索

cout & lt& lt“請輸入宿舍號:“;

CIN & gt;& gthouse _ name

file1.open("c:\\stu.dat ",IOs::in | IOs::binary | IOs::beg);//以已讀方式打開文件。

而(!file1.eof())

{

int n;

file 1 . read((char *)& amp;s1,sizeof(學生));

n = file 1 . g count();

if(n==sizeof(student))

{

if(strcmp(s1。Gethousename(),house_name)==0)

{

s1。show();

flags = 1;

}

}

}

file 1 . clear();

file 1 . close();

if (flags==0)

cout & lt& lt找不到宿舍:“< & lt房子名稱& lt& lt“學生記錄!”& lt& ltendl

標誌= 0;

打破;

案例“4”://按名稱搜索

cout & lt& lt"請輸入學生姓名:";

CIN & gt;& gtstu _ name

file1.open("c:\\stu.dat ",IOs::in | IOs::binary | IOs::beg);//以已讀方式打開文件。

而(!file1.eof())

{

int n;

file 1 . read((char *)& amp;s1,sizeof(學生));

n = file 1 . g count();

if(n==sizeof(student))

{

if(strcmp(s1。Getstuname(),stu_name)==0)

{

s1。show();

flags = 1;

}

}

}

file 1 . clear();

file 1 . close();

if (flags==0)

cout & lt& lt"名稱:"

標誌= 0;

打破;

案例“5”://按類搜索

cout & lt& lt請輸入類名:“”;

CIN & gt;& gtclass _ name

file1.open("c:\\stu.dat ",IOs::in | IOs::binary | IOs::beg);//以已讀方式打開文件。

而(!file1.eof())

{

int n;

file 1 . read((char *)& amp;s1,sizeof(學生));

n = file 1 . g count();

if(n==sizeof(student))

{

if(strcmp(s1。Getclassname(),class_name)==0)

{

s1。show();

flags = 1;

}

}

}

file 1 . clear();

file 1 . close();

if (flags==0)

cout & lt& lt"找不到類別:"

標誌= 0;

打破;

案例“6”://顯示所有學生信息。

file1.open("c:\\stu.dat ",IOs::in | IOs::binary);//以已讀方式打開文件。

而(!file1.eof())

{

int n;

file 1 . read((char *)& amp;s1,sizeof(學生));

n = file 1 . g count();

if(n==sizeof(student))

{

s1。show();

flags = 1;

}

}

file 1 . clear();

file 1 . close();

if (flags==0)

cout & lt& lt“數據庫中沒有記錄!”& lt& ltendl

標誌= 0;

打破;

//案例‘7’://根據學號修改學生信息。

//flags = 0;

//cout & lt;& lt"請輸入要修改的學號:";

//CIN & gt;& gtstu _ num

//while(stu _ num & lt;100000 | | stu _ num & gt;999999)

// {

//CIN . clear();

//rewind(stdin);

//cout & lt;& lt“您輸入的學號不正確,請輸入六位數字的學號”< & ltendl

//cout & lt;& lt”學號:“;

//CIN & gt;& gtstu _ num

// }

//file 1 . open(" c:\ \ stu . dat ",IOs::in | IOs::binary | IOs::beg);//以已讀方式打開文件。

// while(!file1.eof())

// {

//int n;

//file 1 . read((char *)& amp;s1,sizeof(學生));

//n = file 1 . g count();

// if(n==sizeof(student))

// {

// if(s1。Getstunum()==stu_num)

// {

// file3.open("c:\\stu.dat ",IOs::out | IOs::binary);

//cout & lt;& lt"輸入名稱:";CIN & gt;& gtstu _ name

//cout & lt;& lt”輸入類別:“;CIN & gt;& gtclass _ name

//cout & lt;& lt“進入宿舍”:CIN & gt;& gthouse _ name

// s1。Setdata(stu_num,stu_name,class_name,house _ name);

//file 3 . write((char *)& amp;s1,sizeof(s 1));

//file 3 . close();

//flags = 1;

// }

// }

// }

//file 1 . clear();

//file 1 . close();

// if (flags==0)

// {

//cout & lt;& lt"該學生記錄不存在,不能修改!"& lt& ltendl

//break;

// }

//break;

// case '8': //根據學號刪除學生信息。

默認值:flag = ' n

打破;

}

}

cout & lt& lt“謝謝妳的使用!”& lt& ltendl

}

  • 上一篇:php解密問題
  • 下一篇:NET Framework 3.5中的webbrowser控件支持HTML5嗎
  • copyright 2024編程學習大全網