c++¿ÎÉ豨¸æ(ÏîÄ¿¹ÜÀíϵͳ) ÏÂÔØ±¾ÎÄ

private:

int top;//ÏîÄ¿¼Ç¼ָÕë project pro[m]; RData();//¹¹Ô캯Êý void clear()//Çå³ýº¯Êý¶¨Òå { }

int addproject(int n,char *na,int nn,char *nb);//ÏîÄ¿ÐÅÏ¢Ìíproject *equal(int projectid)//°´±àºÅ²éÕÒ { }

{ }

return &pro[i];

for(int i=0;i<=top;i++) top=-1;

public://Íⲿ½Ó¿Ú

¼Ó£¬Ð麯ÊýÖØÐ¶¨Òå

if(pro[i].getnumber())projectid&&pro[i].gettag()==0;

return NULL;

void output();//Êä³öº¯Êý void projectdate();//²Ù×÷º¯Êý

void sort(project *b,int c);//ÅÅÐòº¯Êý ~RData();//Îö¹¹º¯Êý

};

ͨ¹ý¹«ÓÐÅÉÉú£¬projectÀàºÍRdataÀàÅÉÉú³ö³ý¹¹Ô캯Êý¡¢Îö¹¹º¯ÊýºÍÐ麯ÊýÖ®ÍâµÄÈ«²¿³ÉÔ±£¬ÓÉÓÚ»ùÀàµÄ³ÉÔ±Êǹ«ÓкÍ˽ÓÐÀàÐÍ£¬Òò´ËÔÚÅÉÉúÀàÖеijÉÔ±º¯ÊýÖУ¬´Ó×Ô¼º»ùÀà¼Ì³ÐÀ´µÄ³ÉԱȫ²¿¿ÉÒÔ·ÃÎÊ£¬¶ø¶ÔÓÚ½¨Á¢projectÀàºÍRdataÀà¶ÔÏóµÄÍⲿģ¿éÀ´½²£¬»ùÀàµÄ±£»¤ºÍ˽ÓеijÉÔ±ÊÇÎÞ·¨·ÃÎʵġ£Í¨¹ý±£»¤·ÃÎÊÀàÐͺ͹«Óеļ̳з½Ê½£¬ÊµÏÖÁË»ùÀàprojectºÍRdataµÄÊý¾ÝµÄ¿É¿¿±£»¤¡£ÔÚ³ÌÐòÖУ¬ÏîÄ¿ËùÐèµÄ±àºÅ¡¢Ãû³Æ¡¢¸ºÔðÈ˺͵ȼ¶²ÉÓö¯Ì¬·ÖÅäÄڴ棬ÕâЩ¹¤×÷¶¼ÊÇÔÚ»ùÀà¡¢ÅÉÉúÀàµÄ¹¹Ô캯ÊýÖÐÍê³É£¬ËüÃǵÄÇåÀí¹¤×÷ÔÚÎö¹¹º¯ÊýÖÐÍê³É¡£ÆäÓàµÄÅÉÉúº¯Êý¸ºÔðÏîÄ¿µÄÊäÈëÊä³ö¡¢ÌáÈ¡¡¢Çå³ýµÈ¹¤×÷¡£

- 5 -

4.2 ÀàµÄʵÏÖ

//projectÀàµÄʵÏÖ

void project::output()//¶Á³öÏîÄ¿ÐÅÏ¢ { }

void project::addproject(int n,char *na,int nn,char *nb)//ÏîÄ¿ÐÅÏ¢Ìí¼Ó,Ð麯Êý { }

//RdataÀàµÄʵÏÖ

RData::~RData()//Îö¹¹º¯Êý { }

void RData::output()//¶Á³öÏîÄ¿ÐÅÏ¢ {

for(int i=0;i<=top;i++)//Êä³öÿһÌõÏîÄ¿ÐÅÏ¢

- 6 -

cout<<\±àºÅ\Êä³ö±àºÅ cout<

cout<<\¸ºÔðÈË\Êä³ö¸ºÔðÈË cout<

tag=0; number=n;

strcpy(name,na);//µ÷ÓÃstrcpyº¯Êý£¬ÊäÈëÃû³Æ leval=nn;

strcpy(charge,nb);//µ÷ÓÃstrcpyº¯Êý£¬ÊäÈ븺ÔðÈË

fstream file(\for (int i=0;i<=top;i++)

if (pro[i].gettag()==0)//ÊÍ·ÅÄÚ´æ

file.write((char*)&pro[i],sizeof(pro[i])); file.close();

}

pro[i].output();

int RData::addproject(int n,char *na,int nn,char *nb)//ÏîÄ¿ÐÅÏ¢Ìí¼Ó£¬Ð麯ÊýÖØÐ¶¨Òå

{ }

RData::RData()//¹¹Ô캯Êý { }

void RData::sort(project *b,int c)//¶ÔÅÅÐòº¯ÊýµÄÉùÃ÷ { int i,j; project temp;

int choose;//ÊäÈëµÄÑ¡Ïî cout<<\°´ÏîÄ¿±àºÅÅÅÐò:\\n\project s;

top=-1;//Çå¿ÕËùÓÐÏîÄ¿ÐÅÏ¢

fstream file(\//´ò¿ªÒ»¸öÊäÈëÎļþ

while(1) { }

file.close();

file.read((char *)&s,sizeof(s)); if (!file)break; top++; pro[top]=s;

project *p=equal(n);//²éÕÒÊÇ·ñ´æÔÚ if (p==NULL) { } return 0;

top++;

pro[top].addproject(n,na,nn,nb);//ͨ¹ýÖ¸Õë½øÐÐÌí¼ÓÏîÄ¿ÐÅÏ¢ return 1;

- 7 -

cout<<\°´ÏîÄ¿Ãû³ÆÅÅÐò:\\n\cout<<\ÇëÊäÈëÒª½øÐеIJÙ×÷:\cin>>choose;

if(choose==1)//ðÅÝÅÅÐò·¨¶ÔÏîÄ¿°´±àºÅÅÅÐò { }

for (i=0;i<=c;i++) { }

if (choose==2)//ðÅÝÅÅÐò·¨¶ÔÏîÄ¿°´Ãû³ÆÅÅÐò {

for(i=0;i<=c-1;i++) { }

for (i=0;i<=c;i++)

for(j=j+1;j<=c;j++) { }

if(strcmp(b[j].getname(),b[i].getname())>=0) { }

temp=b[i]; b[i]=b[j]; b[j]=temp;

b[i].output(); for(j=0,j<=c;j++;) { }

if (b[j].getnumber()>b[i].getnumber()) { }

temp=b[i]; b[i]=b[j]; b[j]=temp;

- 8 -