C++作业函数错误
C++ Homework Function Errors
我正在为class编写一个程序,该程序从文件中读取数据,处理数据并写入另一个文件。我们需要在程序中使用两个函数,我认为我的程序无法正常运行,因为我的函数出现了一些错误。
首先,让我描述输入文件,然后添加我的代码。输入文件以一个哨兵数字开始,让程序知道要读取的行数。下面的每一行由12个数字组成,代表YYYYMMDDHHMM形式的日期和Xtemp形式的温度读数,其中x是c或f(例如C17.5或F64.12)。我们的输出应该将温度转换为摄氏度,如果它们还没有,那么每一行都应该以"17.5 c---recorded on 04/12/2009"的格式出现,依此类推。
这是我迄今为止的代码。正如我所说,我认为问题出在函数上。
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
using namespace std;
void timeConverter(char timeStamp[]);
float tempConverter(float);
int main()
{
ifstream fin;
ofstream fout;
int endcycler, cycler;
char timeStamp[11];
char tempUnit;
float tempData;
fin.open("aquarenadata.dat");
if (!fin)
{
cout<<"Error opening input file"<<endl;
system("pause");
return -1;
}
fout.open("formatteddata.dat");
fin >> endcycler;
cycler = 0;
while (cycler < endcycler)
{
fin >> timeStamp;
fin >> tempUnit;
fin >> tempData;
if (tempUnit == 'C' || tempUnit == 'c')
cout << tempData << " C --- recorded on ";
else if (tempUnit == 'F' || tempUnit == 'f')
{
tempData = tempConverter(tempData);
cout << tempData << " C --- recorded on ";
}
else
{
cout <<"Invalid temperature scale"<<endl;
system("pause");
return -2;
}
void timeConverter();
cycler++;
}
fin.close();
fout.close();
system("pause");
return 0;
}
void timeConverter (char timeStamp[])
{
cout<<timeStamp[4]<<timeStamp[5]<< "/" <<timeStamp[6]<<timeStamp[7]<< "/"<<timeStamp[0]<<timeStamp[1]<<timeStamp[2]<<timeStamp[3]<< " at " <<timeStamp[8]<<timeStamp[9]<<timeStamp[10]<<timeStamp[11]<<endl;
}
float tempConverter (float tempData)
{
float result;
result = (tempData - 32) * (5 / 9);
return result;
}
至于显示日期的问题,可能是因为您实际上并没有调用timeConverter函数。
代替
void timeConverter();
尝试
timeConverter(timestamp);
您可能还想确保输入的格式正确,即时间戳实际长度至少为8
对于转换中的错误,如果你给我们一些输入返回的实际值,会更容易。
相关文章:
- 链接器错误:函数的多个定义
- 编译器错误:函数调用在常量表达式中必须有一个常量值
- 错误:函数声明符之后的预期函数体
- C 错误 - 函数不能超载
- 如何修复传递参数时调用错误函数的主函数?(C++)
- 错误:函数调用中有两个参数
- 错误:函数不是“类”的静态数据成员 - C++
- C ,G 编译错误函数
- CMake 解析错误函数缺少结尾")"。而是找到带有文本的未终止字符串")
- C++ 错误 函数 2 的多重定义
- 错误:函数调用中从int到int(*)[4]的转换无效
- C++14 自动扣除错误:函数返回一个数组
- 视觉C++错误:函数必须返回一个值
- 错误:函数声明中的两种或多种数据类型
- 错误:函数未在作用域中声明
- rtw_android.c错误:函数“strnicmp”的隐式声明[-Weror=隐式函数声明]
- 错误:函数中的return语句没有值,返回“void*”[-fpermission]
- 简单程序中的链接器错误:函数的多重定义
- 错误:函数参数太多
- 错误:函数__tmaincrtstartup中引用的未解析的外部符号_main