2016-01-02 2 views
-1

Я создал массив 2d, где пользователь может вводить слова. Мне нужно создать 2 функции:Как переписать слово из массива 2d?

  • 1-я функция называется 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

у меня есть на самом деле, но я не могу добавить код here.some вид ошибки. – Sterg

+0

Скопируйте 'n' вставьте код - в противном случае это похоже на то, что вы хотите, чтобы кто-то еще написал вам код –

ответ

1

Я полагаю, что столбец 5 содержит имя пользователя, и вы нашли пользователя, которого хотите удалить, в строке k. Вы можете удалить данные, используя команду strcpy, чтобы заменить все данные на 0.

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

это работает, но меня не научили strcpy.Is есть ли другой способ сделать это? – Sterg

+0

для (j = 0; j <7; j ++) { pin [k] [j] [0] = '0'; контакт [k] [j] [1] = '\ 0'; } – ErbaZZ

+0

Вы хотите, чтобы они были 0s вправо? Затем вы можете установить для первого символа значение «0», а затем «\ 0» в качестве второго символа для завершения строки. – ErbaZZ

Смежные вопросы