C++ 列中每个元素的数字总和
C++ sum of digits of each element in a column
我是 C++ 的新手,试图将日期导入程序,将日、月、年的数字相加并写回 txt。
输入数据
sl.no name day month year
1 Rob 15 05 2019
2 Tim 12 06 2002
需要以txt格式输出数据
sl.no name day month year
1 Rob 6 5 3
2 Tim 3 6 4
我已经能够从一个 txt 文件中导入数据,并且还可以在天中添加数字,但它不会向前重复。我做错了什么?
示例代码
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream theFile("data.txt");
int id,day,month,year,daysum=0,monthsum=0, yearsum=0;
string name;
while (theFile >> id >> name >> day >> month >> year)
{
cout << id << ", "<< name <<", "<< day<<", "<<month <<", "<< year<<","<< endl;
}
while (day > 0)
{
daysum = daysum + (day % 10);
day = day / 10;
cout << daysum << endl;
}
你读取的文件和数据有误,
您需要丢弃 header (sl.no name day month year)
然后在逐行逐行读取文件的同时累加天数,直到结束...
我不是专家。但几个月前就在你的位置..将问题分解成更小的步骤..
我的方法..
伪代码:
- 放弃 header
- 创建一个用于添加数字的函数
- 从文件中读取数据
- 使用循环 运行 遍历每列的每个元素并使用创建的函数
- 将结果存储在变量中
- 将变量输出到新的文本文件
评论是否有您卡住的特定区域..
试试这个将它减少到个位数..编织到代码的其他部分..
#include <iostream>
using namespace std;
int main()
{
long long num;
cout << "Enter a number: ";
cin >> num;
int sum = 0;
while (1)
{
sum += (num % 10);
num /= 10;
if (0 == num)
{
if (sum > 9)
{
num = sum;
sum = 0;
}
else
{
cout << "Answer: ";
cout << sum << endl;
return 0;
}
}
};
return 0;
}
我是 C++ 的新手,试图将日期导入程序,将日、月、年的数字相加并写回 txt。
输入数据
sl.no name day month year
1 Rob 15 05 2019
2 Tim 12 06 2002
需要以txt格式输出数据
sl.no name day month year
1 Rob 6 5 3
2 Tim 3 6 4
我已经能够从一个 txt 文件中导入数据,并且还可以在天中添加数字,但它不会向前重复。我做错了什么?
示例代码
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream theFile("data.txt");
int id,day,month,year,daysum=0,monthsum=0, yearsum=0;
string name;
while (theFile >> id >> name >> day >> month >> year)
{
cout << id << ", "<< name <<", "<< day<<", "<<month <<", "<< year<<","<< endl;
}
while (day > 0)
{
daysum = daysum + (day % 10);
day = day / 10;
cout << daysum << endl;
}
你读取的文件和数据有误, 您需要丢弃 header (sl.no name day month year)
然后在逐行逐行读取文件的同时累加天数,直到结束...
我不是专家。但几个月前就在你的位置..将问题分解成更小的步骤..
我的方法..
伪代码:
- 放弃 header
- 创建一个用于添加数字的函数
- 从文件中读取数据
- 使用循环 运行 遍历每列的每个元素并使用创建的函数
- 将结果存储在变量中
- 将变量输出到新的文本文件
评论是否有您卡住的特定区域..
试试这个将它减少到个位数..编织到代码的其他部分..
#include <iostream>
using namespace std;
int main()
{
long long num;
cout << "Enter a number: ";
cin >> num;
int sum = 0;
while (1)
{
sum += (num % 10);
num /= 10;
if (0 == num)
{
if (sum > 9)
{
num = sum;
sum = 0;
}
else
{
cout << "Answer: ";
cout << sum << endl;
return 0;
}
}
};
return 0;
}