T스토리 주물럭

FreeNote 2018. 8. 19. 16:21



기존 로고가 맘에 들지않아서 바꿔본다고 바꿨는데


만들어놓고 보니까 붉은색이 더 나은 것 같은 느낌





타이틀 이미지도 맘에 들지않아서 교체해보려고 만들었으나...


HTML과 CSS를 전혀 공부하지 않은 탓에


 몇가지 기존에 있던 효과들을 지울 수가 없어서 실패


갑작스럽게 저 두 개를 공부하고싶어졌다.


천천히 공부하면서 공부한 것이나 올려볼까나..



ps. 다쓰고 끄적거리다가 좀더 제대로 뽑혀서 재수정 :) :)



블로그 이미지

irostub

iro의 잡화상점

,

이클립스(Eclipes)의 자동 완성 기능이 자신이 하던 스타일과 다르게 중괄호를 처리하는 경우가 있다. 


 이 글은, 자동 완성의 기능에서 답을 찾지못해 대체 가능할 만한 기능인 자동 정렬(Ctrl + Shift + F) 를 사용한다. 자동 완성에 중괄호를 모두 줄바꿈하는 기능이 있다면 작성자에게도 알려주면 너무 감사할 것 같다.


Visual Studio 이용자였다면 더욱 공감 할 수 있을 것이다.


기본적으로 이클립스에 적용된 자동 완성은 중괄호가 모두 다음 줄로 넘어가진 않는다.


예를들면 


for(;;){


};


처럼 말이다. 이런 스타일을 좋아하는 사람들에겐 문제될 것이 없겠지만, 작성자의 경우


for(;;)

{


};

항상 이렇게 쓰기 때문에 작성자에겐 무척이나 불편하다. 


타이핑 시에 VS처럼 바로바로 중괄호를 아래로 내려주면 편하겠지만 아직 이클립스에선 자동완성 기능 작동 시 모든 중괄호를 내려주는 방법은 찾지못했다.


그 대안으로 쓰고 있는 것이 Ctrl + Shift + F (자동 정렬) 기능이다.

자동 정렬 기능은 사용자의 규칙대로 정렬해주는 것이 가능한데, 그것을 이용해서 개인에게 불편할 수 있는 코드를 읽기 쉽도록 바꿀 수 있다.


물론 Ctrl + Shift + F를 코딩하면서 종종 눌러줘야한다는 점이 번거롭긴 하지만 저 중괄호가 작성자에겐 더욱 불~편 하므로..


자, 바로 방법을 알아보자.



블로그 이미지

irostub

iro의 잡화상점

,

#include <stdio.h>


길이가 10인 배열 선언 총 10개 정수 입력, 홀수 짝수 구분지어 출력, 홀수 선출력 후 짝출력, 10개정수 메인에서 입력, 배열내에 존재하는 짝수만 출력하는 함수를 각각정의해서 이 두 함수를 호출하는 방식으로 프로그램 완성



=========================



윤성우의 열혈 C프로그래밍 <도전! 프로그래밍2>에 나온 2번 문제이다.


문제의 실행 예시에서 출력부분의 


홀수 출력 : 1, 3, 5, 7, 9

짝수 출력 : 2, 4, 6, 8, 0


이런 식으로 맨 마지막의 출력 숫자 뒤에는 ' , ' 를 찍지 않는 것 때문에 골머리를 앓았다.


생각지 못한 여러가지 방법이 있겠지만 나는 입력받은 모든 배열을 검사하여 홀, 짝을 전역 변수에 카운트 하였고 카운트된 횟수를 바탕으로 ' , ' 없이 출력될 숫자를 if문으로 구분지었다.


나름 깔끔하게 마무리 된 것 같다.


역쉬, 전역 변수는 편리하다....

블로그 이미지

irostub

iro의 잡화상점

,

visual studio2017(ver 15.5.2) 버전업이 되면서 Win32 콘솔 응용프로그램 프로젝트를 만드는 방법이 달라졌다.


만약 C언어 교재를 이용해 공부하는 분들은 2017 이전 버전의 설명이라면 당황스러울 것.


스크린 샷으로 설명하겠다.


파일 - 새로 만들기 - 프로젝트 (Ctrl + Shift + N) 을 선택해준다.




템플릿 카테고리에서 Visual C++ 하위의 Windows 데스크톱을 선택해주면 목록이 나온다. Windows 데스크톱 마법사를 클릭해준 후 확인을 눌러준다.



이후 나온 화면에서 빈 프로젝트가 체크 해제 되있고 SDL검사가 체크되어있을 것이다. 그림과 같이 빈 프로젝트는 체크해주고 SDL은 체크 해제 해준다.


SDL을 해제하지 않아도 되지만 해재하지 않는다면 보안에 문제가 되는 함수들에 조언이 뜰 것이다. 공부하시는 분들은 체크 해제 하는게 기존 환경과 더 비슷할 것.




Win32 콘솔 응용 프로그램으로 실행했을 때와 같은 환경으로 시작하게된다.


왜 자꾸 바뀌는거야...








블로그 이미지

irostub

iro의 잡화상점

,

Visual Studio 2017이 버전업 되면서 기존에 사용하던 문자열 배열의 초기화에 문제가 생겼다.




"char"형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. 라는 문구가 나온다. 약간 시간이 지난 C언어 교재를 이용하고 있었다면 겪을 수 있는 문제.


