• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed cpp zmiana z duzych liter na malych

Object Storage Arubacloud
0 głosów
2,252 wizyt
pytanie zadane 28 marca 2020 w C i C++ przez Eriss69 Gaduła (4,470 p.)
zamknięte 26 kwietnia 2020 przez Eriss69

 

mam kod i nie wiem co dalej z nim zrobic :/ Mam zmienic z duzych liter na małe, uzyc "tolower" ?

#include <iostream>
#include <string>
using namespace std;
char word;
string toLower(const string& str)
{
	for (int i = 0; i < word.Length() + 1; i++)
	{
		
	}
	//tutaj kod
}
int main()
{
	string word;
	cout << "Podaj słowo: ";
	cin >> word;
	cout << toLower(word) << endl;
	return 0;
}

 

komentarz zamknięcia: Uzyskałem odpowiedz

3 odpowiedzi

0 głosów
odpowiedź 28 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)

wynajdujesz kolo ood nowa, jesli chcesz to zrobic z caly stringiem to zrob to przy pomocy

http://www.cplusplus.com/reference/cctype/tolower/

std::cout << "Podaj slowo: ";
    std::string slowo;
    std::cin >> slowo;

    for (int i = 0; i < slowo.size(); i++) {
        slowo[i] = tolower(slowo[i]);
    }
    std::cout << slowo;

oczywiscie mozesz ja napisac sam, wtedy konwertujesz sobie kazdy znak na int patrzysz jaka jest roznica miedzy malym "a", a duzym. Dodajesz ta roznice do kazdego znaku i zamieniasz spowrotem na char

0 głosów
odpowiedź 28 marca 2020 przez SimiVoid Pasjonat (19,790 p.)

Są na to dwie metody. Albo wykożystujesz algorytm std::transform z biblioteki algorithm:

std::transform(str.begin(), str.end(), str.begin(), ::tolower);

Druga metoda to sprawdzenie czy dany znak jest dużą literą jak tak o zwiększenie wartości kodu ascii o 32

komentarz 28 marca 2020 przez Eriss69 Gaduła (4,470 p.)
#include <iostream>
#include <string>
using namespace std;
char word;
string toLower(const string& str)
{
    while (word != '.')
    {
        if (word > 95)
        {
            cout << (word + 32);

        }
    }
}
int main()
{
    string word;
    cout << "Podaj słowo: ";
    cin >> word;
    cout << toLower(word) << endl;
    return 0;
}

Tylko tolower musi zwracac wartosc? nie wiem co teraz

0 głosów
odpowiedź 28 marca 2020 przez Eriss69 Gaduła (4,470 p.)
#include <iostream>
#include <stdio.h>
#include <ctype.h>
using namespace std;
string toLower(const std::string& str)
{
    char word;
    int i = 0;
    while (str[i])
    {
        word = str[i];
        putchar(tolower(word));
        i++;
    }

}
int main()
{

    string word;
    cout << "Podaj słowo: ";
    cin >> word;
    cout << toLower(word) << endl;
  
    return 0;
}

I tolower musi zwraacac wartosc o co chodzi?

komentarz 28 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)
popatrz na moj komentarz i masz gotowa odp
komentarz 28 marca 2020 przez Eriss69 Gaduła (4,470 p.)

spoko spoko tylko toLower musi zwracac wartosc :P 



Zmienia wszystkie litery na małe
potem odpal je w mainie
z danymi od użytkownika

no tak, załóżmy, że masz funkcję:
// Zamienia wszystkie litery na małe
std::string toLower(const std::string& str)
{
    // tutaj kod
}

int main()
{
    std::string word;

    std::cout << "Podaj slowo: ";
    std::cin >> word;

    std::cout << toLower(word) << std::endl;

    return 0;
}

budowa programu a popatrz na to co napisales :p

komentarz 28 marca 2020 przez DragonCoder Nałogowiec (36,500 p.)

1. nikt nie mowil, ze Twjoa funkcja ma byc uzyta, przez co napisales, ze wynalezienie kola na nowo, nie ma sensu

2. wystarczy przekopiowac moja petle i po sprawie:

std::string toLower(const std::string& str)
{
for (int i = 0; i < str.size(); i++) {
    str[i] = tolower(str[i]);
    }
  return str;
}
 
3. Skor onauczyciel, czy wykladowca oczekuje takiej formy programu, to oczekuje rowniez wlasnej implementacji opierajacej sie na ASCII, a nie na gotowej funkcji. Tak samo napisalem jak to sie odbywa i kolega wyzej rowniez

Podobne pytania

0 głosów
1 odpowiedź 1,032 wizyt
pytanie zadane 6 stycznia 2020 w C i C++ przez sokoll22 Nowicjusz (150 p.)
+1 głos
6 odpowiedzi 833 wizyt
pytanie zadane 1 stycznia 2016 w C i C++ przez robert9620 Stary wyjadacz (11,640 p.)
0 głosów
1 odpowiedź 12,315 wizyt
pytanie zadane 25 października 2016 w C i C++ przez mistrzuniu1 Użytkownik (600 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...