2012-10-09 15 views
0

좋아요, 저는 C++에 익숙하지 만, 저는 연습을 많이하고 있습니다.텍스트 파일에서 레코드 읽기

내 문제는 누군가 내 소스 코드를 살펴보고 올바른 방향으로 나를 조종 할 수 있었으면합니다.

이것은 내가하려는 일입니다.

  1. 프로그램은 그 안에 기록 으로 텍스트 파일을 읽을 수 있도록해야한다.
  2. 가 나는 또한 텍스트 파일 에 문자열을 사용하여 레코드를 검색 할 (즉, DID) (수행하지 않은 this)
  3. 또한 십진수 숫자를 사용하여 레코드를 높은 값에서 낮은 값으로 정렬하거나 텍스트 파일에서 두 번 정렬합니다. 나는 버블 종류를 사용하는 것으로 생각했다. 함수.

여기 여기 내 코드

#include <iostream> 
#include <fstream> 
#include <string> 
using namespace std; 

//double gpa; 
//string 

int main() 
{ 
    string line; 
    ifstream myfile ("testfile.txt"); 
    if (myfile.is_open()) 
{ 
    while (myfile.good()) 
{ 
     getline (myfile,line); 
     cout << line << endl; 

} 
    myfile.close(); 
} 

else cout << "Unable to open file"; 

char c; 
cout<<"\n enter a character and enter to exit: "; 
cin>>c; 
return 0; 
} 

이다 기록과 exmaple 텍스트 파일입니다.

while (myfile.good()) 
{ 
    getline(myfile, line); 
    cout << line << endl; 
} 

가 있어야한다 :

aRecord 90 90 90 90 22.5 
bRecord 96 90 90 90 23.9 
cRecord 87 90 100 100 19.9 
dRecord 100 100 100 100 25.5 
eRecord 67 34 78 32 45 13.5 
fRecord 54 45 65 75 34 9.84 
gRecord 110 75 43 65 18.56 
+0

@Radu 숙제인지는 중요하지 않습니다. [숙제 태그는 이제 공식적으로 사용되지 않습니다.] (http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially -deprecated) – slugster

답변

1

참고, 그 getline(myfile, line) 따라서이 경우에 line의 값을 사용하는 잘못, 실패 할 수 있습니다 질문 2

while (getline(myfile, line)) 
{ 
    cout << line << endl; 
} 

및 3 : 도움을 요청하기 전에 스스로 시도해야합니다. 해결책이 아니거나 시도조차되지 않는다면, 최소한 그것에 대한 아이디어가 있어야합니다. 텍스트 파일에서 데이터를 가져올 때마다 텍스트 파일을보고 싶습니까? 한 번에 그것을 읽고 메모리에 저장하는 것이 더 좋지 않습니까? (어쩌면 std::vector<Record>) 그런 다음 레코드의 벡터에서 레코드를 검색하십시오. 파일을 한 줄씩 살펴보고 각 줄에서 특정 문자열을 검색 하시겠습니까? ... 그냥 그것에 대해 더 생각하면 질문에 대한 답변을 찾을 수 있습니다.

+0

입력 해 주셔서 감사합니다. 나는 C++에서 운문이 아니며,이 프로그래밍 언어에 대해 처음이라 할지라도 그것이 기본이라고하더라도 말입니다. 나는 생각을 많이하고 여러 변형을 시도해왔다. – user1733201

관련 문제