How to Read in Numbers From a File and Store Them in an Array C++

Member Avatar

Hey, I'm having trouble of making my program work. So far I managed it to read the file and display the numbers (just to verify that it is being read right), but I'm not sure if the storing is functioning well, as when I pick another option, well, it doesn't seem to work. My program is supposed to read the file then allow the user to pick between 4 other options: Bubble Sort, Selection Sort, Linear Search, and Binary Search. My main problem is getting the array from reading the file to pass on to the other options without having to enter the name of the file again. My friend has managed to do it using the getline command, but I wanted to try to do it differently, if possible.

Here's my read file code: (plus the check file code)

                      bool CheckFile(string filename){ // This function verifies to see whether the file exists or not      ifstream ListNumbers;           ListNumbers.open(filename.c_str(),fstream::in);     if (ListNumbers.good()){         ListNumbers.close();         return true ;     }     return false; }  int ReadFile(){ // This function reads the file and stores the number in an array      ifstream ListNumbers;      string filename;      int size = 0;      float array[100]; // 100 is maximum amount of numbers in the file      float numbers;            cout << "Enter the name of the file: " << endl;      cin >> filename;            if (CheckFile(filename)==true){         ListNumbers.open(filename.c_str(),fstream::in);                  while (!ListNumbers.eof()){               // Keeps reading the file until it ends               ListNumbers >> numbers;               if (ListNumbers)                  size++;               cout << "The numbers are: " << numbers << endl;         }         cout << "The amount of numbers in the file is: " << size << endl;         cout << "The file " << filename << " exists. " << endl;                  return 0;      }      else {          cout << "The file doesn't exist." << endl;          return 1;      }      ListNumbers.close(); }                    

And here is the code of the Bubble Sort: (I just wanted to start with this one so I could just get the hang of it in order to do the rest)

                      void BubbleSort(float array[], int size){      bool swap;      float temp;            do {          swap = false;          for (int i = 0; i < (size - 1); i++){              if (array[i] > array[i + 1]){                 temp = array[i];                 array[i] = array[i + 1];                 array[i + 1] = temp;                 swap = true;              }          }      } while (swap);      cout << "This is the array in ascending order: " << endl;      for (int i = 0; i < size; i++)      cout << array[i] << endl;            cout << endl;      order = true; }                    

Any hints or tips would be appreciated. I just need to be pointed in the right direction, thanks.

  • 2 Contributors
  • forum 4 Replies
  • 297 Views
  • 16 Hours Discussion Span
  • comment Latest Post Latest Post by crodriguez08

Recommended Answers

Deberias guardar los numeros del archivo a un arreglo para asi poderlos manipular en las otras funciones. =) Esto deberia funcionar.

                      int read_file(){ // This function reads the file and stores the number in an array      ifstream filenumbers;      string filename;      char i=0;      int size = 0;      int …                    

Jump to Post

All 4 Replies

Member Avatar

Deberias guardar los numeros del archivo a un arreglo para asi poderlos manipular en las otras funciones. =) Esto deberia funcionar.

                          int read_file(){ // This function reads the file and stores the number in an array      ifstream filenumbers;      string filename;      char i=0;      int size = 0;      int array[100]; // 100 is maximum amount of numbers in the file      int numbers;       cout << "Enter the name of the file: " << endl;      cin >> filename;       if (check_file(filename)==true){         filenumbers.open(filename.c_str(),fstream::in);          while (!filenumbers.eof()){             // Keeps reading the file until it ends          filenumbers >> array[i];                if (filenumbers){                  size++;                 i++;         }         }                  for (int i=0; i < size ; i++){                         cout << array[i] << " " endl; }         cout << "The amount of numbers in the file is: " << size << endl;         cout << "The file " << filename << " exists. " << endl;     return 0;      }      else {          cout << "The file doesn't exist." << endl;          return 1;      }      filenumbers.close(); }                        

Member Avatar

muchas gracias :)

Lo trate pero no me funciono. :/ Tienes otra sugerencia?

Edited by crodriguez08 because: n/a

Member Avatar

muchas gracias :)

Lo trate pero no me funciono. :/ Tienes otra sugerencia?

Hmm para serte honesto, estoy teniendo unos problemas tambien. Tan pronto tenga la respuesta la posteo.

Member Avatar

no te preocupes ya la pude resolver, pero gracias.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.

How to Read in Numbers From a File and Store Them in an Array C++

Source: https://www.daniweb.com/programming/software-development/threads/274215/reading-numbers-from-file-and-store-it-in-array

0 Response to "How to Read in Numbers From a File and Store Them in an Array C++"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel