|
조준회 님이 쓰신 글 :
:
: 프로그래밍을 하다보면..
: 거의 많은 자료들이 영어입니다.
:
: 영어를 어렵게만 느끼지 마시고 한번 해석해 보세요..
: 생각보다 어렵지 않습니다.
:
: 질문하신 내용은 double 형을 float 형으로 전환시켜서 나오는 것입니다.
: 이런경우 자료형의 크기가 다르기 때문에.. 자료의 손실이 있을수 있습니다.
: (Double 형이 더 큽니다.)
:
: 이 내용을 경고하는 겁니다.
:
: 김경래 님이 쓰신 글 :
: :
: : 밑의 프로그램 돌려보시면 준회님의 말대로 하니까 변수때문에 생기는 워닝은 사라졌습니다.
: : 그런데
: : C:\C test\pointer\pointer.cpp(44) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
: : 이런 게2개가뜨네요 이건 왜뜨나요??
: :
: :
: :
: : 조준회 님이 쓰신 글 :
: : : 무슨 워닝이 뜨는 것인지 적어 놓지를 않으셨네요..
: : :
: : : 짐작컨데..
: : :
: : : a,t,y,q,w,p 변수중 실제로 사용하는 것은 a 밖에 없기때문에..
: : : 나오는 것일겁니다.
: : : 각 변수들에 아무값이나 대입하면 아마 없어질것 같군요..
: : :
: : : 그런데.. 아래 처럼 코딩하실거면..
: : : kim1~3까지의 함수에 파라미터를 만들 필요가 없습니다.
: : :
: : : t,y등의 변수가 main에선 아무런 역활을 하지 않고 있습니다.
: : : 그럴바에는 각 함수에 지역변수로 만들어 처리하는 것이 좋습니다.
: : :
: : : 변수통용범위(Scope 법칙)에 대해서 학습이 필요하실겁니다.
: : :
: : :
: : : 김경래 님이 쓰신 글 :
: : : : 밑에 플그램에서 에러는 안뜨는데 워닝이 뜹니다.
: : : : 왜뜨는지를 모르겠습니다.--;;;
: : : : 변수에서 워닝이뜨는데...;;
: : : : 돌아가는데는 별상관없이 잘돌아갑니다만--;;
: : : : 왠지 워닝도 없앴으면 하는 바램이 있네요--;;
: : : : 고수님들 답변 플리즈~
: : : :
: : : : #include <stdio.h>
: : : :
: : : : float kim1(int b, int c);
: : : : int kim2(int d, int e);
: : : : float kim3(int r);
: : : :
: : : : void main()
: : : : {
: : : : int a,t,y,q,w,p;
: : : : printf("1.삼각형의 넓이");
: : : : printf("2.사각형의 넓이");
: : : : printf("3.원의 넓이");
: : : : scanf("%d",&a);
: : : :
: : : :
: : : :
: : : : if (a==1)
: : : : {
: : : : kim1(t,y);
: : : : }
: : : : else if (a==2)
: : : : {
: : : : kim2(q,w);
: : : : }
: : : : else if(a==3)
: : : : {
: : : : kim3(p);
: : : : }
: : : : else
: : : : {
: : : : printf("번호를 작못 입력하셨습니다");
: : : : }
: : : : }
: : : :
: : : : float kim1(int b, int c)
: : : : {
: : : : float a;
: : : : printf("밑변의 길이를 입력해주세요");
: : : : scanf("%d",&b);
: : : : printf("높이의 길이를 입력해주세요");
: : : : scanf("%d",&c);
: : : : a=0.5*b*c;
: : : : printf("삼각형의 넓이는? %f",a);
: : : : return a;
: : : : }
: : : :
: : : : int kim2(int d, int e)
: : : : {
: : : : int f;
: : : : printf("가로의 길이를 입력해주세요");
: : : : scanf("%d",&d);
: : : : printf("세로의 길이를 입력해주세요");
: : : : scanf("%d",&e);
: : : : f=d*e;
: : : : printf("사각형의 넓이는? %d",f);
: : : : return f;
: : : : }
: : : : float kim3(int r)
: : : : {
: : : : float g;
: : : : printf("반지름의 길이를 입력해주세요");
: : : : scanf("%d",&r);
: : : : g=3.14*r*r;
: : : : printf("원의 넓이는? %f",g);
: : : : return g;
: : : : }
: : : : 즐거운하루되세요
|