/*删除函数,参数为记录数组和记录条数*/ int DeleteRecord(struct ADDRESS t[],int n) { char s[20]; /*要删除记录的姓名*/ int i,j; clrscr(); printf("please record name:\n"); /*提示信息*/ scanf("%s",s);/*输入姓名*/ i=FindRecord(t,n,s); /*调用FindRecord函数*/ if(i>n-1) /*如果i>n-1超过了数组的长度*/ printf("Can't found the record\n"); /*显示没找到要删除的记录*/ else { ShowRecord(t[i]); /*调用输出函数显示该条记录信息*/ for(j=i+1;j<n;j++) /*删除该记录,实际后续记录前移*/ { strcpy(t[j-1].name,t[j].name); /*将后一条记录的姓名拷贝到前一条*/ strcpy(t[j-1].units,t[j].units); /*将后一条记录的单位拷贝到前一条*/ strcpy(t[j-1].phone,t[j].phone); /*将后一条记录的电话拷贝到前一条*/ } n--; /*记录数减1*/ printf("Delete a record successfully!\n"); } getch(); return n; /*返回记录数*/ }
void CRacingFrame::CoreFrame() { while(1){ system("CLS"); IntroScreen(); cout<<"Input your choice:"; int choice; cin>>choice; switch (choice) { case 1: { if(PlayerCar!=NULL) delete PlayerCar; PlayerCar=NULL; RunGame(); system("CLS"); char yes_no=' '; while(yes_no!='y'&&yes_no!='n'){ fflush(stdin); cout<<"Do you want to save your record?(y/n):"; cin>>yes_no; } if(yes_no=='y') { LoadRecord(); string _Name; fflush(stdin); cout<<"Input your name:"; getline(cin,_Name); CPlayer record_after_play(_Name,PlayerCar->getCarType(),Point); Player_Record.push_back(record_after_play); SortScore(); SaveRecord(); } if(yes_no=='n') { fflush(stdin); Sleep(500); } break; } case 2: { CMapRacing::SetColor(2); LoadRecord(); ShowRecord(); CMapRacing::SetColor(0); break; } case 3: { CMapRacing::SetColor(3); CustomCar(); CMapRacing::SetColor(0); break; } case 4: break; default: { cout<<"Oopp! You got a wrong choice!"; Sleep(500); break; } } if(choice==4) { system("CLS"); cout<<"You was out of game"; Sleep(500); break; } } }