Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2133] 초보의 초보적이 질문입니다. 답변 꼭 부탁드립니다.
오규태 [ohkuetai] 1277 읽음    2003-03-24 00:22
#include<stdio.h>
#include<math.h>
main()
{
  float a,b,c,sum,sum1,sum2;        /*변수의 갯수와 입력되는 수를 실수로 지정*/

  printf("이차방정식계산하는 프로그램입니다.\n");    /*프로그램 설명*/
  printf("a(x*x) + bx + c = 0\n");
  printf("위에 a,b,c의 값을 넣으시오.\n\n");

  scanf("%f%f%f",&a,&b,&c);      /*이차방정식에 쓰일 변수 입력*/

  if (a == 0 && b == 0) printf("해를 구할 수 없습니다.\n");   /*변수 a와 b 두개가 0일때 오류메세지 출력*/

  else    /*a변수 와 b 두가중 한개라도 틀리면 else구문으로 이동*/
   
    if (a == 0) /*변수 a는 0이고 b가 0이 아닐때 */
    {
      printf("이것은 선형 방정식이므로 해는 하나입니다. 해는 %f입니다.\n", -c / b);  /*해는 하나라고 출력한후 해의 값을 출력한다.*/
    }
    else
    {
     sum = pow(b,2.0) - 4 * a * c;   /*결정식을 구하는 공식*/
     sum = sqrt(sum);
     sum1 = (-b + sum) / 2 * a;  /*첫번째 근의 값*/
     sum2 = (-b - sum) / 2 * a;  /*두번째 근의 값*/
   
     if (sum1 < 0) printf("이 식은 실근이 없습니다.\n");   /*결정식이 음수이면 실근이 없다는 것을 출력*/

     else if (sum1 == 0) printf("이 식은 두 근이 같은 값입니다. 근의 값은 %.2f입니다.\n",sum1);  /*결정값이 0이면 두개의 근은 같은 값이다.*/

      else printf("첫번째 근은 %.2f이고, 두번째 근은 %.2f입니다.\n",sum1,sum2);
    }
   
}

제가 배우는 책에 나와있는 내용인데.. 제가 책에서 제시하는 것하고 이차방정식 계산법만 보구
짠거거든염.. 근데 프로그램을 run시키고나서 숫자를 입력하고나면 sqrt: DOMAIN error랑
Floating Point: Square Root of Negative Number라구 떠염. 글구 이넘을 컴파일 하면 35: Function should return a value라구 뜨는데.. 컴파일된 프로그램을 실행하면 실행이 되기는 되는데 영 찜찜해서염.. 왜 그런지 아시는 분들은 꼭 답변을 부탁드릴께염. 꼭에염.. 그럼 이만..
(--)(__)(--).. 꾸벅~



+ -

관련 글 리스트
2133 초보의 초보적이 질문입니다. 답변 꼭 부탁드립니다. 오규태 1277 2003/03/24
3892     Re:초보의 초보적이 질문입니다. 답변 꼭 부탁드립니다. 김백일.cedar 1292 2003/03/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.