永远把艰辛的付出看作是生命的必要; 即使没有收获的指望,也心平气静地继续耕种!

95/100 C Programs(财务管理)

上一篇 / 下一篇  2008-04-08 00:19:02 / 个人分类:C  

/*【程序95】LUPA开源社区(C6A.E%x1AY
题目:家庭财务管理小程序
B Cv'bIfA01.程序分析:
jKwEnwa02.程序源代码:LUPA开源社区|Aw5P-S.x,F#[
3.修改了部分排版
_!zQ"J"D4iQt0//4.打算增加一个数据查找,删除功能。。。LUPA开源社区Ml"O+KG3t9F{5h C
money management system*/
@7h;XW:Y'cW%`_nq]0U0#include "stdio.h"LUPA开源社区6p;LF`0jM.n2G
#include "dos.h"
5hq+SH:Aa0#include <conio.h>LUPA开源社区%p3I|3y0m:P|;l_
void initdisplay(void)LUPA开源社区5rVU s I
{
KFm}5Tu0    clrscr();LUPA开源社区d MP7Env,Z
    gotoxy(1,1);
"w/rD F~ Wo {0    printf("|-------------------------------------------------------------------------- |");
VRYM"J8K+f+\0    gotoxy(1,2);LUPA开源社区wO F'JU#~r B
    printf("| money management system(C1.2) 2008.03 modified by wuhua ----------------- |");LUPA开源社区}eg%Z:A#W8u^?
    gotoxy(1,3);
%fg2`6l*b)W0    printf("|---------------------------------------------------------------------------|");
d%LpEo,a#EV0} LUPA开源社区9_0ZXUXW A gE$B|
void main(void)LUPA开源社区 iD!v,O(J&~@9dC9_
{LUPA开源社区Mh!j+]#hTp
    FILE *fp;LUPA开源社区2_/HksG L`h
    struct date d;
-o*N%L F9~1\;g1t4p(U6b0    float sum, chm = 0.0;
$MgdC_0    int len, i, j = 0;
%l5Lb#T-W |UZ$|Zw_0    int c;LUPA开源社区(~ B-^;bA,l#FD
    char ch[4] = "", ch1[16] = "", chtime[12] = "", chshop[16], chmoney[8];LUPA开源社区9Vk XP gG*]7Un6a%I gS~
pp: initdisplay();LUPA开源社区8R1p N'TQ1?+^|^
    sum = 0.0;    
WC/a,[L0    gotoxy(1,4);LUPA开源社区 _}?Lpgp @c
    printf("| --- money records -- | ------------------- cost list -------------------- |");LUPA开源社区\b?(zF@V5q:R
    gotoxy(1,5);LUPA开源社区;uwNy2mhV+K
    printf("| -------------------- |--------------------------------------------------- |");LUPA开源社区 VG~YU9jLve
    gotoxy(1,6);LUPA开源社区1['uRu;MJ5D#L5p
    printf("| date: ------------ | |");LUPA开源社区8rb-W1t;| Hb
    gotoxy(1,7);
Ygr#RaH1A(E v5O0    printf("| | | | |");
OKTrsW.Pv0    gotoxy(1,8);
O@_Ck]0    printf("| ------------------ | |");LUPA开源社区4t8`j*y*R$X.f
    gotoxy(1,9);
3[c$w0f^/O0    printf("| things: ---------- | |");LUPA开源社区i$b~ b\^?
    gotoxy(1,10);LUPA开源社区U9\5k#T0u
    printf("| | | | |");
&b B?$u ^i%_X0    gotoxy(1,11);
.c? i"wP G0    printf("| ------------------ | |");
M F?un0    gotoxy(1,12);
rut:Z%|$sZ0    printf("| cost: ------------ | |");LUPA开源社区$bv1LV-fv?
    gotoxy(1,13);
g$f CB;bQ~D:od m0    printf("| | | | |");LUPA开源社区$|"P D0Z#] @^ ^
    gotoxy(1,14);LUPA开源社区*Pn3g E3iA)N*A1zz
    printf("| ------------------ | |");
y:[E`w1r0    gotoxy(1,15);
J#}4`v-Z:s6a0    printf("| | |");LUPA开源社区"_)Vy[#H V+K:Cg
    gotoxy(1,16);LUPA开源社区9tm!a+_2n x
    printf("| | |");LUPA开源社区 FTqk2Fu9N)|S
    gotoxy(1,17);
