오늘 만들어보는 프로그램은 성적처리 프로그램입니다.
물론 현재 학원에서  VB.NET에 대해서 일주일동안 받은 교육의 평가로 문제 준거 방금 다 풀어서 올려봅니다.

입력형태 
이름 :
학번 :
중간고사 점수 :
기말고사 점수 :
결석 횟수 :
레포트 점수 :

출력형태 
이름  학번  중간고사  기말고사  출석점수  레포트점수  총합산점수  학점
홍길동 1111    32           30          8              10               80         B
.....

프로그래밍 조건
중간고사 : 40%, 기말고사 : 40%, 출석점수 : 10% 레포트점수 : 10% 로 해서 총합산점수를 구하고
총합산점수=중간고사+기말고사+출석점수+레포트점수로 계산
학점은 총합산점수 90점 이상 A , 80점 이상 B, 70점 이상 C, 60점 이상 D, 그 이후는 F
출석점수 : 결석횟수 기준 0~1 : 100점, 2~3 : 80점, 4~5 : 50점 6 이상 : 0점

전체소스
사용자 삽입 이미지
사용자 삽입 이미지

실행결과
사용자 삽입 이미지

콘솔창의 한계로 출력결과가 조금은 어지러졌는데 아무튼 이런 형태로 출력됩니다.
좋은 출력 결과를 얻기 위해서는 윈도우즈 응용프로그램을 이용해서 작성하는 것이 좋을 것 같다는
생각을 해보며 오늘 학원에서 주어진 문제답을 올렸습니다.

끝으로 보시면 아시겠지만 중간 중간 프로시져나 함수로 바꿔주면 보기가 더 좋을 수 있는 부분들,
배열로 받되, 구조체 배열을 이용한 방법 등도 생각해 볼 수 있겠네요.

그럼 즐거운 프로그래밍들 하시길...
Posted by 원철연(체르니)
,


비주얼 베이직(VB)를 공부하는 것은 다른 언어를 접근하는데 좋은 바탕이 된다고
개인적으로 생각한다. 왜냐하면 갈수록 비주얼 베이직.닷넷의 사용방법이나 응용처가
C#이나 C++의 고유의 영역으로 넓혀져가는 느낌이 들기 때문이다.

아무튼 비주얼 베이직을 시작하는 분들 힘내시길 바라며..그럼 시작해 볼까요?
사용자 삽입 이미지

처음 VB2005를 시작하면 위와 같은 화면을 접하게 될 것인데 여기서 새프로젝트를 선택해야 합니다.
CTRL+ N 을 누르거나 아래와 같이 파일메뉴에서 새프로젝트를 선택
사용자 삽입 이미지

위에서 새프로젝트를 선택하면 아래와 같은 어떤 프로젝트를 만들 것인지 선택을 해야합니다.
여기서 여러가지가 있지만 가장 기본이 되는 콘솔(Console) 응용프로그램 선택
사용자 삽입 이미지

그다음 이름(N)란에 자신이 원하는 이름을 입력(나는 firstconsole로...)
이렇게 한 후 확인을 누르면 아래와 같은 기본적인 환경이 보입니다.(캡쳐를 위해서 솔루션탐색기와 속성창을
움직였습니다.)
사용자 삽입 이미지

이제 실제 코딩을 해볼까요?
콘솔 화면에 "처음으로 VB.NET 콘솔화면에 출력합니다." 라고 나타나도록 프로그램을 작성합니다.
아래를 참조하세요.
사용자 삽입 이미지

위와 같이 표준 출력(콘솔창)에 문자열을 표시해주기 위해
Console.WriteLine() 함수를 사용
그리고 Console.ReadLine() 함수는 컴퓨터의 입력부분(예를 들면 키보드)으로부터 입력받기 위해서 사용
이렇게 한 후 F5키를 누르거나 빌드메뉴에서 firstconsole빌드를 누릅니다.
사용자 삽입 이미지

 이렇게 하면 아래와 같은 출력 화면을 볼 수 있습니다. 여기서 EXIT를 입력하면 실행종료가 됩니다.
사용자 삽입 이미지

이상으로 VB2005 처음시작하기.. 간단한 콘솔 프로그램을 마칩니다.
Posted by 원철연(체르니)
,

오늘의 학습내용

1. Label, Button, CheckBox, PictureBox, Group 컨트롤 사용
2. CheckBox
가 선택될 때마다 이미지 보여주고 감추기 기능 배우기
3.
조건문, Form Load시 초기화 해주기


학습순서
1. 새로운 프로젝트를 생성

2. 필요한 컨트롤들을 폼에 배치한다.

3. 각 컨트롤들의 속성 및 폼의 초기화 진행

4. 실행해본다.

 
1. 새로운 프로젝트를 생성

사용자 삽입 이미지















2.
필요한 컨트롤들을 폼에 배치한다.


사용자 삽입 이미지
























3.
각 컨트롤들의 속성 및 폼의 초기화 진행

