C언어 영어사전 프로그램(콘솔)

lfs의 이미지

#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: 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.