如何覆盖二维数组中的单词?

时间:2016-01-02 14:32:56

标签: c

我创建了一个二维数组,用户可以在其中输入单词。 我需要创建两个函数:

  • 第一个功能称为添加,管理员可以添加用户及其数据。
  • 第二个功能称为删除,管理员可以通过键入用户名来删除用户。如果在Add函数中创建的2d数组中找到了他的用户名,那么所有用户的数据都应该用零替换。问题是我不能覆盖/替换用户的数据为零。

2d阵列:

char pin[50][7][100];

每行包含一个用户,每列包含他的信息,如姓名,姓氏等。

这是删除功能:

printf("Enter the username of the user you want to delete: \n");
scanf("%s",&key);

for(i=0;i<50;i++){
  for(j=5;j<6;j++){
if (strcmp(pin[i][j],key)==0){
    k=i;
    flag=1;
    break;

      }


    }}

if (flag==1){


    do{
    printf("Are you sure you want to delete this user?\t (Yes or No)\n");

    scanf("%s",&api);
    }while((strcmp(api,"Yes")!=0) && (strcmp(api,"No")!=0) );

    if (strcmp(api,"Yes")==0){

    /* Here I need to replace with 0s!*/

    }

    else if (strcmp(api,"No")==0) {

    goto dlt;
}
}   

else{
printf("Error!Username not found.Please try again. \n");
}

1 个答案:

答案 0 :(得分:1)

我假设第5列包含用户名,并且您在k行找到了要删除的用户。 您可以使用strcpy删除数据,将所有数据替换为0。

for (j = 0; j < 7; j++)
{
    strcpy(pin[k][j],"0");
}