디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

늅늅형. 나 바보인가바... 도저히 해결이 안되 ㅠ_ㅠ..

c초보(116.39) 2010.12.14 12:52:52
조회 122 추천 0 댓글 11

#include <stdio.h> // system header 들은 반드시 <> 로 해야함, ""는 사용자정의 header들만..
#include <conio.h>
#include <stdlib.h>
#include <string.h>


typedef struct test // 스트럭쳐의 변수들에 다음과 같이 반드시 주석을 넣어야함...
{
    char dosi[10];  // 도시명
    char trv[10];      // 거리
 char yokum[10];      // 요금
 float line;
 int fund;
}Test;

int main() // 기본형은 int main()이나 int main(int argc, char** argv) 둘중 하나로...
{
 Test data[20];
 int count=0;
 /* int slt,sta,end,loop; */ // 가급적 몰아서 쓰지말고 개별로 쓰기 바람...
 char slt[10];
 char sta[10];
 char end[10];
 char hana[256];
 char *place;
 char *sep=",";
 int sel;
 int fst;
 int lst;
 int loop;
 int money;
 float dit;
 FILE *fp = NULL; // FILE *fp = NULL; <- 반드시 NULL로 초기값을 설정함.. 아래서 if(fp!=NULL) 부분을 타기위함.

 // 선언부와 정의부는 다른 라인으로... 변수 선언과 구분된걸 쉽게 보기위해... 
 puts("1:경부선 2:호남선\\n");
 gets(slt);
 sel=atoi(slt);
 switch(sel)
 {
  case 1:
   fp=fopen("sk.txt","r");
   break; // break 문을 빼먹을 경우가 있어서 다른 라인으로 하는게 빼먹을시 찾기 쉬움.
  case 2:
   fp=fopen("hn.txt","r");
   break;
  default:
   fp = NULL; // 이렇게함으로써 아래의 if(fp!=NULL)은 안탄다... 그리고 그에해당하는 메시지 출력...
   break;
 }

 if(fp!=NULL)
 {
  while(!feof(fp))
  {
 
   fgets(hana, 256, fp);
   place=strtok(hana, sep);
   strcpy(data[count].dosi, place);
   place = strtok(NULL,sep);
   strcpy(data[count].trv, place);
   data[count].line=atoi(data[count].trv);
   place=strtok(NULL, sep);
   strcpy(data[count].yokum, place);
   data[count].fund=atoi(data[count].yokum);
   printf("%d\\n", data[count].fund);
   
   count++;
   
  }
  
  loop=1;
  puts("출발역을 선택해주세요\\n");
  while( loop )
  {
   for(int i=0;i  <  count-1;i++) // 제어문들은 반드시 { 를 넣어주기를... 어디까지가 for문이 도는 지 헷갈릴때가 있음..
   {
    printf("%1d : %s\\n", i, data[i].dosi); // 인자들의 줄때 ,(콤마)뒤에 스페이스를...)
   }
   gets(sta);
   fst=atoi(sta);
   if(fst>=0 && fst<count)
   {
    loop=0; // 이렇게 해두 되지만. break; 란 문으로 이용하면 소스가 직관적이 됨
   }
   else
   {
    puts("잘못선택하셧습니다\\n");
   }
  }

  loop=1;
  puts("도착역을 선택해주세요\\n");
  while(loop) // Indent...
  {
   for(int i=0;i  <  count-1;i++) // Indent를 줘서 for문이 다음 한개의 라인만 for문 타는걸 알수 있게함.
    printf("%1d : %s\\n",i,data[i].dosi);

   gets(end);
   lst=atoi(end);
   if(lst>=0 && lst<count)
   {
    loop=0;
   }
   else
   {
    puts("잘못선택하셧습니다\\n");
   }
  }

  // 입력로직과 계산로직 사이에 빈칸 한개를 두면 상당히 소스가 직관적이 될수 있음.
  printf("출발역:%s 도착역:%2s\\n",data[fst].dosi,data[lst].dosi);

        printf("출발역과 도착역 사이에 정거장은\\n");
  if(lst>fst)
   {
    printf("%1s->", data[fst].dosi);
     for(int i=fst+1;i  <  lst;i++) // 제어문들은 반드시 { 를 넣어주기를... 어디까지가 for문이 도는 지 헷갈릴때가 있음..
      {
       printf("%1s->", data[i].dosi); // 인자들의 줄때 ,(콤마)뒤에 스페이스를...)
      }
    printf("%1s\\n", data[lst].dosi);
   }
  else
   {
    printf("%1s->", data[fst].dosi);
     for(int i=fst-1;i  >  lst;i--) // 제어문들은 반드시 { 를 넣어주기를... 어디까지가 for문이 도는 지 헷갈릴때가 있음..
      {
       printf("%1s->", data[i].dosi); // 인자들의 줄때 ,(콤마)뒤에 스페이스를...)
      }
    printf("%1s\\n", data[lst].dosi);
   }

  dit   = data[lst].line - data[fst].line;
  money = data[lst].fund - data[fst].fund;
  if( dit <= 0 )
   dit = dit * (-1); // 곱하기 -1을 할 경우 -1에 괄호를 넣어서 다른사람이 볼때 쉽게 볼수 있음...
  if( money <= 0 )
   money = money * (-1);
  if( money <= 8100 )
   money = 8100;
  printf("거리:%.1fkm 요금:%d\\n",dit,money);
  
  fclose(fp); // fopen하면 반드시 fclose를 해야됨..
 }

  printf("end\\n");
  getch();
  return 0;
 
}





