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

Zamiana malych liter na duze - Funkcja c++

42 Warsaw Coding Academy
0 głosów
12,907 wizyt
pytanie zadane 25 października 2016 w C i C++ przez mistrzuniu1 Użytkownik (600 p.)

Moim zadaniem jest wczytanie stringa i zamiana w nim małych liter na duze. Jestem na etapie gdzie do funkcji wczytuje się string i "w srodku funkcji" wszystko działa poprawnie, problem jest jedynie w zamianie zmiennej "ze srodka funkcji" na ta, ktora wpisywalem z klawiatury.

#include <iostream>

using namespace std;
void zmiana(string ciag)
{ int i=0;

    while(ciag[i]!=0)
    {
       if (ciag[i]>96 && ciag[i]<122)
       {
           ciag[i]=(ciag[i]-32);
       }
       i++;
    }
cout<<ciag<<endl;
}

int main()
{
    string znaki;
    cin>>znaki;
    zmiana(znaki);
    cout<<znaki;

    return 0;
}

Jak zrobić, by "ciag" stal się "znaki"?

komentarz 25 października 2016 przez unknown Nałogowiec (39,560 p.)
Dlaczego nie użyjesz funkcji transform?
komentarz 25 października 2016 przez mistrzuniu1 Użytkownik (600 p.)
Uczę się programować, więc robię sobie funkcję "ręcznie" ;)

1 odpowiedź

+1 głos
odpowiedź 25 października 2016 przez niezalogowany
wybrane 25 października 2016 przez mistrzuniu1
 
Najlepsza

Nie wiem czy dobrze zrozumiałem, chcesz przypisać zmienna ciąg do zmiennej znaki, tak?

1. Przekaż stringa przez referencję:

void zmiana(string & ciag)
{ int i=0;
 
    while(ciag[i]!=0)
    {
       if (ciag[i]>96 && ciag[i]<122)
       {
           ciag[i]=(ciag[i]-32);
       }
       i++;
    }
cout<<ciag<<endl;
}

2. Zmień funkcję tak, że będzie zwracała zmienną ciąg i przypisz do zmiennej znaki:

#include <iostream>
 
using namespace std;
string zmiana(string ciag)
{ int i=0;
 
    while(ciag[i]!=0)
    {
       if (ciag[i]>96 && ciag[i]<122)
       {
           ciag[i]=(ciag[i]-32);
       }
       i++;
    }
cout<<ciag<<endl;
return ciag;
}
 
int main()
{
    string znaki;
    cin>>znaki;
    znaki = zmiana(znaki);
    cout<<znaki;
 
    return 0;
}

Mam nadzieję, że pomogłem :D

komentarz 25 października 2016 przez mistrzuniu1 Użytkownik (600 p.)
Super! Dziękuje bardzo.

Podobne pytania

0 głosów
1 odpowiedź 1,338 wizyt
pytanie zadane 6 stycznia 2020 w C i C++ przez sokoll22 Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 3,469 wizyt
pytanie zadane 28 marca 2020 w C i C++ przez Eriss69 Gaduła (4,470 p.)
0 głosów
2 odpowiedzi 623 wizyt
pytanie zadane 10 marca 2018 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)

93,382 zapytań

142,381 odpowiedzi

322,539 komentarzy

62,738 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...