• 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++

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
12,931 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,356 wizyt
pytanie zadane 6 stycznia 2020 w C i C++ przez sokoll22 Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 3,576 wizyt
pytanie zadane 28 marca 2020 w C i C++ przez Eriss69 Gaduła (4,470 p.)
0 głosów
2 odpowiedzi 633 wizyt
pytanie zadane 10 marca 2018 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)

93,440 zapytań

142,431 odpowiedzi

322,679 komentarzy

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

...