Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Lab06
- #include <cstdlib>
- #include <iostream>
- #include <fstream>
- #include <cstring>
- using namespace std;
- //Prototypy
- void WyborZadania();
- bool Zad3(string slowo);
- void Zad4();
- struct TData{
- int x;
- };
- int main() {
- WyborZadania();
- return EXIT_SUCCESS;
- }
- void Zad1(){
- int liczba;
- fstream plik;
- plik.open("liczby.txt", ios::app | ios::out);
- do{
- cout << "Wprowadz liczbe: ";
- cin >> liczba;
- plik << liczba << " ";
- }while(liczba!=0);
- plik.close();
- }
- bool Zad3(string input){
- string slowo, odwrocony;
- bool wynik = false;
- for(int i = 0; i < input.length(); i++){
- if(isalpha(input[i])){
- slowo += tolower(input[i]);
- }
- }
- for(int i = 0; i < slowo.length(); i++){
- odwrocony += tolower(slowo[slowo.length()-i-1]);
- }
- if(odwrocony == slowo) wynik = true;
- else wynik = false;
- return wynik;
- }
- void Zad4(string nazwa){
- fstream plik;
- string linia;
- int liczba_sztuk;
- int ostatnia_liczba;
- string cena;
- double suma;
- plik.open(nazwa.c_str());
- while(!plik.eof()){
- liczba_sztuk = 0;
- getline(plik, linia);
- //Sprawdanie ilosci sztuk
- if(!isdigit(linia[0])) liczba_sztuk = 1;
- else{
- string posredni;
- for(int i = 0; i < linia.length(); i++){
- if(isdigit(linia[i])) posredni += linia[i];
- else { ostatnia_liczba=i; break;}
- }
- liczba_sztuk = atoi(posredni.c_str());
- }
- //Wyszukiwanie ceny
- for(int i = ostatnia_liczba; i < linia.length(); i++){
- if(isdigit(linia[i]) || linia[i] == '.'){
- cena += linia[i];
- suma += (stod(cena.c_str()) * liczba_sztuk);
- }
- }
- cout << liczba_sztuk << ", " << cena << " | " <<linia << endl;
- cena = "";
- }
- cout << "Suma zamowienia: " << suma;
- plik.close();
- }
- void Zad5(string fileName, string target, string replace){
- fstream plik; fstream zapis;
- string linia;
- string wynik;
- zapis.open("wyniki.txt", ios::app | ios::out);
- plik.open(fileName.c_str());
- while(!plik.eof()){
- getline(plik, linia);
- size_t pos = linia.find( target );
- if(pos < linia.length()){
- linia.replace(pos,pos+replace.length(),replace);
- //cout << pos << " | " << linia << endl;
- }
- zapis << linia << endl;
- }
- plik.close();
- zapis.close();
- }
- void WyborZadania(){
- int zad;
- cout << "Wybierz zadanie: ";
- cin >> zad;
- switch(zad){
- case 1:
- {
- Zad1();
- break;
- }
- case 2:
- {
- cout << "Wprowadz liczbe: "; int x;
- cin >> x;
- TData struktura = { x };
- TData * pointer;
- pointer = &struktura;
- cout << struktura.x << ", " << pointer->x << ", " << (*pointer).x;
- break;
- }
- case 3:
- {
- string input;
- cout << "Wpraowdz slowo: ";
- getline(cin, input);
- if(Zad3(input)) cout << "Wyrazenie " << input << " jest palindromem" << endl;
- else cout << "Wyrazenie " << input << " nie jest palindromem" << endl;
- break;
- }
- case 4:
- {
- cout << "Podaj nazwe pliku z rachunkiem: "; string nazwa;
- cin >> nazwa;
- Zad4(nazwa);
- break;
- }
- case 5:
- {
- string filename;
- string target;
- string replace;
- cout << "Wprowadz nazwe pliku: "; cin >> filename;
- cout << "Zamieniamy: "; cin >> target;
- cout << "Na ciag: "; cin >> replace;
- Zad5(filename, target, replace);
- break;
- }
- default:
- {
- WyborZadania();
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement