mohla bych poprosit o radu?
Program si má přečíst textový soubor, převést každé druhé slovo na velká písmena a na konec každého řádku ještě něco připsat.
Chtěla bych se zeptat, zda by mi někdo neporadil, jak napsat podmínku, aby se převedlo na velká písmena pouze každé druhé slovo. Pomocí mojí funkce text_na_velka se mi totiž převádějí všechna slova. Existuje nějaký způsob, jak program pozná, že narazil na mezeru?
Zde přikládám, co jsem zatím napsala.
Děkuji za jakoukoli radu.
- Kód: Vybrat vše
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
char na_velka(char c)
{
if ((c >= 'a') && (c <= 'z'))
{
return c + 'A' - 'a';
}
else
{
return c;
}
}
string text_na_velka(string text)
{
string vysledek;
int index = 0;
while (index < text.length())
{
vysledek += na_velka(text[index++]);
};
return vysledek;
}
void chyba(const char* text)
{
cout << "Nastala chyba pri:" << text << endl;
}
void cteni(const string& jmeno)
{
ifstream soubor;
soubor.open(jmeno, ios::in);
if (soubor.is_open())
{
string radek;
while (getline(soubor, radek))
{
cout << text_na_velka(radek) << " konec radku" << endl;
}
soubor.close();
}
else
{
chyba("cteni");
}
}
int main()
{
cteni("soubor.txt");
}