질문자 : 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);
}
@ 폴더전체
@ 실행화면
|
|
-----------------------------------------------------------------------------------------------------------
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);
}
'지식in > c언어 관련' 카테고리의 다른 글
c언어 배수출력과 입력받은값들의 총합 구하기(while) (0) | 2013.11.12 |
---|---|
c언어 문자열 거꾸로 출력, 대_소문자 변경, 구구단 (0) | 2013.10.14 |
c언어 파일입출력 이용 성적관리 프로그램 (13) | 2013.10.13 |