Mon programme doit analyser un fichier csv et identifier une combinaison de nombres manquante. L'ordre n'a pas d'importance.Pourquoi mon programme ne fonctionne pas correctement
Le programme compile et s'exécute, mais imprime les nombres qui sont déjà imprimés dans une ligne dans le fichier.
entrée (mega2.csv):
123
134
142
Remarque 234
est pas dans la liste.
Sortie prévue: Le programme est censé sortie 234
car il est la seule combinaison non utilisée. Au lieu de rien ne sort.
code:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
int main()
{
ifstream inFile;
string value;
string fileName;
int count;
int amount, playCount;
int a,b,c,d,e,f,g,h,i,j,k,l;
srand(time(0));
char ch;
do{
cout << "Enter number of plays (or -number to quit): ";
cin >> amount;
cout << endl;
playCount = 1;
while(playCount <= amount){
do{
inFile.open("mega2.csv");
//create random numbers a,b,c,d,e,f= mega num < 10
a = rand() % 5;
if(a == 0){a = 1;}
do{
b = rand() % 5;
if(b == 0){b = 1;}
}while(b == a);
do{
c = rand() % 5;
if(c == 0){c = 1;}
}while(c == a || c == b);
//Load numbers into g,h,i,j,k,l
do{
inFile >> g;
inFile.get(ch);
inFile >> h;
inFile.get(ch);
inFile >> i;
inFile.get(ch);
int count = 0;
cout << g << "," << h << "," << i << endl;
//A
if(a == g || a == h || a == i){
count++;
}
//B
if(b == g || b == h || b == i){
count++;
}
//C
if(c == g || c == h || c == i){
count++;
}
}// close second half do loop
while(inFile && count < 3);
inFile.close();
inFile.clear();
} // close whole do loop
while(count >= 3);
cout << endl;
cout << endl;
cout << endl;
cout << a << "," << b << "," << c << endl;
cout << endl;
playCount++;
} // End playCount while loop
}// End main do loop
while(amount >= 0); // quit program with negative number
system("pause");
return 0;
}
S'il vous plaît modifier votre question pour avoir un titre plus descriptif et supprimer les parties du code qui sont hors de propos. Avant de poster, vous devez exécuter le code exact que vous publiez et assurez-vous que le problème se produit. –
Votre titre semble trop vague. –
"Il y a des choses inutiles dans le code, elles n'affectent rien, il suffit de les ignorer." Que diriez-vous de supprimer les parties non pertinentes et de nous fournir un [Short, Self Contained, Correct (Compilable), Exemple] (http://sscce.org/)? Cela faciliterait la tâche de la communauté StackOverflow. Voir aussi http://tinyurl.com/so-hints – Johnsyweb