kxu[N0    printf("| | |");
Z|m+`v \'A%K"IJ6mj0    gotoxy(1,18);LUPA开源社区 R Yz5v8y
    printf("| | |");
A'm1a4mxp0    gotoxy(1,19);
4Ij-eR%j:c0    printf("| | |");
3A{'N!H}0    gotoxy(1,20);
d2X9~*D#V\B2N0    printf("| | |");
pYT&dP0    gotoxy(1,21);LUPA开源社区\M5H iZk
    printf("| | |");LUPA开源社区h#f&wZU#j+Fh#`2r/n
    gotoxy(1,22);
Q3[/kC2?$v%kTe0    printf("| | |");LUPA开源社区.HI;}}&c#[$l|G
    gotoxy(1,23);LUPA开源社区4J/j4cv_;z%|)\6h
    printf("|---------------------------------------------------------------------------|");LUPA开源社区 i a'PH OLti0CL
    i = 0;LUPA开源社区_ J)}s`!Y R)\
    for(;;)
V$f;R5t ]$]M0    {LUPA开源社区cA3^hd_-i]6I
        gotoxy(3,24);LUPA开源社区T#vY/F%Jy Wd
        printf(" Tab __browse cost list Esc __quit");
a-nH;sW9ty'N0        gotoxy(13,10);
#Yu9Rq Z"AWmZ[D0        printf("             ");LUPA开源社区 RCu cb!b$R'n!BW
        gotoxy(13,13);
!c+zquTk0        printf("             ");
^t/\A@p(N0        gotoxy(13,7);LUPA开源社区\U?7h2D{1q
        printf("               ");LUPA开源社区5AJ pm G
        gotoxy(13,7);
%L-Zm*^@[3H@0        getdate(&d);LUPA开源社区"CI.A sE*d7U
        sprintf(chtime, "%4d.%02d.%02d", d.da_year, d.da_mon, d.da_day);
Za`)wv0        printf("%s", chtime);
,dq"}fs8~H v0        j = 18;
v4p X'Q)Tp y:jkI0        ch[0] = getch();
)Z*At XSm&d0        if(ch[0] == 27)//ESC
%v.l:xV7s3P;w0            break;//exit system        LUPA开源社区bI`8Cv]O@W
        strcpy(chshop,"");LUPA开源社区 V)U\%G5KCf
        strcpy(chmoney,"");
MD9VI8q0cT%z"n0        if(ch[0]==9)//TABLUPA开源社区l*MS$I+qb RK+M
        {
dH wwT0            mm: i = 0;LUPA开源社区9h;o9b9w S8h)~8L
            fp = fopen("home.dat", "r+");LUPA开源社区A^-a!K \{:`
            initdisplay();LUPA开源社区6sv#G;W6}
            gotoxy(3, 24);LUPA开源社区g4xC$u6m
            printf("                                         ");LUPA开源社区u7x p?L_u?t
            gotoxy(1, 4);
FqZN&Z(o`&x0            printf("| -- list records  -- | - list costs - |");LUPA开源社区 w h1]nB#q2e+B|
            gotoxy(1, 5);LUPA开源社区.O.V Qt KbG(_G
            printf("| ------------------------------------ |");            LUPA开源社区2dT8Q l1Z?&r
            while(fscanf(fp, "%10s%14s%f\n", chtime, chshop, &chm) != EOF)
b$q n6o,Y},X(Y0            {LUPA开源社区9a)e$il f
                if(i==36)LUPA开源社区7s6D*JWZ-?w
                {                    LUPA开源社区q'XA4A!l[8Qg
                    getch();LUPA开源社区&Y4L\T1Z`L
                    initdisplay();LUPA开源社区%Aw{3zbIgY`
                    gotoxy(3, 24);
9Z([-uu(rYR0                    printf("                                         ");LUPA开源社区 ]uvm fR'u
                    gotoxy(1, 4);LUPA开源社区}]5J:r"q4h(F"Mq
                    printf("| -- list records  -- | - list costs - |");
:V_!q5^8`_0                    gotoxy(1, 5);
)gMW@{3Fyr ^0                    printf("| ------------------------------------ |");            LUPA开源社区r-yTlG8d8Y,`
                    i=0;
H*d.Zl:i0                }LUPA开源社区3K0Jw I*HB
                if ((i%36)<17)//<53LUPA开源社区~ BI+wj@W
                {LUPA开源社区YB8o4Z'yPT
                    gotoxy(3,6+i);
O6O t#EPA0                    printf("                                  ");LUPA开源社区6Qn1e1_Mj
                    gotoxy(3,6+i);
Q1F$g.?2G3S%e.] }m0                }LUPA开源社区eB!oJ,QJWF$H
                else if((i%36)>16)//>52
