[C++] 학생정보관리 프로그램에서요....
노랑이
과제로 하고 있는 프로그램중에 학생정보 관리 프로그램을 짜고 있습니다..
아직 많이 미숙해서 파일 입출력 기본적인것도 안되는데..
일단 텍스트 파일 형식에 학생의 이름 학번 사는곳 전화번호를 입력해서
그것을 배열 형태로 저장해서 프로그램에서 검색이나 추가하는 프로그램인데요..
파일 입출력에서 ios::in | ios::app app를 쓰면 텍스트 파일이 초기화 안되고 추가 되는걸로 아는데
구현하는 방법을 모르겠습니다.. 선언을 따로 해야되는건지..
그리고 string으로 선언해서 처리해주면 char일경우 한자린데 string은 8자리인가로 되거든요
입력 하는 항목 글자수 제한이 있으면 어떤걸로 하는게 유리할까요
string을 쓰면 함수를 이용해서 문자 카피가 되는걸로 알고 있거든요
별로 어려운거는 아니지만 잘 모르는 상태에서 여기저기 뒤져보면서 해도 잘 안되네요
아시는분 답변 부탁드립니다~!
선언에 std::ios;
하고 쓰니까 한번 실행될때 텍스트 파일이 초기화 되네요.. 아예 계속 덧붙여서 쓸려면 어떻게 해야 될까요그럼 좋은 하루되세요(아래 허접한 소스)
#include iostream
using std::cout;
using std::cin;
using std::endl;
using std::cerr;
#include fstream
using std::ifstream;
using std::ofstream;
#include string
using std::string;
char name[16];
char id[11];
char city[11];
char tel[13];
int count = 0;
class information
{
public:
char *student[30][4];
information();
void insertion();
void search();
void sorting();
};
information::information()
{
for(int i=0; i30; i++)
{
student[i][0] = 0;
}
cout finished endl;
}
void information::insertion() // 학생 추가 함수
{
ofstream outfile;
outfile.open(file1.txt);
cin.get();
cout Name ? ;
cin.getline(name,16);
cout endl Student ID ? ;
cin.getline(id,11);
cout endl City ? ;
cin.getline(city,11);
cout endl Tel ? ;
cin.getline(tel,13);
outfile name id city tel;outfile.close();
}
void information::search()
{
}
void information::sorting()
{
}
void main(int argc, char *argv[])
{
ifstream infile;
ofstream outfile;
// 실행파일명과 Input 파일명 확인하는 부분
if ( argc != 2)
{
cout 파일 입력형식이 잘못되었습니다. endl;
exit(1);
}
infile.open(argv[1]);
outfile.open(argv[1]);
// 해당 파일명이 없을경우 종료
if( ! infile )
{
cerr 해당되는 파일이 존재하지 않습니다. endl;
exit(1);
}
information m;
int select;
for(;;)
{
cout 1. Insertion endl;
cout 2. Search endl;
cout 3. Sorting Option endl;
cout 4. Exit endl;
cout ;
cin select;
if(select == 4)
{
cout 이용해 주셔서 감사합니다. endl;
infile.close();
outfile.close();
exit(1);
}
else if(select =1 && select =3)
{
switch(select)
{
case 1 : //추가 함수
m.insertion();
break;
case 2 : //찾기 함수
m.search();
break;
case 3 : //정렬 함수
m.sorting();
break;
}
}
else
{
cout 1-4 사이의 수를 입력하십시오. endl;
}
}
}
-
핫블랙
감사합니다.. 제가 엉뚱한데서 답을 찾고 있었더군요 ㅋ
-
은별
winapi.co.kr 참고
-
내꺼하자
파일 출력하는건 다 비슷한데.. 만들때 append(추가) 옵션주는게 있을꺼에요. 레퍼런스 찾으면 나옵니다.