home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 451-475 / apd472 / piechart.amos / piechart.amosSourceCode
AMOS Source Code  |  1993-03-13  |  1KB  |  83 lines

  1. Screen Open 0,640,200,16,Hires
  2. Curs Off : Hide : Cls 0 : Paper 0 : Curs On 
  3. '
  4. Dim ARRAY(10),ARRAY$(10),ARR(10)
  5. '
  6. Locate 1,1 : Input "Enter Title of Chart: ";TITLE$
  7. Cls 0
  8. '
  9. BK:
  10. Cls 0,0,20 To 640,200
  11. Locate 1,1 : Input "Enter No. of Divisions: ";ND
  12. If ND>10 Then Goto BK
  13. '
  14. For A=1 To ND-1
  15.    Locate 1,1 : Print "Enter Percentage of Division";A : Locate 32,1 : Input ARRAY(A)
  16.    Cls 0
  17.    Locate 1,1 : Print "Enter Name of Division";A : Locate 26,1 : Input ARRAY$(A)
  18.    Cls 0
  19. Next 
  20. '  
  21. Locate 1,1 : Print "Enter Name of Division";ND : Locate 26,1 : Input ARRAY$(ND)
  22. Cls 0
  23. '
  24. Under On 
  25. Locate 0,1 : Centre TITLE$
  26. '
  27. For A=1 To ND-1
  28.    S=ARRAY(A)
  29.    ARRAY(A)=(360.0/100.0)*S
  30. Next 
  31. '
  32. For A=1 To ND-1
  33.    T=T+ARRAY(A)
  34. Next 
  35. '
  36. ARRAY(ND)=360-T
  37. '
  38. Curs Off 
  39. Cls 0,0,20 To 640,200
  40. '
  41. Degree 
  42. '
  43. X=430 : Y=118 : R=80
  44. Circle X,Y,R
  45. '
  46. Draw X,Y To X,Y-R
  47. '
  48. For B=10 To 1 Step -1
  49.    For A=B To 1 Step -1
  50.       S=S+ARRAY(A)
  51.    Next 
  52.    ARR(B)=S
  53.    S=0
  54. Next 
  55. '
  56. For A=1 To ND-1
  57.    XT=X+Cos(90-ARR(A))*R*2
  58.    YT=Y-Sin(90-ARR(A))*R
  59.    '
  60.    Draw X,Y To XT,YT
  61. Next 
  62. '
  63. For A=1 To ND
  64.    PX=X+Cos(90-(ARR(A)-(ARRAY(A)/2)))*(R/2)*2
  65.    PY=Y-Sin(90-(ARR(A)-(ARRAY(A)/2)))*(R/2)
  66.    '
  67.    Set Pattern A
  68.    Paint PX,PY
  69. Next 
  70. '
  71. X=20 : Y=50
  72. '
  73. '
  74. For A=1 To ND
  75.    Set Pattern A
  76.    Ink 2,1
  77.    Bar X,Y To X+20,Y+10
  78.    Ink 2,0
  79.    Text X+35,Y+8,ARRAY$(A)
  80.    Add Y,15
  81. Next 
  82. '
  83. Wait Key