2017-11-07 14 views
0
#include <stdio.h> 
#include <string.h> 
#define NAME_LEN 25 

void listNames(int PEOPLE, char Lname[][NAME_LEN]); 
void printNames(int PEOPLE, char Lname[][NAME_LEN]); 
void getName(char name[]); 

int main(void) 
{ 
    int PEOPLE = 10; 
    int member = 0; 
    char name[NAME_LEN]; 
    char Lname[PEOPLE][NAME_LEN]; 
    listNames(PEOPLE, Lname); 
    printNames(PEOPLE, Lname); 
    return 0; 
} 

void listNames(int PEOPLE, char Lname[][NAME_LEN]) 
{ 
    int i; 
    for (i = 0; i < PEOPLE; i++) 
    { 
     printf("Enter name: "); 
     scanf("%[^\n]", Lname[i]); 
     getchar(); 
    } 
} 

//Displays the names// 
void printNames(int PEOPLE, char Lname[][NAME_LEN]) 
{ 
    int i; 
    printf("\nList of names:\n"); 
    for (i = 0; i < PEOPLE; i++) 
    { 
     printf("Names: %-15s\n", Lname[i]); 
    } 
} 

表示された後に既に入力した名前を変更する方法がわかりません。表示された後に入力した名前を変更する方法

+0

もう一度 'listNames'を呼び出しますか? –

+0

[C - 印刷されたアイテムの削除と置換]の可能な複製(https://stackoverflow.com/questions/5557076/c-remove-and-replace-printed-items) – Lanting

答えて

0

あなたはインデックスに基づいて変更を意味します。

int idx = 0 ; 
for(; idx < PEOPLE; idx ++) { 
    sprintf(Lname[idx], "%s", "New LName"); 
} 

名前自体に基づいて変更しますか?

int idx = 0 ; 
for(; idx < PEOPLE; idx ++) { 
    if(strcmp(Lname[idx], "OriginalName") == 0) { 
     sprintf(Lname[idx], "%s", "New LName"); 
     break; 
    } 
} 
関連する問題