.
it is more easy using qsort() from stdlib.h!!!
no, life is nice, just a girl fooling around, alcohol fixes everything.
OH, I now have a High School Diploma and need of ron (drink)
The hard coded data is data that will never be changed and it is used to do the calculations.
This program prints a report with the data from cust.dat which
contains the customer information and it gets the data from order.dat and compares the CustomerId and orderId to make sure that the figures match up with the right customer.
Your code is way over my head. I have only learned the basics of "C". You are good at what you do. I'm impressed. I was going through my code this morning and I found the error that you caught plus an error in each scan statement. The CustomerEmailAddress "%25c" is missing in on the customer side and the orderId "%9c is on the order side.
When I compiled it, It printed out the report with CustomerId,
orderId, did not print first, middle, lastName, CustomerAddress,
CityStateZip, CustomerPhoneNo or CustomerEmailAddress.
It printed all of the data from order.dat.
I don't understand why it did not print the rest of the cust.dat...
That's what I am trying to fix at the moment.
Imagination at Work
I didn't read too much of the post, but see if you can understand the following..probably the easiest way to sort an array...
Code:#include <stdio.h> #define SRT_ASCEND 0 #define SRT_DESCEND 1 void sorter(int *tsort, int len, int attr) { int x, y, tmp; if(attr == SRT_DESCEND) { for(x=0; x<len; x++) for(y=0; y<len; y++) if(tsort[x] > tsort[y]) { tmp = tsort[x]; tsort[x] = tsort[y]; tsort[y] = tmp; } } if(attr == SRT_ASCEND) { for(x=0; x<len; x++) for(y=0; y<len; y++) if(tsort[x] < tsort[y]) { tmp = tsort[x]; tsort[x] = tsort[y]; tsort[y] = tmp; } } } int main(void) { int x; int tsort[] = {3, 5, 1, 2, 4}; sorter(tsort, 5, SRT_ASCEND); for(x=0; x<5; x++) printf("%i",tsort[x]); sorter(tsort, 5, SRT_DESCEND); for(x=0; x<5; x++) printf("%i",tsort[x]); return 0; }
bubble sort is a slow sorting algorithm and should not be used for anything more serious than an assignment on bubble sort .
The whole program is based on a company that sells carpet and installs it.
The first number 10 is the length
The second number 10 or 20 is the width
length and width are read from the data file (not hard coded) and
calculated to get the area ( area = (length * width)
CarpetCharge is read in from the data file and multiplied by area
to get the CarpetTotal ( CarpetTotal = (CarpetCharge * area).
Labor is fixed so it is hard coded
laborTotal = ( .35 * 2000)
installedPrice is CarpetTotal + LaborTotal
discount is read from the file (0.20)
discountTotal = (installedPrice * discount)
subTotal = installedTotal - discountTotal
tax is fixed at 8.5% or .085
tax = TAX * subTotal
total = subTotal + tax
Code:This is what the original report looks like: I think that it will help you to understand what I am speaking of. The reports that I have to do: 1 will look like this 1 sorted by CustomerName so I take it as first middle and last. 1 by sorted by total 1 history sorted by CustomerName 1 history sorted by total and so on After I figure all of this out, I have to make menus. I hope this makes more since now. ------------------------------------------------------------------------------------ Header Here ------------------------------------------------------------------------------------- Customer Id: 123456789 Order Id: 123456789 First Name: James //this is not being filled Middle Name: William //this is not being filled Last Name: Madison //this is not being filled Address: 123 Maddison AVE //this is not being filled Maddison GA 30000 //this is not being filled Phone No: (333) 123-1234 //this is not being filled Email Address: [email protected] //this is not being filled ------------------------------------------------------------------------------------ MEASUREMENT Length 10ft Width 20ft Area 200ft CHARGES DESCRIPTION COST/SQ.FT. CHARGE/ROOM ____________ __________ ______________ Carpet $10.00 $2000.00 Labor .35 $70.00 ________________ Installed Price $2070.00 Discount 0.20% 414.00 ________________ Subtotal $1656.00 Tax $140.76 Total $1796.76
Imagination at Work
Bubble sort is very easy to understand ,quick sort is only a bit more difficult to understand , and coding the recursive version of it is quite simple
for eg,
Code:#include <stdio.h> void swap(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } void qs(int *a,int left,int right) { int i,pl=left,pv; if(left>=right) return; swap(&a[left],&a[(left+right)/2]); pv=a[left]; for(i= left+1;i<=right;i++) if(a[i]<pv) swap(&a[++pl],&a[i]); swap(&a[pl],&a[left]); qs(a,left,pl-1); qs(a,pl+1,right); } int main(void) { int a[]={3,1,4,5,2,7},i; printf("Before\n"); for(i=0;i<(sizeof(a)/sizeof(*a));i++) printf("a[%d]=%d\n",i,a[i]); qs(a,0,(sizeof(a)/sizeof(*a))-1); printf("After\n"); for(i=0;i<(sizeof(a)/sizeof(*a));i++) printf("a[%d]=%d\n",i,a[i]); return 0; }
Nowhere the original poser say that he had to sort his structures by bubble sort .
Extending the above method for array of structures is trivial.
I refuse to take the flame bait.
Go get a life .