online: 3; azi: 378; total: 52384 Manual clasa a x a - Realizarea aplicatiilor - Aplicatii

Manual clasa a X a

Realizarea aplicatiilor

Aplicatii

Ex 1 -237-Xa
Analizaţi interfața procesorului de texte Word. Identificați operațiile specifice pentru prelucrarea t extelor. Realizați o aplicație care să simuleze un procesor de texte, implementând operații identificate în aplicația Word (de exemplu, deschiderea fişierului text, salvarea modificărilor în fişier, căutarea şi înlocuirea unui şir de caractere, numărarea unor entități din text — caractere, cuvinte, propoziţii, linii de text etc. —, transformarea literei de la începutul cuvântului în literă mare etc.).
# include <iostream>
# include <fstream>
# include <string>
# include <sstream>
# include <algorithm>
# include <cctype>
void open_file ( const std::string &filename, std::string &content) {
std::ifstream infile (filename.c_str()) ;
std::stringstream buffer;
buffer << infile. rdbuf ();
content = buffer. str ();
}
void save_file ( const std::string &filename, const std::string &content) {
std::ofstream outfile (filename.c_str()) ;
outfile << content;
}
std::string find_and_replace ( const std::string &content, const std::string &search, const std::string &replace) {
std::string result (content) ;
size_t pos = 0 ;
while ((pos = result. find (search, pos)) != std::string::npos) {
result. replace (pos, search. length (), replace);
pos += replace. length ();
}
return result;
}
int count_words ( const std::string &content) {
std::stringstream ss (content) ;
std::string word;
int count = 0 ;
while (ss >> word) {
++count;
}
return count;
}
std::string capitalize_words ( const std::string &content) {
std::string result (content) ;
bool newWord = true ;
for ( size_t i = 0 ; i < result. size (); ++i) {
if (std:: isspace (result[i])) {
newWord = true ;
} else if (newWord) {
result[i] = std:: toupper (result[i]);
newWord = false ;
}
}
return result;
}
int main () {
std::string filename = "test.txt" ;
std::string content;
open_file (filename, content);
std::cout << "Original content:\n" << content << std::endl;
content = find_and_replace (content, "test" , "TEST" );
std::cout << "Content after find and replace:\n" << content << std::endl;
int word_count = count_words (content);
std::cout << "Word count: " << word_count << std::endl;
content = capitalize_words (content);
std::cout << "Content after capitalizing words:\n" << content << std::endl;
save_file ( "output.txt" , content);
return 0 ;
}

Pentru a înțelege mai bine cum funcționează acest program, îți sugerez să rulezi codul și să experimentezi cu diferite fișiere de intrare și să analizezi rezultatele.