C언어 코드
전화번호부
#include <stdio.h>
#include <stdlib.h>
#pragma warning (disable:4996)
#define ARRAYSIZE 100
typedef struct CPB {
char name[ARRAYSIZE];
char phoneNumber1[ARRAYSIZE];
char phoneNumber2[ARRAYSIZE];
char email[ARRAYSIZE];
} PBOOK;
void insert(PBOOK *p, int n)
{
scanf("%s", p[n].name);
scanf("%s", p[n].phoneNumber1);
scanf("%s", p[n].phoneNumber2);
scanf("%s", p[n].email);
return;
}
int menu()
{
int number;
printf("\n--- 휴대전화번호--- \n");
printf("1.전화번호 입력\n");
printf("2.목록 출력\n");
printf("3. 종료\n");
printf("메뉴 : ");
scanf("%d", &number);
return number;
}
int main()
{
struct CPB phone_book[ARRAYSIZE];
FILE *file;
int a = 0;
int b=0;
int num;
int n = 0;
for (; ; ) {
switch (menu())
{
case 1:
file = fopen("PhoneNumber.txt", "w");
insert(phone_book, n);
fprintf(file, "%s\n", phone_book[n].name);
fprintf(file, "%s\n", phone_book[n].phoneNumber1);
fprintf(file, "%s\n", phone_book[n].phoneNumber2);
fprintf(file, "%s\n\n", phone_book[n].email);
n++;
fclose(file);
break;
case 2:
file = fopen("PhoneNumber.txt", "r");
for (b = 0; b < n; b++) {
fscanf(file, "%s\n", phone_book[b].name);
fscanf(file, "%s\n", phone_book[b].phoneNumber1);
fscanf(file, "%s\n", phone_book[b].phoneNumber2);
fscanf(file, "%s\n\n", phone_book[b].email);
printf("%s\n", phone_book[b].name);
printf("%s\n", phone_book[b].phoneNumber1);
printf("%s\n", phone_book[b].phoneNumber2);
printf("%s\n", phone_book[b].email);
}
fclose(file);
break;
default:
exit(1);
break;
}
}
}
가위바위보
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma warning (disable:4996)
struct wdl {
int win;
int lose;
int draw;
int score;
};
#define ro 1
#define sc 2
#define pa 3
#define en 4
struct wdl WIN(struct wdl result);
struct wdl DRAW(struct wdl result);
struct wdl LOSE(struct wdl result);
int main() {
int myRPS, comRPS, score = 0, end;
srand(time(NULL));
char name[10];
struct wdl result= {0,0,0,0};
printf("■■■■■ ■ \t■■■ ■ ■\t■ ■ \t■■■\t ■ ■ ■\n");
printf("\t■ ■ ■ ■ ■ ■■■■ ■ ■ ■ ■ ■■■■\n");
printf("\t■ ■■ ■ ■ ■ ■ ■ ■■ ■ ■ ■ ■ ■");
for (;;) {
printf(".....................................................\n == 1. 바위 == \n == 2. 가위 == \n == 3. 보 ==\n == 4. 종료 ==\n.....................................................\n 입력: ");
scanf("%d", &myRPS);
comRPS = rand() % 3 + 1;
if (myRPS == comRPS) {
result = DRAW(result);
}
else {
switch (myRPS) {
case ro:
if (comRPS == sc) {
result = WIN(result);
}
else {
result = LOSE(result);
}
break;
case sc:
if (comRPS == pa) {
result = WIN(result);
}
else {
result = LOSE(result);
}
break;
case pa:
if (comRPS == ro) {
result = WIN(result);
}
else {
result = LOSE(result);
}
break;
case en:
printf("게임을 종료하시겠습니까? YES : 1, NO : 2\n");
scanf("%d", &end);
if (end == 1) {
printf("점수 : %d \n 게이머 이름 : ", result.score);
scanf("%s", name);
printf("게임결과 승리 : %d, 무승부 : %d, 짐 : %d", result.win, result.draw, result.lose);
}
else if (end == 2) {
continue;
}
else {
continue;
}
exit(1);
default:
printf("제대로 된 숫자를 입력하시오\n");
}
}
}
}
struct wdl WIN(struct wdl result) {
printf("WIN!\n");
result.score++;
result.win++;
return result;
}
struct wdl LOSE(struct wdl result) {
printf("LOSE!\n");
result.score = result.score -1;
result.lose++;
return result;
}
struct wdl DRAW(struct wdl result) {
printf("DRAW!\n");
result.draw++;
return result;
}
핵맨 게임
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma warning(disable:4996)
#define RED "\x1B[31m"
#define GRN "\x1B[32m"
#define YEL "\x1B[33m"
#define BLU "\x1B[34m"
#define MAG "\x1B[35m"
#define CYN "\x1B[36m"
#define WHT "\x1B[37m"
#define RESET "\x1B[0m"
void hangman(int a, int b, int c);
int main()
{
char list[26][100] = {
"animal",
"bear",
"cat",
"dog",
"elephant",
"fox",
"giraffe",
"hourse",
"iguana",
"jaguar",
"kangaroo",
"lion",
"mouse",
"nationalbird",
"octopus",
"panda",
"quetzal",
"rabbit",
"sheep",
"turtle",
"umbrellabird",
"valture",
"wolf",
"xiphias",
"yak",
"zebra"
};
int n=0, o=0, p=0, q=0, r=0, s=0, t=0, u=0, v=0, w=0, x=0, y=0, z=0; //변수들
int summon = 0; // 행맨 소환
char text; // 쓸 단어
char word[100]; // 써야 할 단어
char hint[100]; // 힌트
char result[26]; // 맞춘 단어
srand(time(NULL)); // 문장 정하기 1
int num = rand() % 26; // 문장 정하기 2
strcpy(word, list[num]); // 문장 정하기 3
int count = strlen(word); // 문장의 글자수
for (n = 0; n < count; n++) {
result[n] = '*';
}
for (n = 0; n < count; n++) {
hint[n] = result[n];
}
hint[count] = '\0';
for (;;) {
printf("문장 : %s\n", word);
printf("HINT : %s\n", hint);
printf("input char : \n");
//문장 맞추는 과정
fflush(stdin);
scanf(" %c", &text);
for (n = 0; n < count; n++) {
if (word[n] == text) {
result[n] = text;
hint[n] = result[n];
summon = 1;
}
}
if (summon == 0) {
hangman(x, y, z);
summon = 0;
}
}
return 0;
}
void hangman(int a, int b, int c) {
printf("┃-----------┃\n");
printf(" ┃\n");
printf(" ┃\n");
printf(" ┃\n");
printf(" ┃\n");
printf(" ┃\n");
printf(" ┃\n");
printf(" ┃\n");
}