U E D R , A S I H C RSS

허아영/Cpp연습

허아영의 C++ 기초 연습공간


코드를 컴퓨터에만 저장만 해 놓으면 다른 컴퓨터를 사용해서 코드를 작성할 때, 문제는 코딩 했었나?
어떻게 코딩했었더라? 얼마만큼? 나의 실력은 얼마나 늘었지? 를 잘 알 수 없기에, 잘 알 수 있는 "연습코드의 집합"을 또 하나 만들기로 했습니다.
번에는 처음 접하는 C++을 cout부터 .. 등등 여러가지 기초적인 것을 코딩 할 것인데요.
C언어도 많 부족하지만, C++는 저한테 더욱 새롭기 때문에 실수도 많 범할 것 같아요.
그러므로 C++언어를 많 접해 보신 선배님나 동기. 많 충고, 조언 부탁드립니다 ^^
조언은. 코드 바로 밑에 Advice 아래에 해주시면 됩니다.

8월 1일 부터 시작하는 대장정

1

05/7/12
숫자를 입력받아 그 숫자를 제곱하는 프로그램.
999입력시, 제곱 출력과 함께 프로그램 끝남.

소스

~cpp 
#include <iostream.h>

int square(int);
void main()
{
	int number, result;
	do{
	cout<<"제곱할 숫자 입력 :";
	cin>>number;
	result = square(number);
	cout<<number<<"의 제곱 = "<<result<<"n";
	}while(number != 999);
}

int square(int number)
{
	int square_num = number * number;
	return square_num;
}

Advice

아직 C++을 C수준으로 사용하시는 것 같아 지금 시점에서 런 말씀을 드리는게 좋을것 같습니다. C++을 공부하기 전에 다음과 같은 의문을 갖으시는게 좋을것 같습니다.
C랑 C++랑 무엇 다른가? 단순히 cout을 쓰면 C++인가?
에 대한 나름대로의 생각을 키워가면서, 다시 말하면 그 C++에 깔려있는 철학(라고 하면 너무 거창해질 소지가 있지만 마땅한 단어가 떠오르지 않으므로)을 해하려는 시도와 더불어 C++, 아니 다른 언어를 공부하면 기존에 예상했던 것 상의 것들을 얻을 수 있으리라 생각합니다. - 아무개
- C언어는 기초적 설명, 원리 등 철학? 있는 책을 봤으나, C++는 아직 안봐서 잘 모르는데, 차차 공부해 나갈 생각입니다.
C언어에 젖어있는 제 상황에서는 아무래도, 비슷하지만 다른 C++언어로 코딩하는데에 C언어 모양 날 것같군요. (지금은!)
앞으로 C언어와 C++언어의 차점을 잘 생각하면서 코딩하겠습니다 ^^ - 허아영
음.. 내가 쓰기는 C++을 쓰면서 C/C++라고 적는유가 거기에 있다는.. 내소스는 대부분 C++의 탈을쓴 C라지..ㅎㅎㅎ
아직 클래스도 안배워서 클래스를 써도 좀 C의 성격 강하다는..
지금 만드는 지뢰파인더가 지금까지 만든 클래스중에서는 그나마 클래스를 닮았는데 아직 제대로 되려면 한참 멀었으..
아마 C를 먼저 배워서 몸에 배여서가 아닐까.^^
그런데 대부분 빨리 짜야하는 상황에서는 C의 형식을 많 따르더라고..ㅎㅎ 역시 좀 편하고 빨리 짜여지는 느낌..
반대로 C++의 형식은 소스를 재활용할 수 있는 가능성 높고.. 버그가 적게 생기거나 디버깅 쉽다는..ㅎㅎ
뭐.. 내생각니 참조만 해두라고..^^ 맞을확률 바닥을 기어다닌다는.ㅎㅎ
ㅎㅎㅎ 그럼 열심히 해~!^^ - 조현태

2

05/8/5
절차적 프로그래밍 기법을 통해 소프트웨어를 개발하다보면 개발시간도 너무 많 소요되고 동일한 작업들 중복된다는 문제점 야기된다. 러한 문제점을 해결하기 위해서 소프트웨어도 공장의 부품처럼 독립성을 갖는 객체들로 구성해 놓고 그들을 조립하여 완성한다는 개념 객체지향 적인 프로그래밍 기법의 근간다.
05/8/7
자료형 byte 크기를 알아보는 소스를 짜 보았다.

소스

~cpp 
#include <iostream.h>

void main()
{
	cout<<"int = "<<sizeof(int)<<"byte"<<endl;
	cout<<"short int = "<<sizeof(short)<<"byte"<<endl;
	cout<<"long int = "<< sizeof(long)<<"byte"<<endl;
	cout<<"float = "<<sizeof(float)<<"byte"<<endl;
	cout<<"double = "<<sizeof(double)<<"byte"<<endl;
}
~cpp 
int = 4byte
short int = 2byte
long int = 4byte
float = 4byte
double = 8byte
궁금한게 있는데,,
#include <iostream.h>

Advice


3

Lecture note에 있는 문제인데, C같 풀었습니당.
~cpp
#include <iostream>
using namespace std;

int err(int subject);
double avg(int *subject_data);
int main () 
{	
	char subject_name[3][5];
	int subject_data[3];
	int true_val;
	int i;
	strcpy(subject_name[0], "국어");
	strcpy(subject_name[1], "수학");
	strcpy(subject_name[2], "영어");
	
	while(1)
	{
		for(i = 0; i < 3; i++)
		{
			cout << subject_name[i] << " : ";
			cin >> subject_data[i];
			true_val = err(subject_data[i]);
			if(true_val == 0)
				break;		
		}
		if(true_val == 1)
			break;
	}
	cout << "평균 : " << avg(subject_data) << endl;
	
	return 0;
}

int err(int subject)
{
	if(subject > 100 || subject < 0)
	{
		cerr << "err!! 다시입력!!";
		return 0;
	}else{
		return 1;
	}
}
double avg(int *subject_data)
{
	double result_avg = 0;
	for(int i = 0; i < 3; i++)
	{
		result_avg += (double)subject_data[i];
	}
	result_avg /= 3;
	
	return result_avg;
	
}
----
허아영 허아영/C코딩연습
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:32
Processing time 0.0144 sec