청아
1k
2017-05-27 17:23:09
1
444

계속 빌드오류가 나는데 뭐가 문젠지 잘 모르겠습니다ㅠㅠ


#include <stdio.h>

#include <string.h>


#define CAPACITY 100

#define BUFFER_SIZE 20


char * names[CAPACITY];

char * numbers[CAPACITY];

int n = 0;


void add();

void find();

void status();

void remove();

void load();

void save();

void arrayStart();


int main() {

char command[BUFFER_SIZE];


while (1) {

printf("$ ");

scanf("%s", command);


if (strcmp(command, "add") == 0)

add();

else if (strcmp(command, "find") == 0)

find();

else if (strcmp(command, "status") == 0)

status();

else if (strcmp(command, "delete") == 0)

remove();

else if (strcmp(command, "load") == 0)

load();

else if (strcmp(command, "save") == 0)

save();

else if (strcmp(command, "exit") == 0)

break;

}

return 0;

}


void arrayStart() {

int i,j;

char* temp;

char* temp1;


for (int i = 0; i < n - 1; i++) {

for (int j = i + 1; j < n; j++) {

if (strcmp(names[i], names[j]) > 0) {

temp = names[i];

names[i] = names[j];

names[j] = temp;


temp1 = numbers[i];

numbers[i] = numbers[j];

numbers[j] = temp1;

}

}

}

}


// txt에 저장된 내용 출력하기.

void load() {} {

FILE *pFile = NULL;


pFile = fopen("d:\\text.txt", "r");


if (pFile != NULL) {

char strTemp[255];

char *pStr;


while (!feof(pFile))

{

pStr = fgets(strTemp, sizeof(strTemp), pFile);

printf("%s", strTemp);

printf("%s", pStr);

}

fclose(pFile);

}

}


// txt에 내용 저장하기

void save() {

FILE * fp;

int i;


fp = fopen("d:\\text.txt", "r");

if (fp == NULL) {

printf("실패");

return 1;

}


for (int i = 0; i < sizeof(names); i++) {

fprintf(fp, names[i] + ' ' + numbers[i] + '\n' );

}


fclose(fp);


printf("완료.\n");


return 0;

}


void add() {

char buf1[BUFFER_SIZE], buf2[BUFFER_SIZE];


scanf("%s", buf1);

scanf("%s", buf2);


names[n] = strdup(buf1);

numbers[n] = strdup(buf2);

n++;


printf("%s was added successfully \n", buf1);


// 알파벳 순으로 정렬

arrayStart();

}


void find() {

char buf1[BUFFER_SIZE];

int i;


scanf("%s", buf1);


for (i = 0; i < sizeof(names); i++) {

if (strcmp(buf1, names[i]) == 0) {

printf("%s", numbers[i]);

return;

}

}


printf("No person named '%s' exists. \n", buf1);

}


void status() {

int i;


for (i = 0; i < n; i++)

printf("%s %s\n", names[i], numbers[i]);


}


void remove() {

int i, j;

char buf1[BUFFER_SIZE];


scanf("%s", buf1);


for (i = 0; i < n; i++) {

if (strcmp(buf1, names[i]) == 0) {


for (j = i; j < n - 1; j++) {

names[j] = names[j + 1];

numbers[j] = numbers[j + 1];

}


names[j] = '\0';

}

}


printf("제거할 것을 못찾았습니다.");

}




c언어로 작성중이라 디버깅도 쉽지않고,,,
혹시 아시는분있으면좀알려주시면 감사드리겠습니다 ㅠㅠ
0
0
  • 답변 1

  • kenu
    45k
    2017-05-27 20:21:24

    오류메시지는요?

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.