CheckBox1 관련
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles CheckBox1.CheckedChanged

   '체크박스1이 체크된 상태이면 픽쳐박스1을 화면에 보여주고 그렇지 않으면 보이지
        않게 하라는 조건문

        If CheckBox1.Checked = True Then
            PictureBox1.Image = System.Drawing.Image.FromFile("E:\컴퓨터\Visual Basic
            NET\2008\티스토리에 올릴 강좌\강좌 2\황학루.jpg")
            PictureBox1.Visible = True
        Else
            PictureBox1.Visible = False
        End If
   
End Sub

CheckBox2 관련
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles CheckBox1.CheckedChanged

   '체크박스2이 체크된 상태이면 픽쳐박스2을 화면에 보여주고 그렇지 않으면 보이지
        않게 하라는 조건문

        If CheckBox2.Checked = True Then
            PictureBox2.Image = System.Drawing.Image.FromFile("E:\컴퓨터\Visual Basic
            NET\2008\티스토리에 올릴 강좌\강좌 2\하늘위에서.jpg")
            PictureBox2.Visible = True
        Else
            PictureBox2.Visible = False
        End If
   
End Sub

    PictureBox1, PictureBox2 관련
    PicutreBox1.Image 속성에 PictureBox1에 표시할 이미지를 선택해주고
    PicutreBox1.SizeMode는 StretchImage로 해준다.

    Form1 관련
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
     System.EventArgs) Handles MyBase.Load

 
       '폼을 로드할 때 초기화해 줌
        CheckBox1.Checked = True
        CheckBox2.Checked = False

        PictureBox1.Visible = True
        PictureBox2.Visible = True
    End Sub


4. 실행해본다.

사용자 삽입 이미지























[참고] 샘플파일

invalid-file

샘플파일


이상으로 2번째 시간을 마칩니다. 참고로 올린 샘플 프로그램에서
사용된 이미지들은 다른 것으로 변경하여 적용해 보시면 될 듯 합니다.

Posted by 원철연(체르니)
,

비주얼 베이직을 손에서 놓은지 4년이 지났지만 다시 보니 새롭기도 해서
비주얼 스튜디오 2008 + 비스타 환경에서 틈나는대로 올려볼까 합니다.
대상은 당연히 처음시작하는 분들이겠지요^^;;

그 첫번째 시간으로 Hello world와 간단한 자기 생일 표시하는 프로그램을 올려봅니다.

학습내용
1. 컨트롤 익히기 : TextBox, Button, DateTimePicker, Group
2. 간단한 조건문
3. 간단한 함수 : Val, Left, MsgBox
4. 세부사항들은 하나씩 변화를 줘가면서 실행결과를 보면 각 컨트롤에 대해서 이해를
    할 수 있을 겁니다.


자 그럼 시작해 볼까요?

사용자 삽입 이미지


OK 버튼을 누르면

사용자 삽입 이미지

이렇게 하여 HelloWorld라는 프로젝트가 생성되었습니다.

Form1.vb를 클릭하여 아래와 같이 해당 컨트롤들을 위치시키고 각 컨트롤의 Properties를 변경해 줍니다.(이부분은 첨부한 파일을 열어보시면 아실 수 있습니다.^^;;)

최종 폼 디자인은 아래와 같습니다.
사용자 삽입 이미지


자 이제 제대로 동작하기 위해 코드를 작성해 봅니다.

먼저 HelloWorld 그룹의 확인 버튼을 더블 클릭하여 아래와 같이 입력합니다.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "Hello, world!"
End Sub

그리고 지우기 버튼을 더블 클릭하여 아래와 같이 입력합니다.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'TextBox1의 어떠한 글자가 표시되어 있으면 지우라는 조건문
        If TextBox1.Text <> "" Then
            TextBox1.Text = ""
        End If

        'TextBox1에 지울내용이 없으면 표시하도록 한 것
        If TextBox1.Text = "" Then
            MsgBox("지울내용이 없습니다요..헤헤")
        End If
    End Sub

이렇게 하면 HelloWorld 그룹쪽은 코딩이 끝납니다.

다음으로 생일 보여주기 그룹의 내생일 보여주기를 더블클릭합니다. 그리고 아래와 같이 코딩합니다.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim strDate As String
        Dim strYear As String
        Dim IntYear As Integer
        Dim IntCompYear As Integer


        strDate = DateTimePicker1.Text
        strYear = Microsoft.VisualBasic.Left(strDate, 4) 'Left(문자열, 길이) 왼쪽에서 길이만큼
        잘라낸다. 'VB6.0시절엔 Left(strDate,4)써도 괜찮았는데 그사이 많이 바뀐 듯 하군요
.
        IntYear = Val(strYear)
        IntCompYear = 2008 - IntYear

        '프로그래밍을 할 수 있는 최소 나이는 8살이라고 보고 현재 2008 - 2000을 기준으로 제한을
         둔 조건문
        If IntCompYear <= 8 Then
            MsgBox(IntCompYear & " 살이라니 당신은 컴퓨터 프로그래밍을 하기에는 너무 어린 나이
            에요!. 원래 나이를 입력해주세요.")
            Exit Sub '아래의 코드를 실행하지 말고 이 버튼2클릭을 빠져나가라는 부분 
        End If

        MsgBox("당신의 생일은" & DateTimePicker1.Text)
        MsgBox("그해의 날은" & DateTimePicker1.Value.DayOfYear.ToString())

    End Sub

이렇게 한 후 F5키를 눌러 실행해 보면

사용자 삽입 이미지


Hello world 그룹의 확인 버튼 클릭후
사용자 삽입 이미지


생일보여주기 그룹의 내생일보여주기에서 현재 날짜 상태에서 내생일보여주기 클릭시
(정확한 자신을 생일은 DateTimePicker 컨트롤의 달력모양을 클릭하여 선택할 수 있음)
사용자 삽입 이미지










이상으로 몇 개의 컨트롤과 간단한 조건문, 함수의 사용법을 알아보았음.
이 간단한 프로그램도 여러가지 세부적인 조건들을 구미에 맞게 걸어보시길 바라구.

이 프로그램 정도를 이해할 수 있으면 기본적인 것은 갖춰졌다고 생각합니다.
그럼 오늘은 이정도로 하구 혹시라도 그럼 안녕~

[참고] 소스를 올립니다.

Posted by 원철연(체르니)
,