d - jeongpaljack/Cstudy GitHub Wiki

#pragma warning(disable:4996)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

struct StringArray {
	char* s[100];
	int count;
};

void FreeStringArray(StringArray* psa) {
	for (int i = 0; i < psa->count; i++)
		free(psa->s[i]);
}

void PrintStringArray(StringArray* psa) {
	for (int i = 0; i < psa->count; i++)
		printf("[%d] : %s\n", i, psa->s[i]);
}

void InputBuffer(char* buf, int size) {
	printf("๋ฌธ์ž์—ด ์ž…๋ ฅ: ");
	gets_s(buf, size);
}

int IsExit(const char* buf) {
	return strcmp("exit", buf) == 0;

}

void AddStringArray(StringArray* psa, const char* buf) {
	psa->s[psa->count] = (char*)malloc(strlen(buf) + 1);
	strcpy(psa->s[psa->count], buf);
	psa->count++;
}

void PrintMenu() {
	printf("1. ๋ฌธ์ž์—ด ์ž…๋ ฅ\n");
	printf("2. ๋ฌธ์ž์—ด ์ถœ๋ ฅ\n");
	printf("3. ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰\n");
	printf("4. ๋ฌธ์ž์—ด ์‚ญ์ œ\n");
	printf("0. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ\n");
}

void FindStringArray(StringArray* psa, const char* buf) {
	for (int i = 0; i < psa->count; ++i) {
		if (strcmp(psa->s[i], buf) == 0) {
			printf("์ฐพ์€ ๋ฌธ์ž์—ด์˜ index : %d\n", i);
		}
	}
}

void DeleteStringArray(StringArray* psa, int num) {
	psa->s[num] = psa->s[psa->count - 1];
	psa->count--;
}

int main() {
	struct StringArray sa;
	sa = { 0 };
	sa.count = 0;
	int run = 1;
	int num = 0;
	while (run) {
		PrintMenu();
		switch (_getch()) {
		case '1':
		{
			char buf[1000];
			InputBuffer(buf, 1000);
			AddStringArray(&sa, buf);
			break;
		}
		case '2':
		{
			PrintStringArray(&sa);
			break;
		}
		case'3':
		{
			char buf[1000];
			printf("๊ฒ€์ƒ‰: ");
			InputBuffer(buf, 1000);
			FindStringArray(&sa, buf);
			break;
		}
		case'4':
			PrintStringArray(&sa);
			printf("์‚ญ์ œํ•  ์ธ๋ฑ์Šค ์ž…๋ ฅ: \n");
			num = _getch() - '0';
			printf("์ œ๊ฑฐ๋œ ์ธ๋ฑ์Šค : %d", num);
			DeleteStringArray(&sa, num);

			break;
		case '0':
			run = 0;
			break;
		}
		//char buf[1000];
		//InputBuffer(buf, 1000);
		//if (IsExit(buf))
		//	run = 0;
		//else {
		//	AddStringArray(&sa, buf);
		//}
	}
	//PrintStringArray(&sa);
	FreeStringArray(&sa);
}
โš ๏ธ **GitHub.com Fallback** โš ๏ธ