Please help, I working on a program that is suppose to read data from a file. For some reason the program isn't working. When I run it, I don't receive an error message, nor do I see the information that its suppose to read in. Can someone please tell me what I'm doing wrong. Thanks in advance.
Here is a copy of my program:
Here is a copy of the data file:Code:#include <iostream.h> #include <fstream.h> #include <iomanip.h> #include <string.h> #include <stdlib.h> //function prototype void convert_type(char); float calc_cost_hour(float, float); void main() { char item_code[10]=""; char item_name[20]=""; char item_type=' '; float hours=(float)0.0; float charge=(float)0.0; int days=0; float total_chrg=(float)0.0; float total_hours=(float)0.0; int counter=0; char type_charge[7]=""; float cost_hour=(float)0.0; float labor=(float)0.0; float materials=(float)0.0; float highest_charge=(float)0.0; char itemCode[11]=""; int number_day=0; //open input file ifstream inFile; inFile.open ("c:program7.dat", ios::in); //verify that open was successful if (!inFile.fail()) //if open did not fail { //read data from prg7.dat file cout<<"#"<<setw(6)<<"Type"<<setw(15)<<"Contr.Code"<<setw(13)<<"Item Name"<<setw(14)<<"Cost/Hour"<<setw(12)<<"Item Cost"<<endl; cout<<endl; cout<<setiosflags(ios::fixed); cout<<setiosflags(ios::showpoint); cout<<setprecision(2); inFile >>item_code >>item_name >>item_type >>hours >>charge >>days; //test for the end of the file while (!inFile.eof()) { //function call convert_type (item_type); cost_hour=calc_cost_hour (charge, hours); //update counter and accumulator counter = counter + 1; total_chrg = total_chrg + charge; total_hours = total_hours + hours; if (item_type=='L') labor=labor+charge; if (item_type=='M') materials=materials+charge; cout<< counter <<setw(5) <<item_code <<setw(4) <<item_name <<setw(5) <<cost_hour <<setw(9) <<charge<<endl; if (charge > highest_charge) { strcpy(itemCode, item_code); number_day = days; highest_charge = charge;; } }//end while loop //close file inFile.close(); system("pause"); system("cls"); //Output items cout<<"-----------------------------------------------------------------"<<endl; cout<<"The number of records in the database is: "<<counter<<endl; cout<<"Cost of all materials: "<<setw(15)<<materials<<endl; cout<<"Total manhours charged: "<<setw(12)<<hours<<endl; cout<<"Total labor cost: "<<setw(5)<<labor<<endl; cout<<"The total cost of all charges: "<<setw(23)<<total_chrg<<endl; cout<<endl; cout<<"The contractor code that had the greatest expense was "<<itemCode<<" "<<endl; cout<<"It was completed on day "<<number_day<<" of the job at a cost of $ "<<highest_charge<<" "; cout<<endl; cout<<endl; } }//end main //function definition void convert_type (char item_type) { if(item_type=='C') cout<<"CONTR"<<setw(2); else if (item_type=='E') cout<<"ELECT"; else if (item_type=='I') cout<<"INSPC"; else if (item_type=='L') cout<<"LABOR"; else if (item_type=='M') cout<<"MATLS"; } float calc_cost_hour (float charge, float hours) { float cost_hour=(float)0.0; if (hours!=(float)0.0) cost_hour=charge/hours; return 0; }
Con-11-101 Architec C 0 31899.35 1
CEM-01-001 Concrete M 0 315090.00 3
CEM-22-086 Cem-labor L 16800 802200.00 71
CEM-01-111 Cem-inst I 0 11435.00 77
ELC-17-488 Elc-wirg E 0 79995.00 5
ELC-22-086 Elc-labor L 6256 447304.00 63
ELI-01-001 Elc-inst I 0 7399.00 66
PLB-03-225 Plb-pipe M 0 258000.00 18
PLB-03-801 Plb-labor L 13536 554976.00 80
PBI-01-001 Plb-inst I 0 6089.00 88
CON-01-388 Transpor C 0 34517.50 277
EXC-05-999 Excavate L 1080 28890.00 21
LAN-18-189 Sod-field M 0 37895.00 101
LAN-19-190 Sod-entr M 0 18000.00 137
LAN-18-225 Sod-inst L 1188 17820.00 122
CEM-79-220 Concrete M 0 175000.00 119
Con-11-133 Seat-h/w M 0 299250.00 133
LAN-19-257 Sod-inst L 360 7740.00 260
Con-11-305 Seat-inst L 22500 781875.00 311
CEM-87-233 Concrete M 0 88795.00 321
Con-11-293 Booth-etc L 5760 506880.00 333



LinkBack URL
About LinkBacks


