Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Paving Program 1.0
- //Program calculates costs of paving using various paving materials.
- //Written by Jan Bali
- //Student number 050-213-115
- #include <stdio.h>
- //Functions
- //Declarations
- double menu(double*drvlength, double*drvwidth, char*choice){
- printf(" JBALI PAVING COMPANY\n\n");
- printf(" Length of driveway: ");
- scanf("%lf", &drvlength);
- printf("\n Width of driveway: ");
- scanf("%lf", &drvwidth);
- printf("\n\n Type of paving: \n");
- printf(" A for asphalt\n");
- printf(" C for concrete paving\n");
- printf(" S for paving stones\n");
- printf(" Select (A, C, S)");
- scanf(" %c", &choice);
- }
- double output(double*totaldriveway, double*pavingtotal, double*psttotal, double*gsttotal, double*finalprice){
- printf(" JBALI PAVING COMPANY\n");
- printf(" 1380 Don Mills Road, Don Mills, ON L7E 5R7");
- printf(" (416) 491-5050\n\n");
- printf(" Size of driveway: %5.1ld", *totaldriveway);
- printf("\n\n Quoted price of paving: %5.2lf", *pavingtotal);
- printf("\n\n P.S.T.: %5.2lf", *psttotal);
- printf("\n\n G.S.T.: %5.2lf", *gsttotal);
- printf("\n\n Total amount owing: %5.2lf", *finalprice);
- printf("\n\n Payment due in cash or certified cheque before work starts.");
- }
- double asphaltpavingy(double*totaldriveway, double*drvwidth, double*drvlength, double*drvperimeter, double*asphalt, double*pavingtotal, double*psttotal, double*gsttotal, double*concretecurbing, double*pst, double*gst){
- *drvperimeter=(*drvwidth*2)+(*drvlength*2);
- *totaldriveway=*drvwidth**drvlength;
- *pavingtotal=*totaldriveway+(*concretecurbing**drvperimeter);
- *psttotal=(*pavingtotal**pst)-*pavingtotal;
- *gsttotal=(*pavingtotal**gst)-*pavingtotal;
- }
- double asphaltpavingn(double*totaldriveway, double*drvwidth, double*drvlength, double*totalprice, double*asphalt, double*pavingtotal, double*psttotal, double*gsttotal, double*pst, double*gst){
- *totaldriveway=*drvwidth**drvlength;
- *pavingtotal=*totaldriveway**asphalt;
- *psttotal=(*pavingtotal**pst)-*pavingtotal;
- *gsttotal=(*pavingtotal**gst)-*pavingtotal;
- }
- double concretepavingfunc(double*totaldriveway, double*drvwidth, double*drvlength, double*totalprice, double*concretepaving, double*pavingtotal, double*psttotal, double*gsttotal, double*pst, double*gst){
- *totaldriveway=*drvwidth**drvlength;
- *pavingtotal=*totaldriveway**concretepaving;
- *psttotal=(*pavingtotal**pst)-*pavingtotal;
- *gsttotal=(*pavingtotal**gst)-*pavingtotal;
- }
- double pavingstonesfunc(double*totaldriveway, double*drvwidth, double*drvlength, double*totalprice, double*pavingstones, double*pavingtotal, double*installation, double*psttotal, double*gsttotal, double*pst, double*gst){
- *totaldriveway=*drvwidth**drvlength;
- *totalprice=*totaldriveway**pavingstones;
- *pavingtotal=*totaldriveway*(*pavingstones+*installation);
- *psttotal=(*totalprice**pst)-*totalprice;
- *gsttotal=(*pavingtotal**gst)-*pavingtotal;
- }
- int main(){
- //Entry of integers
- 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;
- char choice, choice2;
- //Logic
- menu(&drvlength, &drvwidth, &choice);
- if(choice=='A' || choice=='a'){
- printf(" Would you like concrete curbing?\n");
- printf(" Select (Y/N)");
- scanf("%s", &choice2);
- if(choice2=='Y' || choice2=='y'){
- asphaltpavingy(&totaldriveway, &drvwidth, &drvlength, &drvperimeter, &asphalt, &pavingtotal, &psttotal, &gsttotal, &concretecurbing, &pst, &gst);}
- else{
- if(choice2=='N' || choice2=='n'){
- asphaltpavingn(&totaldriveway, &drvwidth, &drvlength, &totalprice, &asphalt, &pavingtotal, &psttotal, &gsttotal, &pst, &gst);}
- }
- }
- if(choice=='C' || choice=='c'){
- concretepavingfunc(&totaldriveway, &drvwidth, &drvlength, &totalprice, &concretepaving, &pavingtotal, &psttotal, &gsttotal, &pst, &gst);}
- if(choice=='S' || choice=='s'){
- pavingstonesfunc(&totaldriveway, &drvwidth, &drvlength, &totalprice, &pavingstones, &pavingtotal, &installation, &psttotal, &gsttotal, &pst, &gst);}
- output(&totaldriveway, &pavingtotal, &psttotal, &gsttotal, &finalprice);
- }
Add Comment
Please, Sign In to add comment