Есть консольное приложение, в которое с клавиатуры вводится строка, она обрабатывается и выводится. Нужно заменить в нем ввод с клавиатуры на чтение исходной строки из файла и запись полученной строки в другой файл.
#include <iostream>
#include <ctime>
#include <string.h>
using namespace std;
bool razdelitel(char* S, size_t i)
{
if ((S[i] != ' ') && (S[i] != ',') && (S[i] != '.') && (S[i] != ';') && (S[i] != '\n') && (S[i] != '\t'))
return 1;
else return 0;
}
int main()
{
const int SIZE = 100;
char dig[SIZE]=" ";
char prom[SIZE]=" ";
char pod[SIZE]=" ";
size_t ks(0);
size_t j=0;
cout << "Введите число: ";
cin.getline(dig,SIZE);
if(razdelitel(dig,strlen(dig))==0)strcat_s(dig, SIZE ," ");
for (size_t i = 0; i < strlen(dig); i++)
{
if (razdelitel(dig, i) )
{
prom[ks]=dig[i];
ks++;
}
else
{
switch (strlen(prom))
{
case 9: for(size_t i=0; i<3; i++) {pod[j] = prom[i]; j++;} strcat_s(pod, SIZE ," млн. "); j=j+6; for (size_t i=3; i<6; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," тыс. "); j=j+6; for (size_t i=6; i<9; i++){pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," руб. "); break;
case 8: for(size_t i=0; i<2; i++) {pod[j] = prom[i]; j++;} strcat_s(pod, SIZE ," млн. "); j=j+6; for (size_t i=2; i<5; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," тыс. "); j=j+6; for (size_t i=5; i<8; i++){pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," руб. "); break;
case 7: for(size_t i=0; i<1; i++) {pod[j] = prom[i]; j++;} strcat_s(pod, SIZE ," млн. "); j=j+6; for (size_t i=1; i<4; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," тыс. "); j=j+6; for (size_t i=4; i<7; i++){pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," руб. "); break;
case 6: for(size_t i=0; i<3; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," тыс. "); j=j+6; for (size_t i=3; i<6; i++){pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," руб. "); break;
case 5: for(size_t i=0; i<2; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," тыс. "); j=j+6; for (size_t i=2; i<4; i++){pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," руб. "); break;
case 4: for(size_t i=0; i<1; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," тыс. "); j=j+6; for (size_t i=1; i<5; i++){pod[j] = prom[i]; j++;} strcat_s(pod,SIZE," руб. "); break;
case 3: for(size_t i=0; i<3; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE, " руб. "); break;
case 2: for(size_t i=0; i<2; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE, " руб. "); break;
case 1: for(size_t i=0; i<1; i++) {pod[j] = prom[i]; j++;} strcat_s(pod,SIZE, " руб. "); break;
}
memset(prom, 0, strlen(prom));
ks=0;
j = 0;
}
}
cout << "\n" << "Измененная строка: " << pod << endl;
system ("Pause");
return 0;
}