Describe ���/TelephoneBook here.
Coding .. ¶
~cpp
#include <iostream>
using namespace std;
class TelephoneBook
{
private:
char tel_num[14];
char name[20];
char group[20];
char memo[50];
int count; // 등ë¡�ë�˜ëŠ” ì „í™”ë²ˆí˜¸ì�˜ 개수 ( 한명 등ë¡�시 1씩 ì¦�ê°€ )
int mode; // í•목 ì„ íƒ�시ì—� 사용ë�˜ëŠ” 변수
int menu_num; // menu ì„ íƒ�시ì—� 사용ë�˜ëŠ” 변수
char compare[20];
char compare2[14];
// char *compare2;
// char *compare3;
// char *compare4;
// char *compare5;
char compare3[20];
char compare4[20];
char compare5[50];
public:
TelephoneBook();
~TelephoneBook();
void show(); // 보여주는 것ì�„ 파ì�¼ì�„ ì§�ì ‘? 아니면 ê°’ì�„ 옮겨서 옮긴 ê°’ì�„..
void input(); // ì „í™”ë²ˆí˜¸ë¶€ì—� ì �ì�„ 수 있는 환경ì�„ ë§Œë“ ë‹¤.
void save(); // ì �ì�€ 내용들ì�„ 파ì�¼ì—� ì €ìž¥í•œë‹¤.
void menu();
void check(); // 검색 í•목ì�„ ì„ íƒ�하는 함수
void check_search(); //
int mnreturn(); // menu_num 리턴해주는 함수
void change(); // ìˆ˜ì •ë©”ë‰´ ì„ íƒ�시
void remove(); // ì‚ì œë©”ë‰´ ì„ íƒ�시
};
한칸ë�„ê³ ¶
~cpp
ë‘�번째 장소 ¶
~cpp
#include <iostream>
using namespace std;
#include <fstream>
#include "TelephoneBook.h"
#include <cstring>
ofstream fout;
ifstream fin;
const char *filename = "text.txt";
const int base_save = 4; // 처ì�Œ 기본으로 ì €ìž¥ë�˜ì–´ìžˆëŠ” ì „í™”ë²ˆí˜¸ 숫ìž�.
TelephoneBook::TelephoneBook()
{
// compare2 = new char[14];
// compare3 = new char[20];
// compare4 = new char[20];
// compare5 = new char[50];
count = 0;
menu_num = 0;
};
TelephoneBook::~TelephoneBook()
{
};
void TelephoneBook::input() // ì „í™”ë²ˆí˜¸ë¶€ì—� ì �ì�„ 수 있는 환경ì�„ ë§Œë“ ë‹¤.
{
cout << "ì „í™”ë²ˆí˜¸ : " ;
cin >> tel_num;
cout << "�름 : ";
cin >> name;
cout << "그룹명 : ";
cin >> group;
cout << "메모 : ";
cin >> memo;
save();
}
void TelephoneBook::save() // ì �ì�€ 내용들ì�„ 파ì�¼ì—� ì €ìž¥í•œë‹¤.
{
fout.open(filename, ios::app);
fout << tel_num << endl;
fout << name << endl;
fout << group << endl;
fout << memo << endl;
count = count + 1;
fout.close();
}
void TelephoneBook::menu()
{
cout << "> ì „í™”ë²ˆí˜¸ë¶€ (ìž…ë ¥:1, 검색:2, ë��내기:3)" << endl;
cin >> menu_num;
if(menu_num == 1)
{
input();
}
else if(menu_num == 2)
{
check();
// 확�하기 위한 문장
// cout << "메뉴 들어갑니다. " << endl;
// show();
}
else
{
exit(0);
}
}
void TelephoneBook::check_search()
{
fin.open(filename);
/*
if(check_num >= 1) // 구문체�를 위해서..
{
cout << compare << endl;
cout << compare2 << endl << compare3 << endl << compare4<<endl<<compare5<< endl;
}
*/
for(int i=0; i<(base_save+count)*4; i++)
{
fin.getline(compare2, 14, '\n');
fin.getline(compare3, 20, '\n');
fin.getline(compare4, 20, '\n');
fin.getline(compare5, 50, '\n');
if(mode == 1)
{
if(!strcmp(compare, compare2)) // �개가 같다면 0� 리턴한다.
{
show();
}
}
else if(mode == 2)
{
if(!strcmp(compare, compare3)) // �개가 같다면 0� 리턴한다.
{
show();
// check_num = check_num + 1; // 구문 체�를 위해서
// break 를 안�서.. ㅡㅜ;;
// compare 들ì�´ ê°’ì�„ 가지지 ëª»í•´ë²„ë ¸ë‹¤..
break;
}
}
else if(mode == 3)
{
if(!strcmp(compare, compare4)) // �개가 같다면 0� 리턴한다.
{
show();
}
}
}
// cout << "for 문� �났습니다. " << endl;
fin.close();
// cout << compare2 << endl << compare3 << endl << compare4 << endl << compare5 << endl;
}
void TelephoneBook::check() // 검색 í•목ì�„ ì„ íƒ�하는 함수
{
cout << "> 검색í•ëª©ì„ íƒ� (ì „í™”ë²ˆí˜¸:1, ì�´ë¦„:2, 그룹명:3)" << endl;
cin >> mode;
if(mode == 1)
{
cout << "ì „í™”ë²ˆí˜¸ : ";
cin >> compare;
check_search();
}
else if(mode == 2)
{
cout << "�름 : ";
cin >> compare;
// cout << compare;
check_search();
}
else if(mode == 3)
{
cout << "그룹명 : ";
cin >> compare;
check_search();
}
}
void TelephoneBook::show()
{
cout << "ì „í™”ë²ˆí˜¸ : " << compare2 << endl;
cout << "�름 : " << compare3 << endl;
cout << "그룹명 : " << compare4 << endl;
cout << "메모 : " << compare5 << endl;
}
void TelephoneBook::change()
{
cout << "아� 미완성 입니다." <<endl;
// cout << compare2 << endl << compare3 << endl << compare4 << endl << compare5 << endl;
// fout.open(filename, ios::in | ios::out | ios::app );
// strcpy(compare2, " ");
// fout.seekp(compare2);
// fout << compare2;
}
void TelephoneBook::remove()
{
cout << "아� 미완성 입니다." <<endl;
// cout << compare2 << endl << compare3 << endl << compare4 << endl << compare5 << endl;
}
// 코드ì�˜ ë¬¸ì œì �
// 계ì†�ì �으로 ë�Œë¦¬ëŠ” 것ì�„ 통해서 여러개ì�˜ 것들ì�´ 계ì†� ë�Œê²Œë�˜ëŠ” ã…¡ã…¡ ã…‹;;
int TelephoneBook::mnreturn()
{
return menu_num;
}
int main()
{
// TelephoneBook *a = new TelephoneBook();
int ddd;
TelephoneBook a;
do
{
a.menu();
if(a.mnreturn() == 2)
{
cout << "(ìˆ˜ì •:1, ì‚ì œ:2, ìƒ�위메뉴:3) " << endl;
cin >> ddd;
if(ddd != 3)
break;
}
}while(a.mnreturn() == 2);
if(ddd == 1)
a.change();
if(ddd == 2)
a.remove();
cout << "�났습니다." << endl;
return 0;
}
Think about it.. ¶
~cpp 6/4 í† í† í† í† í† í† í�¬ì�¸í„°ë¥¼ ì�´ìš©í• 수 있는 방법ì�¼ 듯.. compare2 = new char [4]; cin >> compare; // int ok; fin.getline(compare2, 30, '\n'); // fin >> compare2[0]; cout << compare2;