%]4L'jl T2rGXA0                {
v^(Q}+M)]0                        gotoxy(41, 4 + i - 17);
{[V(pWM+A2eF0                        printf("                                ");
B&V"_1a@3p8rL0                        gotoxy(41, 4 + i - 17);LUPA开源社区"M)Lxc;l-FM9a
                }
7pDb iY0                i++;LUPA开源社区RRwpO].kW(n#G
                sum = sum + chm;
7Ky/I?D+T D0                printf("%10s %-14s %6.1f\n",chtime,chshop,chm);
"x4EW9i/e7hI0            }LUPA开源社区N(VLm/W
                gotoxy(1, 23);LUPA开源社区yVd#p$J yWu
                printf("|---------------------------------------------------------------------------|");LUPA开源社区!`+BA8M#o Lt{
                gotoxy(1, 24);LUPA开源社区/d1CD@ qx L
                printf("| |");
FJLqb:X(@m,n0                gotoxy(1,25);LUPA开源社区 TUP.d2^)tk:X
                printf("|---------------------------------------------------------------------------|");LUPA开源社区'fN ?F@:CV/H+V[3S
                gotoxy(10,24);
.|@E(gs9NP5k0                printf("               ");LUPA开源社区;?(a?&s|
                gotoxy(10,24);
/P g,^!tiBl0                printf("total is %8.1f$",sum);LUPA开源社区t1]'_\V(v
                fclose(fp);LUPA开源社区;^:E#S4Zvy%fZ7R|
                gotoxy(49,24);LUPA开源社区0`%_:MJZ G]
                printf("                     ");LUPA开源社区"O3h{7R!V+t'S H1n#v
                gotoxy(49,24);LUPA开源社区#Pz T9S6b1|vS
                printf("press any key to.....");
V-^I-@"d#w0                getch();
,X6s2IUy z/V5y.g0                goto pp;
-d#H u}V0H}0        }LUPA开源社区+S"a7L |RK$U
        else
kX s"q:mz{,A0        {LUPA开源社区qYG j(Jr8D#L
                    while(ch[0]!='\r')LUPA开源社区L+A_+dh%e.G.MzXa
                    {LUPA开源社区k!hN'vFc^`
                        if(j<10)LUPA开源社区!JL/S5Y%C,\8q}b
                        {LUPA开源社区7p'ld t_e k.P
                            strncat(chtime,ch,1);LUPA开源社区p'a k-@#F'v*k
                            j++;LUPA开源社区,YI'ix$L#jU
                        }LUPA开源社区5pV;SId4O#gbp{
                        if(ch[0] == 8)LUPA开源社区mo1XLd
                        {LUPA开源社区6iN5f u2A
                        len = strlen(chtime) - 1;LUPA开源社区ca+JCq
                        if(j > 15)LUPA开源社区CB`3[.w$B2S i
                        {LUPA开源社区 [5i'[TDe}~
                            len = len + 1;LUPA开源社区 lv6iz.V9f!j @)X
                            j = 11;
+sj l4y,?/gP `0                        }
%w6j sf7o0                        strcpy(ch1, "");
5RH W%nW&m0                        j = j - 2;
AN;Sv&k~\"E/HE ^0                        strncat(ch1, chtime, len);
Q%SBpV y0                        strcpy(chtime, "");LUPA开源社区t/hEP6Me"F gT
                        strncat(chtime, ch1, len - 1);
VM],W.IX:r+Wv3?0                        gotoxy(13, 7);
-q2^:?!F.e3u0                        printf("               ");
3OH7U2bW m"r0                    }
'i7W7kV,{%JR~0                        gotoxy(13,7);LUPA开源社区 K7` ?"P@'\W*wJ
                        printf("%s",chtime);LUPA开源社区C%W3f/L-A
                        ch[0]=getch();LUPA开源社区y7~ L0d,K%xW H
                        if(ch[0] == 9)//tabLUPA开源社区1q7Zz/n_y1v6EJ+[
                            goto mm;LUPA开源社区Nz3Z9l`4n"j'O&ob)[
                        if(ch[0] == 27)//escLUPA开源社区P[_LZvVg
                            exit(1);
g3V5Zt1EZb:B dz0                    }
%sY io-}f h0                    gotoxy(3,24);LUPA开源社区 L_pS3[
                    printf("                                                          ");
_i^/MD0                            gotoxy(13,10);LUPA开源社区T+`+?,R?uNh5W*D+PJx
                            j = 0;
