반응형

질문자 : tpt****

요구사항

 텍스트 파일에는
1 aaa
2 bbb
3 ccc
이런 식으로 적혀있

그다음에 씨에서
텍스트 파일을 불러온 다음에
1 번을 적으면 aaa가 출력
2 번을 누르면 bbb가 출력되는

 

//소스

#include <stdio.h>
main()
{
 int i,num;
 char temp[3][10];//파일의 알파벳을 담기 위한 공간
 int itemp[3]; //파일의 숫자를 담기 위한 공간

 FILE *fp;
 fp=fopen("textfile.txt", "r"); //textfile.txt란 파일을 읽기모드로 엽니다.

 for(i=0;i<3;i++){
 fscanf(fp,"%d %s",&itemp[i],temp[i]); 
 }
 

 printf("1~3사이의 숫자를 입력하세요 : ");
 scanf("%d",&num);

 switch(num)
 {
 case 1:
  printf("%s\n",temp[0]);
  break;
 case 2:
  printf("%s\n",temp[1]);
  break;
 case 3:
  printf("%s\n",temp[2]);
  break;
 default:
  printf("1~3 사이만 입력하세요");

 }

 fclose(fp);
}

 

@ 폴더전체

a.zip

 

 

@ 실행화면 


 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----------------------------------------------------------------------------------------------------------

2013.10.18

조건을 문자열로 쓸 수 있게 수정 (switch 제거, if문으로 대체)

 

//소스

#include <stdio.h>
#include <string.h>
main()
{
 int i,k;
 char num[20];
 char temp[3][10];
 int itemp[3];
 
 FILE *fp;
 fp=fopen("textfile.txt", "r"); //textfile.txt란 파일을 읽기모드로 엽니다.
 
 for(i=0;i<3;i++){
  fscanf(fp,"%d %s",&itemp[i],temp[i]);
 }
 
 
 printf("문자열 입력 (예 : one, two, three)\n");
 scanf("%s",num);
  
 if(strcmp("one",num)==0) printf("%s\n",temp[0]);
 else if(strcmp("two",num)==0) printf("%s\n",temp[1]);
 else if(strcmp("three",num)==0) printf("%s\n",temp[2]);
 else  printf("one two three 만 입력하세요\n");
 
 fclose(fp);
}

 

 

 

 

반응형

+ Recent posts