资源描述
报告内容:
1. 管理系统的功能说明
这是一个用来进行文件管理的系统,能够实现对文件信息(包括文件号、文件名、文件性质、创建日期、文件大小)的浏览、创建、修改、搜索等功能。
2. 储存数据的描述
储存的数据由Flies类完成,Flies类中设置了num,name,
type,date,space 5个成员来分别记录数据的文件号、文件名、文件性质、创建日期、文件大小。(便于测试事先录入了5个初始数据)
3. 概要设计说明
源程序主要分为3个部分:
1.用于储存数据的Flies类(其中包括修改数据的函数check以及显示数据内容display)。
2.实现系统功能的函数(包括主菜单显示函数menu、增加数据函数add、用于查询数据的函数search1,search2)。
3.主函数。
4. 源程序
#include <iostream>
#include <string>
using namespace std;
class Flies{ //定义Flies类
public:
string num,name,type,date,space; //flies类的成员
Flies(){}
Flies(string n,string N,string T,string D,string S)
{num=n;
name=N;
type=T;
date=D;
space=S;
}
void check() //修改flies类成员的函数check
{
cout<<"输入新的文件号:";
cin>>num;
cout<<"输入新的文件名:";
cin>>name;
cout<<"输入新的文件类型:";
cin>>type;
cout<<"输入新的创建日期:";
cin>>date;
cout<<"输入新的文件大小:";
cin>>space;
}
void display() //显示flies类成员内容的函数display
{cout<<"文件号:"<<num<<endl;
cout<<"文件名:"<<name<<endl;
cout<<"文件类型:"<<type<<endl;
cout<<"创建日期:"<<date<<endl;
cout<<"文件大小:"<<space<<endl;
cout<<endl;
}
};
void menu() //显示主菜单的函数menu
{cout<<"*--------------------------*"<<endl;
cout<<"| Menu |"<<endl;
cout<<"| 输入:T (浏览数据) |"<<endl;
cout<<"| A (增加数据) |"<<endl;
cout<<"| C (修改数据) |"<<endl;
cout<<"| S (查询数据) |"<<endl;
cout<<"| Q (退出程序) |"<<endl;
cout<<"| |"<<endl;
cout<<"*--------------------------*"<<endl;
};
Flies add() //添加新文件的函数add
{
string num,name,type,date,space;
cout<<"输入文件号:";
cin>>num;
cout<<"输入文件名:";
cin>>name;
cout<<"输入文件类型:";
cin>>type;
cout<<"输入创建日期:";
cin>>date;
cout<<"输入文件大小:";
cin>>space;
Flies b(num,name,type,date,space);
return b;
}
void search1(Flies a[],int Num) //按文件名查找对象的函数search1
{ int count,i;
string V;
cout<<"输入要查找的文件名:";
cin>>V;
cout<<"查找结果为:"<<endl;
for(i=0,count=0;i<Num;i++)
{if (a[i].name==V)
a[i].display();
else
count++;}
if(count==Num)
cout<<"空"<<endl;
cout<<endl;
}
void search2(Flies a[],int Num) //按文件类型查找对象的函数search2
{ int count,i;
string V;
cout<<"输入要查找的文件类型:";
cin>>V;
cout<<"查找结果为:"<<endl;
for(i=0,count=0;i<Num;i++)
{if (a[i].type==V)
a[i].display();
else
count++;}
if(count==Num)
cout<<"空"<<endl;
cout<<endl;
}
int main() //主函数
{
static int Num=5;
char n,x;
int i;
Flies A("01","windows","dll","2012/2/3","20k"), //设置初始文件
B("02","office word","doc","2012/4/12","500k"),
C("03","Warcarft III","exe","2012/6/1","1.2G"),
D("04","homework","txt","2012/12/7","128k"),
E("05","Mylove","mp3","2013/6/13","4M");
Flies a[]={A,B,C,D,E};
while(1)
{
cout<<"****************************************************"<<endl;
cout<<endl;
menu();
cout<<endl;
cout<<"****************************************************"<<endl;
cout<<"选择功能:"; //程序功能选择的实现
cin>>n;
if(n=='Q')break;
switch (n)
{case 'T':
for(i=0;i<Num;i++)
{a[i].display();}break;
case 'A':
a[Num]=add();
Num++;break;
case 'C':
cout<<"需要修改第几个文件:";
cin>>i;
if(0<i&&i<=Num)
{a[i-1].check();break;}
else
cout<<"该文件不存在,请确认"<<endl;break;
case 'S':
cout<<"(1)按文件名查找(2)按文件类型查找 选择你需要的方式:";
cin>>x;
switch(x)
{case '1':search1(a,Num);break;
case '2':search2(a,Num);break;
default:cout<<"输入错误,请正确输入"<<endl;
cout<<endl;break;
}break;
default:cout<<"输入错误,请正确输入"<<endl;
cout<<endl;break;
}
}
cout<<"谢谢使用,再见"<<endl;
return 0;}
5. 测试分析
主界面
浏览初始数据(T)
增加数据(A)
修改数据(C)
查新数据(S)
退出程序(Q)
6. 总结报告
总体来说这次设计还是比较顺利的,整个程序的内容设计基本上都在平时作业中出现过,也都是基础内容,由此可见平时的学习是十分重要的。通过这次的课程设计不仅增强了自己的逻辑设计能力,而且也是对C++课程学习的巩固和加深。
展开阅读全文