~cpp ==================================================================== // 1번 프로그래밍 연습... #include <iostream> using namespace std; void print(char *,int n=0); int main() { char exam[40]; int choice; do { cout << "문자열(20자내)을 입력하세요...\n"; cin.getline(exam,40); cout << "숫자를 입력하세요.. _\b"; cin >> choice; cin.get(); print(exam,choice); }while(choice==0); return 0; } void print(char *exam,int n) { static int count=0; if(n==0) cout << exam << endl; else { cout << "당신은 출력 함수를 " << count << " 번 사용하셨습니다.\n"; for(int i=0;i<count;i++) cout << exam << endl; } count++; } /* 0을 입력받고 싶지 않은데 그게 어렵네요... 0을 따로 계속 입력해야합니다.. */ ======================================================================== // 2번 프로그래밍 연습... #include <iostream> using namespace std; struct candybar { char name[30]; double weight; int cal; }candy; void print(candybar &, char * name="millenium Munch",double weight=2.85,int cal=350); int main() { print(candy); return 0; } void print(candybar &candy,char * name,double weight,int cal) { for(int i=0;i<30;i++) candy.name[i]=name[i]; candy.weight=weight; candy.cal=cal; cout << "캔디바의 이름\t:\t" << candy.name <<endl; cout << "캔디바의 무게\t:\t" << candy.weight << endl; cout << "캔디바의 칼로리\t:\t" << candy.cal << endl; } =================================================================== // 3번 연습문제.. #include <iostream> using namespace std; #include <cstring> struct stringy { char * str; int ct; }; void show(char *, int n=1); void show(stringy, int n=1); void set(stringy &,char *); int main() { stringy beany; char testing[] = "Reality isn't what it used to be."; set(beany,testing); show(beany); show(beany,2); testing[0]='D'; testing[1]='u'; show(testing); show(testing,3); show("Done!"); return 0; } void show(char *string,int n) { for(int i=0;i<n;i++) cout << string << endl; } void show(stringy beany,int n) { for(int i=0;i<n;i++) cout << beany.str << endl; } void set(stringy &beany,char *string) { char* temp=new char[strlen(string)]; temp=string; beany.str=temp; beany.ct=strlen(beany.str); } ============================================================= //4번임다.. // 다음은 헤더 파일이다. // golf.h -- pe8-3.cpp 를 위해 #include <iostream> #include <cstring> using namespace std; const int Len=40; struct golf { char fullname[Len]; int handicap; }g1,g2; //함수는 사용자에게 이름과 핸디켑을 요구한다 //이름이 입력되면 1을 리턴하고, 이름이 빈 문자열이면 0을 리턴한다 int setgolf(golf & g); //함수는 전달인자로 전달된 값들을 사용하여 //golf 구조체를 제곤된 이름과 핸디캡으로 설정한다 void setgolf(golf & g, const char * name, int hc); //함수는 handicap을 새값으로 초기화한다. void handicap(golf & g, int hc); //함수는 golf 구조체의 이름을 표시한다 void showgolf(const golf & g); int main() { int k; do { k=setgolf(g1); setgolf(g2, "DKNY", 100); handicap(g2,77); showgolf(g1); cout<<endl; showgolf(g2); }while(k!=0); return 0; } int setgolf(golf & g) { cout << "What's U'r name?\n"; cin >> g.fullname; cout << "Handicap?\n"; cin >> g.handicap; if(g.fullname==NULL) return 0; else return 1; } void setgolf(golf & g, const char * name, int hc) { strcpy(g.fullname,name); g.handicap=hc; } void handicap(golf & g, int hc) { g.handicap=hc; } void showgolf(const golf & g) { cout << "Name \t:\t" << g.fullname << endl; cout << "HandyCap\t:\t" << g.handicap << endl; } =============================================================