에서

 while(!feof(fp))
  {
 
   fgets(hana, 256, fp);
   place=strtok(hana, sep);
   strcpy(data[count].dosi, place);
   place = strtok(NULL,sep);
   strcpy(data[count].trv, place);
   data[count].line=atoi(data[count].trv);
   place=strtok(NULL, sep);
   strcpy(data[count].yokum, place);
   data[count].fund=atoi(data[count].yokum);
      
   count++;
   
  }

이 부분에서.. NULL 때문인지. 계속 안넘어가 ㅠ_ㅠ.

printf로.. 값이 들어가는건 확인했는데..

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
227572 4학년 여름방학때 만든거.. [3] rntjr(121.190) 10.12.28 151 0
227569 님들 [7] 늅늅이(202.136) 10.12.28 94 0
227567 형들 신입 프로그래머로 시작했어. 근데 너무 어렵고 막막해 [6] 뷰리풀갱(121.140) 10.12.28 274 0
227564 아따 라도 까지 말랑께 [1] 개쉛기갤로그로 이동합니다. 10.12.28 133 0
227563 GUI 다루는 횽들 참 대단한듯... [4] ㅇㅇ(124.97) 10.12.28 162 0
227561 2학년 군대가기전에 게임 만든거 2개 ㅠㅠ [9] gg(110.47) 10.12.28 293 0
227560 MS는 인터넷이랑 모바일 에선 버로 하는 거냐 ? [5] yundream(211.111) 10.12.28 130 0
227559 근데 컴공 나오믄 다 프로그래밍 잘허여?? [6] (211.169) 10.12.28 222 0
227556 독수리타법 [2] elwlwlwk갤로그로 이동합니다. 10.12.28 150 0
227555 아..알바하면서 시간날리는게 아깝다 [3] 꿀레갤로그로 이동합니다. 10.12.28 83 0
227554 공일오비는 이게 진리 아님? [4] Minryu갤로그로 이동합니다. 10.12.28 114 0
227553 졸다가 세수하고 왔당 [15] 해일리갤로그로 이동합니다. 10.12.28 144 0
227551 니들아 공일오비 정석원이 서울대 컴공인건 알고 갤질? [19] 빕뱟뱟갤로그로 이동합니다. 10.12.28 508 0
227550 뉴비 퇴갤이요 ^^ [2] 몽클몽클갤로그로 이동합니다. 10.12.28 110 0
227549 남자란 동물들은 항상 발정 대기중인가요? [10] 몽클몽클갤로그로 이동합니다. 10.12.28 297 0
227543 근데 역시 변방갤이라 그런지 친목냄새가 진동을 하네요 [6] 몽클몽클갤로그로 이동합니다. 10.12.28 141 0
227542 횽들 컴공에서 수2필요해? [12] 쏘느(119.205) 10.12.28 225 0
227541 심심하다 [2] elwlwlwk갤로그로 이동합니다. 10.12.28 76 0
227539 뉴비가 사랑 받는 방법은 은꼴방출 뿐인가요? [3] 몽클몽클갤로그로 이동합니다. 10.12.28 175 0
227538 밥먹고오면 한숨자는게 개념 꿀레갤로그로 이동합니다. 10.12.28 45 0
227537 횽들 게임 알고리즘 같은거 공부해볼만한 자료나 사이트 있어? [1] -_-(119.71) 10.12.28 96 0
227536 카이스트에 페도라 14 미러 있어? [1] 넉넉한터갤로그로 이동합니다. 10.12.28 373 0
227535 안녕하세요 프갤 뉴비입니다 늅늅 [4] 몽클몽클갤로그로 이동합니다. 10.12.28 108 0
227534 오늘따라 왜 이리 조용하지? [9] 은행강도갤로그로 이동합니다. 10.12.28 123 0
227533 민철이 모여라 얍 [3] Pupustory갤로그로 이동합니다. 10.12.28 75 0
227532 더블릿 하는자들은 볼것. [5] new gay[max](183.105) 10.12.28 190 0
227531 파워기상 [7] 짤짤삘라뽕갤로그로 이동합니다. 10.12.28 121 0
227530 형들 컴퓨터를 잘하고 싶은데. [4] 코코어(128.134) 10.12.28 122 0
227529 성적 인증해야함? [7] 넉넉한터갤로그로 이동합니다. 10.12.28 270 0
227528 적분은 이 글을 보지 않습니다. [1] 멍게향잉어(110.15) 10.12.28 67 0
227527 형들 간단한 c언어인데 도와줘 ㅜ [8] ~*(121.175) 10.12.28 185 0
227526 츠보미 [2] 유리한갤로그로 이동합니다. 10.12.28 144 0
227523 배가 고픕니다... 꿀레갤로그로 이동합니다. 10.12.28 50 0
227522 적분은 이 글을 봅니다 [2] 소변과홍삼(110.15) 10.12.28 81 0
227521 컴퓨터개론... [11] ∫ 2t dt=t²+c갤로그로 이동합니다. 10.12.28 251 0
227519 흔한 성적 인증.jpg [7] ㅇㅇ(59.22) 10.12.28 370 0
227517 scanf는 알겠는데 scanl은 뭐져????????? [2] 늅이는늅늅(110.15) 10.12.28 104 0
227516 에이씨 인심썻다 이건 진짜 달팽이다. [2] 꿀레갤로그로 이동합니다. 10.12.28 120 0
227515 힘든 하루였따. [3] Gromit갤로그로 이동합니다. 10.12.28 109 0
227514 은행강도는 보라 [3] 꿀레갤로그로 이동합니다. 10.12.28 105 0
227513 별찍기 좀 도와주세요 ㅠ_ㅠ [5] 은행강도갤로그로 이동합니다. 10.12.28 178 0
227511 왜 요즘 질문하는놈들이 없냐 [6] 꿀레갤로그로 이동합니다. 10.12.28 115 0
227509 dll 파일변조한다고 원본 날리고 수정본 날리고.......하느님맙소사 [4] BTTTS!갤로그로 이동합니다. 10.12.28 103 0
227508 quit vs exit [4] 세브(211.117) 10.12.28 122 0
227507 와 이거 원리가 멀까? [6] 시불라미갤로그로 이동합니다. 10.12.28 175 0
227505 도끼수애 [8] iljeomobolt갤로그로 이동합니다. 10.12.28 187 0
227504 꼬꼬마님들은 아래의 코드를 평가해봅시다. [9] nRST갤로그로 이동합니다. 10.12.28 147 0
227503 어제... [3] VL갤로그로 이동합니다. 10.12.28 100 0
227502 휴 빈상자문제 오늘 침착하게 풀리니 풀리네 [5] 꿀레갤로그로 이동합니다. 10.12.28 99 0
227501 능력자형들아 도와줘요 [5] 으잌(203.255) 10.12.28 105 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2