y I"a ]8b*d0                            ch[0] = getch();
:M@ jW0B c$u3X0                        while(ch[0]!='\r')LUPA开源社区%A:M!Iu4_$I(pV
                        {
ac0T&^d9D,I%i0                            if (j<14)LUPA开源社区 m8kHG W'u
                            {LUPA开源社区+Y^~2h5js
                                strncat(chshop,ch,1);LUPA开源社区(_U!W!HCF
                                j++;
0_I7a.?Lpg0                            }
L,GS~#E B0                            if(ch[0]==8)LUPA开源社区8`vHs*Y0kw
                            {
(l(G WE%lK.h0                                len = strlen(chshop) - 1;
E%UX#Q2K C w'x9T0                                strcpy(ch1, "");LUPA开源社区i8C9v$tr s5|$l](b[X
                                j = j - 2;LUPA开源社区-\:pqZ~[
                                strncat(ch1, chshop, len);
(r`M0Iy9b0                                strcpy(chshop, "");LUPA开源社区M/x!|4_g oH
                                strncat(chshop, ch1, len-1);
;Y JY|rK h`0                                gotoxy(13, 10);LUPA开源社区 ts;V }e%Y*c
                                printf("               ");
:H:I ` z&?8_0                            }
-U[Er%i Y)G0                            gotoxy(13,10);LUPA开源社区5x!qR1Xz'~`;a{
                            printf("%s",chshop);LUPA开源社区n9_j ]3n
                            ch[0]=getch();
dR C8?%n#iJ0                        }
7d,[+BJ/F9V0                        gotoxy(13,13);LUPA开源社区;['Jl7y} ~N
                        j=0;
of)Y` YE0                        ch[0]=getch();
!]J1En)n mt0                    while(ch[0]!='\r')LUPA开源社区X|2xF7H)b]t
                    {
#@cA^;`:W0                        if (j<6)
'oBc^)H/CP J#Y0                        {
9w\8Fy~ {yAGa0                            strncat(chmoney,ch,1);LUPA开源社区{Z!w]ZQ%z
                            j++;
&b7?&m7Yv2@0                        }
Xw*c%_$z.u6c }3H9ig0                        if(ch[0]==8)
WT#j])ia0                        {LUPA开源社区 C-[)}PD} n5M5[J
                            len=strlen(chmoney)-1;LUPA开源社区_![7OPH$i
                            strcpy(ch1,"");
VG(_VDqnO2H0                            j=j-2;LUPA开源社区L9O p3rJ0{7s
                            strncat(ch1,chmoney,len);LUPA开源社区 ]] p!l_ U3j4G m
                            strcpy(chmoney,"");
P'p2}4fyZ]0                            strncat(chmoney,ch1,len-1);
:a TV9H B?U0                            gotoxy(13,13);
;k0|5fXo7[0                            printf("      ");LUPA开源社区rQ:M}%wZmL
                        }LUPA开源社区"mk-n9Fb~b#{d{
                        gotoxy(13,13);
D[%b:t&Nfz(Z0                        printf("%s",chmoney);LUPA开源社区{kQ,cJ$~eb
                        ch[0]=getch();
)gvd Si'Xj9c9MP)T0                    }
v7M/?u:nKP0                    if((strlen(chshop) == 0)||(strlen(chmoney) == 0))
*{ fDrKQ"X2H0                        continue;LUPA开源社区)yZ$f_4^Z s&J0}rt%R
                    if((fp=fopen("home.dat","a+")) != NULL);LUPA开源社区FD]|/?
                    fprintf(fp,"%10s%14s%6s", chtime, chshop, chmoney);
|5g$o,u h-wpz0                    fputc('\n',fp);LUPA开源社区N!g,Qo`
                    fclose(fp);
4A8xD3xo,u*`B0                    i++;
H8}lAj(I*{0                    gotoxy(41,5+i);LUPA开源社区,Q`3^@C9a%f*K
                    printf("%10s %-14s %-6s", chtime, chshop, chmoney);LUPA开源社区&As/H$r E(n5_[
                    if(i == 17)LUPA开源社区E(K}c}4n
                        goto pp;
5d3}'UyTdM0        }
!aj/Fda0    }
q qEh i(r4zs0}
.E%VQO2e%p9?z [$I0
%Iw;t#j5YT vn|,B0

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-23  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 2841
  • 日志数: 43
  • 图片数: 1
  • 文件数: 4
  • 建立时间: 2007-11-07
  • 更新时间: 2008-08-11

RSS订阅

Open Toolbar