У меня есть следующий файл text.txt, где первый столбец указывает пациента #:Количество вхождений в файле
1 325 160 2.0
1 600 100 6.2
2 325 220 1.0
3 600 200 4.4
4 325 100 3.0
4 325 88 3.2
2 600 200 3.3
2 325 100 3.3
4 600 210 3.4
5 325 105 3.5
1 600 110 6.0
3 325 100 3.1
2 600 120 5.5
2 600 125 5.5
5 120 60 2.2
2 325 100 3.4
Я хочу написать программу, где пользователь может ввести пациента # и функция будет укажите количество раз, когда номер пациента указан в файле, но я не могу понять его. Вот то, что я до сих пор:
#include <iostream>
#include <fstream>
using namespace std;
bool analyzeData(int patientNum, int *numMeasurements);
int main()
{
int patientNum;
char option;
int numMeasurements;
do
{
cout << "\nNew Pain Drug - Half-Life Determination\n";
cout << "---------------------------------------\n";
cout << " [P] - Patient Summary\n";
cout << " [H] - Highest two half-lifes\n";
cout << " [X] - to Exit\n";
cout << "\nEnter Option: ";
cin >> option;
switch (option)
{
case 'p':
cout << "Enter patient number (1-5): ";
cin >> patientNum;
analyzeData(patientNum, &numMeasurements);
cout <<"num=" << numMeasurements<< endl;
break;
case 'h':
break;
case 'x': option = false;
break;
default: cout << "Invalid option entered.\n";
}
}
while (option);
}
bool analyzeData(int patientNum, int *numMeasurements)
{
double C0, Ct, t;
int patient;
ifstream fin;
fin.open ("Text.txt");
if (fin)
{
while (fin >> patient >> C0 >> Ct >> t)
{
if (patient == patientNum)
{
bool analyzeData = true;
for (numMeasurements=0; patient != patientNum; numMeasurements++)
*numMeasurements;
}
}
}
else
{
cout << "Error\n";
}
fin.close();
return analyzeData;
}
Когда пациент # = 1, то функция numMeasurements
в настоящее время выводит значение -858993460, что я знаю, это не так. Вы знаете, что я делаю неправильно?
И? На самом деле вы не задали вопрос. – NathanOliver
Итак, каков ваш вопрос, точно? –
@NathanOliver жаль, что я отредактировал его, чтобы включить мой вопрос – lockeal