Guest User

Untitled

a guest
Jun 21st, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.17 KB | None | 0 0
  1. //Paving Program 1.0
  2. //Program calculates costs of paving using various paving materials.
  3. //Written by Jan Bali
  4. //Student number 050-213-115
  5.  
  6. #include <stdio.h>
  7.  
  8. //Functions
  9. //Declarations
  10. double menu(double*drvlength, double*drvwidth, char*choice){
  11.     printf(" JBALI PAVING COMPANY\n\n");
  12.     printf(" Length of driveway: \n");
  13.     scanf("%lf", &drvlength);
  14.     printf(" Width of driveway: \n\n");
  15.     scanf("%lf", &drvwidth);
  16.     printf(" Type of paving: \n");
  17.     printf(" A for asphalt\n");
  18.     printf(" C for concrete paving\n");
  19.     printf(" S for paving stones\n");
  20.     printf(" Selece (A, C, S)");
  21.     scanf(" %c", &choice);
  22.     }
  23.    
  24. double output(double*totaldriveway, double*pavingtotal, double*psttotal, double*gsttotal, double*finalprice){
  25.     printf(" JBALI PAVING COMPANY\n");
  26.     printf(" 1380 Don Mills Road, Don Mills, ON L7E 5R7");
  27.     printf(" (416) 491-5050\n\n");
  28.     printf(" Size of driveway:              %5.1ld", *totaldriveway);
  29.     printf("\n\n Quoted price of paving:    %5.2lf", *pavingtotal);
  30.     printf("\n\n P.S.T.:                    %5.2lf", *psttotal);
  31.     printf("\n\n G.S.T.:                    %5.2lf", *gsttotal);
  32.     printf("\n\n Total amount owing:        %5.2lf", *finalprice);
  33.     printf("\n\n Payment due in cash or certified cheque before work starts.");
  34.     }
  35.    
  36. double asphaltpavingy(double*totaldriveway, double*drvwidth, double*drvlength, double*drvperimeter, double*asphalt, double*pavingtotal, double*psttotal, double*gsttotal, double*concretecurbing, double*pst, double*gst){
  37.     *drvperimeter=(*drvwidth*2)+(*drvlength*2);
  38.     *totaldriveway=*drvwidth**drvlength;
  39.     *pavingtotal=*totaldriveway+(*concretecurbing**drvperimeter);
  40.     *psttotal=(*pavingtotal**pst)-*pavingtotal;
  41.     *gsttotal=(*pavingtotal**gst)-*pavingtotal;
  42.     }
  43.  
  44. double asphaltpavingn(double*totaldriveway, double*drvwidth, double*drvlength, double*totalprice, double*asphalt, double*pavingtotal, double*psttotal, double*gsttotal, double*pst, double*gst){
  45.     *totaldriveway=*drvwidth**drvlength;
  46.     *pavingtotal=*totaldriveway**asphalt;
  47.     *psttotal=(*pavingtotal**pst)-*pavingtotal;
  48.     *gsttotal=(*pavingtotal**gst)-*pavingtotal;
  49.     }
  50.  
  51. double concretepavingfunc(double*totaldriveway, double*drvwidth, double*drvlength, double*totalprice, double*concretepaving, double*pavingtotal, double*psttotal, double*gsttotal, double*pst, double*gst){
  52.     *totaldriveway=*drvwidth**drvlength;
  53.     *pavingtotal=*totaldriveway**concretepaving;
  54.     *psttotal=(*pavingtotal**pst)-*pavingtotal;
  55.     *gsttotal=(*pavingtotal**gst)-*pavingtotal;
  56.     }
  57.  
  58. double pavingstonesfunc(double*totaldriveway, double*drvwidth, double*drvlength, double*totalprice, double*pavingstones, double*pavingtotal, double*installation, double*psttotal, double*gsttotal, double*pst, double*gst){
  59.     *totaldriveway=*drvwidth**drvlength;
  60.     *totalprice=*totaldriveway**pavingstones;
  61.     *pavingtotal=*totaldriveway*(*pavingstones+*installation);
  62.     *psttotal=(*totalprice**pst)-*totalprice;
  63.     *gsttotal=(*pavingtotal**gst)-*pavingtotal;
  64.     }
  65.  
  66. int main(){
  67.    
  68.     //Entry of integers
  69.    
  70.     double  drvlength, drvwidth, drvperimeter, totaldriveway, pavingtotal, gsttotal, psttotal, gst=1.07, pst=1.08, finalprice, totalprice, labour, asphalt=5.20, concretecurbing=8.88, concretepaving=4.93, pavingstones=2.21, installation=3.88;
  71.     char    choice, choice2;
  72.    
  73.     //Logic
  74.     menu(&drvlength, &drvwidth, &choice);
  75.    
  76.     if(choice=='A' || choice=='a'){
  77.         printf(" Would you like concrete curbing?\n");
  78.         printf(" Select (Y/N)");
  79.         scanf("%s", &choice2);
  80.             if(choice2== 'Y' || choice2=='y'){
  81.                 asphaltpavingy(&totaldriveway, &drvwidth, &drvlength, &drvperimeter, &asphalt, &pavingtotal, &psttotal, &gsttotal, &concretecurbing, &pst, &gst);}
  82.             else{
  83.                 if(choice2=='N' || choice2=='n'){
  84.                     asphaltpavingn(&totaldriveway, &drvwidth, &drvlength, &totalprice, &asphalt, &pavingtotal, &psttotal, &gsttotal, &pst, &gst);}
  85.                     }
  86.                 }
  87.     else{
  88.         if(choice=='C' || choice=='c'){
  89.             concretepavingfunc(&totaldriveway, &drvwidth, &drvlength, &totalprice, &concretepaving, &pavingtotal, &psttotal, &gsttotal, &pst, &gst);}
  90.            
  91.     else{
  92.         if(choice=='S' || choice=='s'){
  93.             pavingstonesfunc(&totaldriveway, &drvwidth, &drvlength, &totalprice, &pavingstones, &pavingtotal, &installation, &psttotal, &gsttotal, &pst, &gst);}
  94.    
  95.     output(&totaldriveway, &pavingtotal, &psttotal, &gsttotal, &finalprice);
  96. }
Add Comment
Please, Sign In to add comment