I asked a previous questions concerning this program. I have most of the code (i hope). The problem is I am a beginner and to tell you the truth the following code is elementary and I just dont know that much about classes, so go easy on me :).
This program takes input (5 numbers) from the user and they are inserted into an array. Then the array is sorted. Then input is taken from an input file containing sets of numbers:
numbers1.txt:
1 2 4 6 3
21 43 56 34 45
23 34 3 45 5
A set (of 5 numbers, or one line) is taken in, inserted into a second array, sorted, and then compared to the numbers inserted by the user. If they match, increment a counter. Then take in another line of numbers, sort, compare, etc and so on till end of file.
Well here is the code, (think of it as kind of a lottery program).
-------------------
LOTTERY.H
-------------------
#ifndef LOTTERY_H
#define LOTTERY_H
class Lottery
{
public:
Lottery();
void addNumber(int arr[], int number);
void SortList(int arr[]);
bool CompareLists(winList[], numList[]);
private:
int count;
int winner;
int winnersList[5];
int numbersList[5];
};
#endif
-----------------
LOTTERY.CPP
-----------------
#include "lottery.h"
Lottery::Lottery()
{
count=0;
winner=1;
}
void Lottery::AddNumber(int arr[], int number)
{
arr[count++]=number;
return 0;
}
void Lottery::SortList(int arr[])
{
for (int i = 1, j; i<5; i++)
{
int tmp = array[i];
for (j = i-1; j>=0 && array[j]>tmp; j--)
{
array[j+1] = array[j];
}
array[j+1] = tmp;
}
}
bool Lottery::CompareLists(winL
ist[], numList[])
{
for(int position=0; position<5; i++)
{
if(winList[position]!=numL
ist[positi
on])
{
winner=0;
}
}
return winner;
}
-----------------
LOTTERYCHECK.CPP
-----------------
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include "lottery.h"
#include "lottery.cpp"
int main()
{
int winPosition=0;
int numPosition=0;
Lottery list1, list2;
int winnersList[5], winNum, number;
int numbersList[5];
cout << "Enter the winning numbers: ";
while(winPosition<5)
{
cin >> winNum;
list1.AddNumber(winnersLis
t[], winNum);
}
list1.SortList(winnersList
[]);
ifstream fileInput;
string inData;
cout << "input file: ";
cin >> inData;
fileInput.open(inData.c_st
r());
string lineOfNumbers;
while(getline(fileInput, lineOfNumbers))
{
istringstream input(lineOfNumbers);
while(input >> number)
{
list2.AddNumber(numbersLis
t[], number);
}
list2.SortList(numbersList
[])
// right here i want to compare the two lists using the
// compare method but am not sure how
// if two lists match increment a counter
}
return 0;
}
Thanks for your help :(
Ben