C언어 영어사전 프로그램(콘솔)
글쓴이: lfs / 작성시간: 토, 2019/01/19 - 11:48오전
#include <stdio.h> #include <stdlib.h> #include <string.h> #define SIZE 1 struct english{ int bunho; char word[16]; char mean[64]; }English[SIZE]; int menu() { printf(" 영어단어프로그램 \n"); printf("┌────────┐\n"); printf("│ 1.입력 │\n"); printf("│ 2.출력 │\n"); printf("│ 3.검색 │\n"); printf("│ 4.삭제 │\n"); printf("│ 5.종료 │\n"); printf("└────────┘\n"); return 0; } int menu1() { printf(" 영어단어프로그램 \n"); printf("┌────────┐\n"); printf("│ ★1.입력★ │\n"); printf("│ 2.출력 │\n"); printf("│ 3.검색 │\n"); printf("│ 4.삭제 │\n"); printf("│ 5.종료 │\n"); printf("└────────┘\n"); return 0; } int menu2() { printf(" 영어단어프로그램 \n"); printf("┌────────┐\n"); printf("│ 1.입력 │\n"); printf("│ ★2.출력★ │\n"); printf("│ 3.검색 │\n"); printf("│ 4.삭제 │\n"); printf("│ 5.종료 │\n"); printf("└────────┘\n"); return 0; } int menu3() { printf(" 영어단어프로그램 \n"); printf("┌────────┐\n"); printf("│ 1.입력 │\n"); printf("│ 2.출력 │\n"); printf("│ ★3.검색★ │\n"); printf("│ 4.삭제 │\n"); printf("│ 5.종료 │\n"); printf("└────────┘\n"); return 0; } int menu4() { printf(" 영어단어프로그램 \n"); printf("┌────────┐\n"); printf("│ 1.입력 │\n"); printf("│ 2.출력 │\n"); printf("│ 3.검색 │\n"); printf("│ ★4.삭제★ │\n"); printf("│ 5.종료 │\n"); printf("└────────┘\n"); return 0; } int menu5() { printf(" 영어단어프로그램 \n"); printf("┌────────┐\n"); printf("│ 1.입력 │\n"); printf("│ 2.출력 │\n"); printf("│ 3.검색 │\n"); printf("│ 4.삭제 │\n"); printf("│ ★5.종료★ │\n"); printf("└────────┘\n"); return 0; } int initial() { int i; for(i=0;i<SIZE;i++){ English[i].bunho=0; English[i].word[0]='\0'; English[i].mean[0]='\0'; } return 0; } int input() { int i; int count=0; char unit[16]="\0"; char meaning[64]="\0"; printf("☆==입 력==☆\n"); for(i=0;i<SIZE;i++){ if(English[i].bunho==1) count++; } if(count==SIZE){ printf("영어단어 입력이 제한되었습니다.\n"); return 0; } printf("영어단어입력:>>"); gets(unit); if(strcmp(unit,"\0")==0){ printf("빈 단어가 입력되었습니다.\n"); printf("다시 입력 하십시오.\n"); return 0; } for(i=0;i<SIZE;i++){ if(strcmp(unit,English[i].word)==0){ printf("똑같은 단어가 있습니다.\n"); printf("다시 입력 하십시오.\n"); return 0; } } for(i=0;i<SIZE;i++){ if(English[i].bunho==0){ English[i].bunho=1; strcpy(English[i].word,unit); printf("영어단어가 입력 되었습니다.\n"); break; } } printf("영어뜻입력:>>"); gets(meaning); if(strcmp(meaning,"\0")==0){ printf("뜻이 입력 되지 않았습니다.\n"); printf("다시 입력하시려면 수정하십시오.\n"); return 0; } strcpy(English[i].mean,meaning); printf("영어뜻이 입력 되었습니다.\n"); return 0; } int output() { int i; int count=0; printf("☆==출 력==☆\n"); printf("\n"); for(i=0;i<SIZE;i++){ if(English[i].bunho==1){ printf("%s : %s",English[i].word,English[i].mean); printf("\n"); count++; } if(count==10){ printf("아무키나 누르세요.\n"); getchar(); } } return 0; } int search() { int i; int count=0; char unit[16]="\0"; printf("☆==검 색==☆\n"); printf("검색할영어단어입력:>>"); gets(unit); if(strcmp(unit,"\0")==0){ printf("단어입력이 되지않았습니다.\n"); printf("다시 입력 하십시오.\n"); return 0; } for(i=0;i<SIZE;i++){ if(strcmp(unit,English[i].word)==0){ printf("%s : %s\n",English[i].word,English[i].mean); printf("검색 끝났습니다.\n"); } else count++; } if(count==SIZE){ printf("검색할 단어가 없습니다.\n"); return 0; } return 0; } int del() { int i; int yn; int count=0; char unit[16]="\0"; printf("☆==삭 제==☆\n"); printf("삭제할영어단어입력:>>"); gets(unit); if(strcmp(unit,"\0")==0){ printf("단어입력이 되지않았습니다.\n"); printf("다시 입력 하십시오.\n"); return 0; } for(i=0;i<SIZE;i++){ if(strcmp(unit,English[i].word)==0){ printf("%s : %s\n",English[i].word,English[i].mean); printf("삭제하시겠습니까?(y/n)>>"); yn=getche(); if(yn=='y'){ English[i].bunho=0; English[i].word[0]='\0'; English[i].mean[0]='\0'; printf("\n단어 삭제가 되었습니다.\n"); return 0; } else if(yn=='n'){ printf("\n삭제 안합니다.\n"); return 0; } else{ fflush(stdin); printf("\n잘못입력하셨습니다.\n"); return 0; } } else count++; } if(count==SIZE){ printf("삭제할 단어가 없습니다.\n"); return 0; } return 0; } int quit() { printf("☆==종 료==☆\n"); exit(0); } int main() { static int sum=1; int chr; initial(); while(1) { if(sum==1) { menu1(); chr=getch(); if(chr==0 || chr==224) chr=getch(); if(chr==80) sum++; else if(chr==72) sum--; else if(chr==49) sum=1; else if(chr==50) sum=2; else if(chr==51) sum=3; else if(chr==52) sum=4; else if(chr==53) sum=5; else if(chr==13) input(); } else if(sum==2) { menu2(); chr=getch(); if(chr==0 || chr==224) chr=getch(); if(chr==80) sum++; else if(chr==72) sum--; else if(chr==49) sum=1; else if(chr==50) sum=2; else if(chr==51) sum=3; else if(chr==52) sum=4; else if(chr==53) sum=5; else if(chr==13) output(); } else if(sum==3) { menu3(); chr=getch(); if(chr==0 || chr==224) chr=getch(); if(chr==80) sum++; else if(chr==72) sum--; else if(chr==49) sum=1; else if(chr==50) sum=2; else if(chr==51) sum=3; else if(chr==52) sum=4; else if(chr==53) sum=5; else if(chr==13) search(); } else if(sum==4) { menu4(); chr=getch(); if(chr==0 || chr==224) chr=getch(); if(chr==80) sum++; else if(chr==72) sum--; else if(chr==49) sum=1; else if(chr==50) sum=2; else if(chr==51) sum=3; else if(chr==52) sum=4; else if(chr==53) sum=5; else if(chr==13) del(); } else if(sum==5) { menu5(); chr=getch(); if(chr==0 || chr==224) chr=getch(); if(chr==80) sum++; else if(chr==72) sum--; else if(chr==49) sum=1; else if(chr==50) sum=2; else if(chr==51) sum=3; else if(chr==52) sum=4; else if(chr==53) sum=5; else if(chr==13) quit(); } else if(sum<1) sum=5; else if(sum>5) sum=1; } return 0; }
C언어 콘솔로 만든 영어사전입니다.
콘솔 프로그램 만드는데 참고하십시요.
getch()함수버그는 키보드 하드웨어 버그가
있어서 생겼습니다. 키보드 하드웨어 버그를
고치면 getch()함수 버그가 없으니 그렇게
아십시요.
Forums:
댓글 달기