Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- arduino compiler
- Algorithm
- list
- 라인트레이서
- LineTracer
- stl
- C언어
- map
- c++
- 수광 소자
- Visual Micro
- vector
- 자료구조
- 통계학
- Arduino
- Array
- Deque
- 컴퓨터 그래픽스
- set
- queue
- priority_queue
- 아두이노
- Stack
- 아두이노 소스
- html
- 운영체제
- 아두이노 컴파일러
- WinAPI
- 시스템프로그래밍
- directx
Archives
- Today
- Total
Kim's Programming
구구단 세로로 출력하기 본문
이번 소스는 C의 구조체 , 배열, 포인터 그리고 C++의 클래스를 사용하여 구구단을 출력하는 예제입니다. 참고하실분은 참고하셔도 좋습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> using namespace std; struct String//문자열 저장용 구조체 { int init = 0; char str[30]; void input(char cha[]) { strcpy(str, cha); } void out() { cout << str; } }; class MyClass//계산 입 입력 { public: String str_C[2000];//초기화 필요 String *pStr_C = pStr_C; char save[50];//임시저장배열 void save_initialize();//임시 저장 배열 초기화 char itoa_buffer[100];//문자열로 숫자 복사를 위한 버퍼 int str_num = 0;//내부 구조체 전달용 변수 void control_max(int num);// String index(int i);//str_C배열 입력용 함수 void output();//출력 문자열 할당용 함수 MyClass();//초기화용 생성자 private: int j; int i; int z; int n; int max; int dan; }; void main() { int count = 0; cout << "입력 숫자 3배수의 구구단까지 출력" << endl; cin >> count; MyClass My;//My 선언 MyClass *M = &My;//My를 포인터 참조 String str[2000]; //STR 선언 String *pString = str; //STR 포인터 참조 M->control_max(count+1);//최대치 까지 출력(최대치 입력 전송) M->output();//MY 객체에 값 입력 for (int i = 0; i < 2000; i++) { str[i] = M->index(i);//클래스로 출력한 값들을 구조체로 이관 } for (int i = 0; i < count*9; i++)//1회당 출력 조정 { for (int i = 0; i < 3; i++)//3개씩 출력 { pString->out();//넘겨받은 구조체에서 pString++;//포인터를 증가시키면서 순차 호출 } cout << endl; } } MyClass::MyClass() { i = 0;/////////////////////////// j = 0;////for문 초기화용 변수//// z = 0;/////////////////////////// n = 1;// 입력 숫자 부터 구구단 시작 dan = 9;//입력 숫자 만큼의 배수 출력 for (int i = 0; i < 50; i++) { save[i] = NULL; } } void MyClass::output() { for (z = 1; z < max; z++)//3의 배수로 어디까지 뽑을 것인가. { for (i = 1; i < dan + 1; i++)//몇 단 까지 할것인지를 결정 { for (j = n; j < n + 3; j++)//현재 출력중 배수 3배수 단위 { // cout << j << " * " << i << " = " << i*j << " "; strcat(save, _itoa(j, itoa_buffer, 10)); strcat(save, " * "); strcat(save, _itoa(i, itoa_buffer, 10)); strcat(save, " = "); strcat(save, _itoa(j*i, itoa_buffer, 10)); strcat(save, " ");//////////////////////////////임시문자열로 문자열 규합 -> 개개 식 단위 str_C[str_num].input(save);//임시문자열 ->클래스내 문자열 전송 save_initialize(); str_num = str_num + 1; } } n += 3;//다음 배수 출력용 } } void MyClass::control_max(int num) { max = num; } String MyClass::index(int i) { return str_C[i]; } void MyClass::save_initialize() { for (int i = 0; i < 50; i++) { save[i] = NULL; } } | cs |
'Programming > 기타 소스' 카테고리의 다른 글
C로 만드는 단순원형연결 리스트(동적할당으로 구현) 소스 (0) | 2016.02.27 |
---|---|
C로 만드는 단순연결 리스트(동적할당으로 구현) 소스 (0) | 2016.02.27 |
C로 만드는 리스트(배열로 구현) 소스 (0) | 2016.02.27 |
구구단 세로로 출력(수정) (0) | 2015.09.12 |
C언어 슈팅게임 (0) | 2015.06.30 |