해결 방법은 간단하다. 

솔루션 탐색기(ctrl + alt + L) 연 다음 작업하고 있는 소스파일의 확장자를 .cpp 에서 .c로 변해준다. 



.cpp확장자는 c++의 소스파일 확장자다.


.cpp확장자에서 C언어를 사용 못하는 것은 아니다. 근데 가끔 저런 문제가 생겨서 그렇지..



#include<iostream>

using namespace std;

를 사용하고 있었다면 .c로 확장자를 바꾸면 더 이상 사용할 수 없다.


블로그 이미지

irostub

iro의 잡화상점

,

윤년과 평년

Tip 2018. 3. 7. 20:02

입력한 년/월/일 의 요일을 맞추는 프로그램을 짜면서 '윤년' 과 '평년' 이 얼마나 성가신 녀석(중요한 녀석..)인지 알게됬다.


분명 살면서 이부분을 안 배웠을리 없을텐데, 잊으며 사는게 무섭다고 싸그리 까먹고 윤년?? 평년?? 그게 뭐시여 이러고 있던 나를 보면 참 스스로 한숨나온다.


윤년과 평년의 개념은 생각보다 간단하다. 어디서 윤년, 윤달, 윤일을 들어본 적이 있는데, 윤년과 평년은 윤년, 윤일 만 해당되는 말이다. 윤달이란 녀석은 양력이 아닌 음력에서 따지는 것으로 자세한 설명은 생략. 윤일은 2월 28일에서 29일이 되어버린 윤년에서 29일을 지칭하는 말이다.


주로 쓰이는 윤년과 평년의 관계.


그것은 2월이 28일까지냐 29일까지냐. 그것으로 정해진다.


왜? 사실 우리가 알고있는 1년 = 365일은 완전하게 정확하지않다. 지식인을 참고로하면 약 365.25 일이다. 때문에 2월이 28일인 달력으로만 살면 1년에 약 0.25일씩 적립식 포인트가되어 x년 뒤엔 . . . 12월에 장마비가 쏟아지는 불상사가 생길 수 있다는 것이다.


그걸 방지하기 위해 윤년과 평년이 탄생한 것이다.

적립식 포인트가 좋기야하지만 "겨울이네~" 하면서 밖에 나갔는데 아이스크림 빨아야하는 계절이면 얼마나 어처구니가 없겠는가.



약 0.25일씩 차이난다면 4년이면 1일된다. 해서 4년마다 한번씩(왜 굳이 2월에 붙이는지는 모르겠다) 2월이 28일에서 29일로 변신을한다. 


추가로 4년마다 윤일을 붙이는 것으로는 오차의 범위가 조금 크다고(128년에 하루가 늘어나는 오차) 느껴 수정을 가미했다.


100으로 나누어 떨어지는 연도는 평년으로 그 중 400으로 나누어 떨어지는 연도는 윤년으로 하기로 한 것. 이것을 추가하면서 오차가 현저히 줄어들었다(3226년에 하루가 늘어아는 오차)


바로 여기까지가 현재 우리가 쓰는 달력이며 정식 명칭은 '그레고리우스 력'이며 윤년과 평년의 조건이다. 



사실 중요한 것은 윤년은 방학을 하는 학생들이면 공짜로 1일을 더 쉬는셈이고 직장인이라면 1일을 더 일하는 셈이다(맙소사).



블로그 이미지

irostub

iro의 잡화상점

,

뭐 대단한거 발견했다고 팁에 들어가겠냐만은...나에겐 혁신 수준인 발견을 해서 적는다.


오늘 강의를 보고 배우면서 강사님이 커서 뒷문자를 수정하는 모습이 눈에 띄었다. 편집 중 커서 뒤의 오탈자가 있으면 (방향키를 눌러 이동, [Backspace])라는 과정을 거쳐 수정을 하는 나의 모습과는  달랐다.


분명 비슷한 기능으론 문서 편집 중 [Insert] 키를 눌러주면 뒤의 문자가 삭제되며 새롭게 입력하는 문자가 자리를 메워나가는 것이 있었지만 한자씩 지우기만 하는 것은 아니었다.


나만 그랬을지는 모르지만, 프로그래밍을 하며 편집 중 커서가 위치한 뒷부분의 문자를 수정해야 할 일이 생기는데 그 기능을 하는 것이 [Delete]키 였다는 것을 처음 알았다.


[Backspace]가 커서 앞의 문자를 제거해주는 기능을 가졌다면 [Delete]는 커서 뒤의 문자를 제거해준다.


물론 기존 방향키 + [Backspace] 혹은 마우스 클릭 + [Backspace] 가 복잡한 것은 아니지만 한가지 동작을 더한다는 점에서 [Delete]키는 상당히 유용하다.


앞으로 애용하게 될 키 Delete!

블로그 이미지

irostub

iro의 잡화상점

,

import java.util.Scanner;


public class StarDot_While_Back {


public static void main(String[] args) {

// TODO Auto-generated method stub



Scanner firstNum = new Scanner (System.in);

int k = firstNum.nextInt();

int i = k;

int j = i;

while(i>0) {

j = i;

while(j<=i && j>0) {

System.out.print("*");

j--;

}

System.out.println();

i--;

}

}

}



블로그 이미지

irostub

iro의 잡화상점

,