#include <stdio.h>
#include <stdlib.h>
typedef struct Character {
char nickname[12];
int strength, level, exp; //체력, 레벨, 경험치
}character;
character* c;
void create(int index) {
c = (character*)realloc(c, sizeof(character) * (index+ 1));
printf("Enter character's nickname.\n");
scanf("%s", c[index].nickname);
printf("Enter character's strength.\n");
scanf("%d", &c[index].strength);
printf("Enter character's level.\n");
scanf("%d", &c[index].level);
printf("Enter character's experience point.\n");
scanf("%d", &c[index].exp);
}
void show(int index) {
for (int i = 0; i < index; i++) {
printf("About your character...\n");
printf("nickname : %s \n", c[i].nickname);
printf("strength : %d \n", c[i].strength);
printf("level : %d \n", c[i].level);
printf("experience point : %d \n", c[i].exp);
}
}
void deleteCharacter(int index) {
char name[20];
printf("Which nickname do you want to erase?");
scanf("%s", name);
for (int i = 0; i < index; i++) {
if (!strcmp(c[i].nickname, name));
//strcmp (compare values) : if same -> 0
// if different -> 1, -1
for (int k = i; k < index- 1; k++) {
//앞으로 당겨주는 작업을 할 반복문
c[i] = c[i + 1];
c = (character*)realloc(c, sizeof(character)*(index- 1));
}//end for(k)
break; //더 이상 입력할 닉네임을 찾을 필요가 없기 때문
}//end if
}
void main() {
int input = 0, index = 0;
c = (character*)malloc(sizeof(character));
while (input != 4) {
printf("[menu]\n1.Create your own Character 2.Show your character 3.Delete your character 4.End this program\n");
scanf("%d", &input);
if (input == 1) {
create(index);
index++;
}
else if (input == 2) show(index);
else if (input == 3) {
deleteCharacter(index);
index--;
}
}
}
댓글 없음:
댓글 쓰기