我的程序的目标是最终将一个充满数字(由用户选择)的文件读入数组,并输出最小值和最大值。但是,我无法获取代码以在文件中输出正确数量的输入,我希望将其用作数组的大小。
我现在拥有的代码是
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;
int main(){
string fileName;
int count(0);
cout << "Enter input file name: ";
cin >> fileName;
ifstream in_file;
in_file.open(fileName);
if(in_file.is_open()){
in_file >> count;
}
cout << "The number of entries is " << count;
int arrayNumbers[count];
for (int i = 0; i < count; ++i){
in_file >> arrayNumbers[i];
cout << arrayNumbers[i] << endl;
}
in_file.close();
}
我在与.cpp文件相同的目录中有一个名为tester.txt的文本文件,但是它只有9个条目(单独的行为1-9),但是当我计算出计数时,它说计数为12。 我在其他问题(例如我的
)中看到了in_file >> count;
计算一个文件中有多少个数字,但是自从我第一次从文件中读取数据以来,我不明白它的作用。 我要读取的文件包含以下内容
1
2
3
4
5
6
7
8
9
我还没有开始问题的第二部分,找到最小值和最大值,但是我只是要对数组进行排序,然后显示arrayNumber [0]和arrayNumber [count-1]来显示最小值和最大值,但是首先我需要知道根据输入文件来制作数组的大小。
答案 0 :(得分:2)
但我不知道这是什么
它将ifstream
的第一个数字读入count
。
对于必须按预期工作的代码,您需要将数字总数添加到输入文件的开头,以便文件看起来像这样。
9
1
2
3
4
5
6
7
8
9
答案 1 :(得分:0)
感谢所有建议,我设法使它按预期工作。我将在下面发布我的代码。
protected override async void OnActivated(IActivatedEventArgs args)
{
await ActivationService.ActivateAsync(args);
if (args.Kind == ActivationKind.Protocol)
{
var uriArgs = args as ProtocolActivatedEventArgs;
if (uriArgs != null)
{
//DetailPagePage detailpage = new DetailPagePage();
var stuff = DetailPagePage.pageid;
MyModel parameter = null;
if (uriArgs.Uri.Host == stuff.ToLower())
{
switch (stuff)
{
case "Title1":
parameter = new MyModel
{
Title = "Title1",
Subtitle = "My Subtitle 1",
Description = "My Description 1 goes here."
};
break;
case "Title2":
parameter = new MyModel
{
Title = "Title2",
Subtitle = "My Subtitle 2",
Description = "My Description 2 goes here."
};
break;
//Some other case
}
NavigationService.Navigate(typeof(DetailPagePage), parameter);
}
}
Window.Current.Activate();
}
}