Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
급여를 수표/지폐/동전의 갯수로 구하려면?
A라는 회사의 급여내역을 출력한뒤...
개개인의 급여를 아래와 같이 표현하고자 하는데...
예를들어 한사람의 급여가 2,257,670원이라할때
10만원짜리 수표로 는 22장,
만원짜리는 5장,
천원짜리는 7장,
500원짜리는 1개,
100원짜리는 1개,
50원짜리는 1개,
10원짜리는 2개라는 식으로 표현하고자 하는데...
어떤식으로 델파이에서는 표현하는것이 좋은가요?
도움을 청합니다.
3
COMMENTS
최석기
•
2000.08.23 22:57
이동훈 wrote:
> A라는 회사의 급여내역을 출력한뒤...
>
> 개개인의 급여를 아래와 같이 표현하고자 하는데...
>
> 예를들어 한사람의 급여가 2,257,670원이라할때
>
> 10만원짜리 수표로 는 22장,
>
> 만원짜리는 5장,
>
> 천원짜리는 7장,
>
> 500원짜리는 1개,
>
> 100원짜리는 1개,
>
> 50원짜리는 1개,
>
> 10원짜리는 2개라는 식으로 표현하고자 하는데...
>
> 어떤식으로 델파이에서는 표현하는것이 좋은가요?
>
> 도움을 청합니다.
>
음 div랑 mod를 잘 사용하면 될꺼 같네요..
const
i100000Won = 100000;
i10000Won = 10000;
i1000Won = 1000;
i500Won = 500;
i100Won = 100;
i50Won = 50;
i10Won = 10;
var
i100000Won_count,
i10000Won_count,
i1000Won_count,
i500Won_Count,
i100Won_count,
i50Won_count,
i10Won_count: integer;
temp : integer;
begin
i100000Won_count := 2257670 div i100000Won;
temp := 2257670 Mod i100000Won;
i10000Won_count := temp div i10000Won;
temp := temp Mod i10000Won;
i1000Won_count := temp div i1000Won;
temp := temp Mod i1000Won;
i500Won_count := temp div i500Won;
temp := temp Mod i500Won;
i100Won_count := temp div i100Won;
temp := temp Mod i100Won;
i50Won_count := temp div i50Won;
temp := temp Mod i50Won;
i10Won_count := temp div i10Won;
Edit1.Text := IntToStr(i100000Won_count);
Edit2.Text := IntToStr(i10000Won_count);
Edit3.Text := IntToStr(i1000Won_count);
Edit4.Text := IntToStr(i500Won_count);
Edit5.Text := IntToStr(i100Won_count);
Edit6.Text := IntToStr(i50Won_count);
Edit7.Text := IntToStr(i10Won_count);
0
0
삭제
수정
댓글
구민오
•
2000.08.23 22:53
드디어 제가 첫 답변을 하는군요... ^^
각 돈의 단위별로 나눈다음에 원금에서 빼는 형식으로 이를
반복한다면 된다고 생각하거든요... ^^
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TDivmoney = record
man10 : integer;
man1 : integer;
w1000 : integer;
w500 : integer;
w100 : integer;
w50 : integer;
w10 : integer;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label11: TLabel;
Label12: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label1: TLabel;
Label10: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
divm : TDivmoney;
{ Public declarations }
function divdon(money : integer) : TDivmoney;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function TForm1.divdon(money : integer) : TDivmoney;
var
xmoney : TDivmoney;
buff : integer;
begin
//10만원 짜리 계산
if money >= 1000000 then begin
buff := money div 100000;
xmoney.man10 := buff;
money := money - (100000 * buff);
end;
//1만원 짜리 계산
if money >= 10000 then begin
buff := money div 10000;
xmoney.man1 := buff;
money := money - (10000 * buff);
end;
//1000원 짜리 계산
if money >= 1000 then begin
buff := money div 1000;
xmoney.w1000 := buff;
money := money - (1000 * buff);
end;
//500원 짜리 계산
if money >= 500 then begin
buff := money div 500;
xmoney.w500 := buff;
money := money - (500 * buff);
end;
//100원 짜리 계산
if money >= 100 then begin
buff := money div 100;
xmoney.w100 := buff;
money := money - (100 * buff);
end;
//50원 짜리 계산
if money >= 50 then begin
buff := money div 50;
xmoney.w50 := buff;
money := money - (50 * buff);
end;
//10원 짜리 계산
if money >= 10 then begin
buff := money div 10;
xmoney.w10 := buff;
money := money - (10 * buff);
end;
result := xmoney;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
xmoney : TDivmoney;
begin
xmoney := divdon(strtoint(edit1.text));
label11.Caption := inttostr(xmoney.man10);
label12.Caption := inttostr(xmoney.man1);
label14.Caption := inttostr(xmoney.w1000);
label15.Caption := inttostr(xmoney.w500);
label16.Caption := inttostr(xmoney.w100);
label17.Caption := inttostr(xmoney.w50);
label18.Caption := inttostr(xmoney.w10);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.
--------------------------------------------------------------------
이동훈 wrote:
> A라는 회사의 급여내역을 출력한뒤...
>
> 개개인의 급여를 아래와 같이 표현하고자 하는데...
>
> 예를들어 한사람의 급여가 2,257,670원이라할때
>
> 10만원짜리 수표로 는 22장,
>
> 만원짜리는 5장,
>
> 천원짜리는 7장,
>
> 500원짜리는 1개,
>
> 100원짜리는 1개,
>
> 50원짜리는 1개,
>
> 10원짜리는 2개라는 식으로 표현하고자 하는데...
>
> 어떤식으로 델파이에서는 표현하는것이 좋은가요?
>
> 도움을 청합니다.
>
0
0
삭제
수정
댓글
양상철
•
2000.08.23 22:29
테크닉보다는 알고리즘이 문제인것 같군요...
아래와 같은 방식으로 해보세요....
변수는 적당한걸루 이뿌게 코딩하세용~~~
var
i,j,k : integer;
begin
i:=2257670;
//10 만원권....
k := trunc(i/100000);
Edit1.Text := IntToStr(k);
j := i-(k*100000);
//1만원권....
k := trunc(j/10000);
Edit2.Text := IntToStr(k);
j := j-(k*10000);
.
.
.
.
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
허접 초보
•
2000.08.24 05:23
1
COMMENTS
/
0
LIKES
Paradox를 펌프해서 MSSQL로 옮긴 후 필드 타입 수정 방법을 모릅니다.
노용환
•
2000.08.24 18:51
허접 초보 wrote: > 안뇽하신가여 고수님들 허접 사발임당.. > > 지가 위의 제목보심 알것지만... 파라...
왕초보
•
2000.08.24 05:24
1
COMMENTS
/
0
LIKES
마우스로 폼을 누르면 폼에 이미지를 띄우는 겁니다.
이은정
•
2000.08.24 05:24
왕초보 wrote: > 오늘 하룽 참 많은 것을 물어보네영!~~ 염치없이 스스로 해야 하느뎅 --+ > > 하지만 ...
김태균
2000.08.23 22:47
0
COMMENTS
/
0
LIKES
Re: [재질문] dbgrid에서 data
heimdal
•
2000.08.23 22:45
1
COMMENTS
/
0
LIKES
폼안에 다른프로그램넣는거.
최석기
•
2000.08.23 23:02
heimdal wrote: > var > wnd: HWND; > begin > WinExec( 'Fam.exe', sw_hide ); > Sleep( 100 ); ...
정용광
2000.08.23 22:26
0
COMMENTS
/
0
LIKES
SelectRPC 선택하기?
최혜정
•
2000.08.23 21:35
1
COMMENTS
/
0
LIKES
인터베이스 테이블의 Field형
양상철
•
2000.08.23 22:15
참고하세요... 이곳에 잘 나와있습니다. http://www.interbase.com/open/research/tech_specs.html
토토
2000.08.23 21:31
0
COMMENTS
/
0
LIKES
TEvent.WaitFor 제어하기..(델파이)
이동훈
•
2000.08.23 21:48
3
COMMENTS
/
0
LIKES
급여를 수표/지폐/동전의 갯수로 구하려면?
A라는 회사의 급여내역을 출력한뒤... 개개인의 급여를 아래와 같이 표현하고자 하는데... 예를들어 한사람의 급여가 2,257,670원이라할때 10만원짜리 수표로 는 22장, 만원짜리는 5장, 천원짜리는 7장, 500원짜리는 1개, 100원짜리는 1개...
최석기
•
2000.08.23 22:57
이동훈 wrote: > A라는 회사의 급여내역을 출력한뒤... > > 개개인의 급여를 아래와 같이 표현하고자 ...
구민오
•
2000.08.23 22:53
드디어 제가 첫 답변을 하는군요... ^^ 각 돈의 단위별로 나눈다음에 원금에서 빼는 형식으로 이를 반복...
양상철
•
2000.08.23 22:29
테크닉보다는 알고리즘이 문제인것 같군요... 아래와 같은 방식으로 해보세요.... 변수는 적당한걸루 ...
왕chobo
•
2000.08.23 21:12
1
COMMENTS
/
0
LIKES
어떻게 시작해야 할런지.....걱정,근심,걱정,근심...
없음
•
2000.08.24 01:45
우선 파스칼 문법을 익히고, 폼과 컴포넌트를 조금 사용해 보시구, 그 다음 객체지향 을 익히세...
정기철
2000.08.23 21:23
0
COMMENTS
/
0
LIKES
DBGrid의 데이터를 StringGrid에 똑같이 표현하려면? (삭제시에도)
고양군
2000.08.23 20:55
0
COMMENTS
/
0
LIKES
twebbrowser의 내용을 quickrep로 출력?
최태수
•
2000.08.23 21:06
4
COMMENTS
/
0
LIKES
SQL Explorer의 창 분리자가 보이지 않습니다
최태수
•
2000.10.16 16:38
레지스트리 편집기를 열어 편집메뉴의 찾기를 실행 합니다. 찾을 단어는 Database Explorer 입니다. ...
최임정
•
2000.08.23 21:08
최태수 wrote: > 안녕하세요 > 델파이 사용상의 문제입니다. - -; > SQL Explorer 아시지요!! > > 그...
최태수
•
2000.08.24 19:20
최임정 wrote: > Enter SQL 탭에서 타이틀 탭인 "Enter SQL"글자 바로 밑에 부분에서부터 > 천천히 마우...
초봇
•
2000.08.25 02:20
레지스트리를 건드렸습니다. 하루종일 검색:Database Explorer2.0DbXForm 이름:DbX.QuerySplit 데...
돌이
2000.08.23 21:11
0
COMMENTS
/
0
LIKES
인터넷 검색 시스템 로봇 만들기 자료를 구합니다.
lyd
•
2000.08.23 21:07
1
COMMENTS
/
0
LIKES
SQL count, sum문 사용법
최태수
•
2000.08.23 21:08
select 문을 사용하시는감요. 그렇다면 아래 두 문장을 사용해 보세요 select count(*) counts from cu...
조윤지
•
2000.08.23 20:33
2
COMMENTS
/
0
LIKES
회계관리 프로그램 작성시 db선정 문제
parkisu
•
2000.08.24 09:45
조윤지 wrote: > 안녕하세요! > 먼저 저는 델파이에 대해서는 우선 프로그램쪽으로는 접해보진 못했습니...
양상철
•
2000.08.23 22:11
소규모라도 network도 가능하야하고 또 사정상 sever용 db를 선정하지 못하는 형편이 문제라면 Interbase6....
최임정
•
2000.08.23 21:14
1
COMMENTS
/
0
LIKES
Excel파일로 저장: Excel97에선 잘되고 Excel2000에선 안되는데 해결책은?
초봇
•
2000.08.24 19:30
혹시 이런것도 참고가 된다면.... 컴포넌트가 아니고 엑셀 automation을 이용하는 방법이 있는데 try...
김승용
2000.08.23 21:09
0
COMMENTS
/
0
LIKES
TNMSMTP 컴포넌트 사용시 에러
장
•
2000.08.23 20:25
1
COMMENTS
/
0
LIKES
콤보박스에 이벤트 추가하기
김태균
•
2000.08.23 22:49
델파이를 설치하구 나면 컴포넌트 소스두 같이 설치 됩니다. 컴포넌트 소스에서 콤보박스 찾아서 원하...
이하나
•
2000.08.23 21:19
1
COMMENTS
/
0
LIKES
소켓 사용.. 접속수 15이상이면 더 이상 접속이 안됩니다. 접속자수 늘리는 방법은요?
이창식
•
2000.08.30 03:12
제가 알기로는 시스템 설정문제인것 같군요. 아마도 NT서버에 라이센스수나 연결 허용 수치가 안맞아서 ...
lyd
•
2000.08.23 20:58
2
COMMENTS
/
0
LIKES
SQL문을 사용하여 총 Count와 합계(Sum)을 구하여 Label로 출력하는 법?
최임정
•
2000.08.23 20:58
lyd wrote: > 제가 dbgrid 에 다음과같이 출력 하고 총 count 와 sum을 별도로 > label1.caption 에 출...
술친구
•
2000.08.23 20:58
lyd wrote: > 제가 dbgrid 에 다음과같이 출력 하고 총 count 와 sum을 별도로 > label1.caption 에 출...
이동훈
2000/08/23 21:48
Views
310
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> A라는 회사의 급여내역을 출력한뒤...
>
> 개개인의 급여를 아래와 같이 표현하고자 하는데...
>
> 예를들어 한사람의 급여가 2,257,670원이라할때
>
> 10만원짜리 수표로 는 22장,
>
> 만원짜리는 5장,
>
> 천원짜리는 7장,
>
> 500원짜리는 1개,
>
> 100원짜리는 1개,
>
> 50원짜리는 1개,
>
> 10원짜리는 2개라는 식으로 표현하고자 하는데...
>
> 어떤식으로 델파이에서는 표현하는것이 좋은가요?
>
> 도움을 청합니다.
>
음 div랑 mod를 잘 사용하면 될꺼 같네요..
const
i100000Won = 100000;
i10000Won = 10000;
i1000Won = 1000;
i500Won = 500;
i100Won = 100;
i50Won = 50;
i10Won = 10;
var
i100000Won_count,
i10000Won_count,
i1000Won_count,
i500Won_Count,
i100Won_count,
i50Won_count,
i10Won_count: integer;
temp : integer;
begin
i100000Won_count := 2257670 div i100000Won;
temp := 2257670 Mod i100000Won;
i10000Won_count := temp div i10000Won;
temp := temp Mod i10000Won;
i1000Won_count := temp div i1000Won;
temp := temp Mod i1000Won;
i500Won_count := temp div i500Won;
temp := temp Mod i500Won;
i100Won_count := temp div i100Won;
temp := temp Mod i100Won;
i50Won_count := temp div i50Won;
temp := temp Mod i50Won;
i10Won_count := temp div i10Won;
Edit1.Text := IntToStr(i100000Won_count);
Edit2.Text := IntToStr(i10000Won_count);
Edit3.Text := IntToStr(i1000Won_count);
Edit4.Text := IntToStr(i500Won_count);
Edit5.Text := IntToStr(i100Won_count);
Edit6.Text := IntToStr(i50Won_count);
Edit7.Text := IntToStr(i10Won_count);