Thread: reading whole .txt file after entering numbers

  1. #1
    new to c++
    Join Date
    Feb 2009

    reading whole .txt file after entering numbers


    i am trying to make a program that will take numbers entered output them to a text file and compute the average and the standard deviation from the numbers in the file. I can enter the numbers fine and the program will write them to the file fine. I dont know how to make the program read all of the numbers that i have entered. the program will read the last number that i entered but nothing else. so like if i entered 3 numbers it would read only the last number i entered.
    using namespace std;
    void asknumbers(ofstream& myfile,int& howmanynumbers,double& numbers);
    void readnumbers(ifstream& outfile, double numbers, double& total,int howmanynumbers);
    int main()
    	ofstream myfile;
    	ifstream outfile;
    	int howmanynumbers;
    	double numbers,total;
    	char repeat;
 "numbers_file.txt",ios::trunc);			//opens and deletes everything from before
    		myfile.close();										//closes file
    		asknumbers(myfile,howmanynumbers,numbers);			//function for asking numbers
    		cout<<"Do you want to repeat: ";
    	}while(repeat=='y'||repeat=='Y');						//end first do loop
    	return 0;
    void asknumbers(ofstream& myfile,int& howmanynumbers,double& numbers)
    	cout<<"how many numbers do you want to input:";			//asks how many number i want to put in
    	int numbercounter;
    		do													//asks for the numbers
    			cout<<"enter the numbers:";
   ("numbers_file.txt",ios::app);		//writes to file called numbers_file.txt
    			myfile<<numbers<<endl;							//writes numbers to the file
    			myfile.close();									//closes file
    			numbercounter--;								//counts down how many numbers put in
    		}while(numbercounter>=1);							//ends asking for numbers
    void readnumbers(ifstream& outfile,double numbers, double& total,int howmanynumbers)
    	total=0;"numbers_file.txt");						//opens file
    	for(int x=howmanynumbers;x>0;x--)
    		outfile>>numbers;										//reads numbers
    	total+=numbers;						//calculates total from numbers input
    	cout<<"The total of the numbers is: "<<total<<endl;

  2. #2
    Registered User
    Join Date
    Feb 2003
    readnumbers is reading all of the numbers, but each time it executes the line
    the previous entry is overwritten by the next one so you're not doing anything with any but the last entry. The line
    total += numbers:
    should be inside the for loop.

    Also, in your asknumbers function, instead of opening and closing the file on every iteration of the do-while loop, you should open the file just once before the loop, and close it after the loop.

  3. #3
    new to c++
    Join Date
    Feb 2009

    I have another question about how i would calculate the standard deviation...
    I know that the standard deviation is calculated as:
    sqrt((n1-avg)^2+(n2-avg)^2+(n3-avg)^2+...)/howmanynumbers) right?
    I guess my question is how would I get my program to get the n1,n2,n3, variables and so on into that equation?
    I have this
    void standarddev(ifstream& outfile, double numbers,double average,double& standardd,int howmanynumbers)
    {"numbers_file.txt");								//opens file
    	for(int x=howmanynumbers;x>0;x--)
    	cout<<"The standard deviation of those numbers is: "<<standardd<<endl;
    but I dont think its right, could I get some help

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Help converting CANoe logfile to EXCEL readable .txt file
    By turbofizzl in forum C Programming
    Replies: 21
    Last Post: 08-16-2009, 08:56 PM
  2. Replies: 7
    Last Post: 02-02-2009, 06:27 AM
  3. gcc link external library
    By spank in forum C Programming
    Replies: 6
    Last Post: 08-08-2007, 03:44 PM
  4. Basic text file encoder
    By Abda92 in forum C Programming
    Replies: 15
    Last Post: 05-22-2007, 01:19 PM
  5. what does this mean to you?
    By pkananen in forum C++ Programming
    Replies: 8
    Last Post: 02-04-2002, 02:58 PM