/*删除函数,参数为记录数组和记录条数*/
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;  /*返回记录数*/
}
コード例 #2
0
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;
	}
	}

}