Witam.
Mam takie pytanko.
W jaki sposób przerobić poniższy kod?
Użytkownik gdy wpisze jedno słowo, to litery zamieniają się z małych na duże a duże na małe.
Ale jak użytkownik wpisze kilka słów ze spacjami, to ostatnia litera każdego słowa dubluje się i zastępuje spację.
Wie ktoś jak temu zapobiec?
A oto kod mojego programu z getchar():
//biblioteki(dyrektywy):
#include<cmath>
#include<conio.h>//pozwala wywołać funkcję getch();
#include<cstdio>
#include<cstdlib>//pozwala wywołać system("pause");
#include<fstream>
#include<iostream>//pozwala pisać za pomocą cout<<"";//obsługa strumieni I/O
#include<iomanip>
#include<locale>
#include<math.h>
#include<sstream>
#include<stdio.h>//standardowa obsługa wejscia/wyjscia
#include<stdlib.h>
#include<string>
#include<time.h>
#include<windows.h>
#include<cwctype>
#include<cwchar>
#include<clocale>
using namespace std;
int main(){
static int i;
int a;
char tablica[a];
i=0;
cout<<"Podaj imie: ";
for(a=0; ; a++){
tablica[a]=getchar();
i++;
if(tablica[a]=='\n'){
break;
}
}
for(a=0; a<i-1 ; ++a){
int b;
if(tablica[a]>64 && tablica[a]<91){
tablica[b]=tablica[a]+32;
}
else if(tablica[a]>96 && tablica[a]<123){
tablica[b]=tablica[a]-32;
}
cout<<tablica[b];
}
system("PAUSE");
return 0;
}
Nie wiem czy dobrze wytłumaczyłem o co mi chodzi, ale jeśli będzie trzeba to później przetłumacze jakoś.
Gdzieś coś mi świta że trzeba by zastosować metody length czy coś podobnego ale nie jestem pewien.
P.S. słyszałem, że jest funkcja zamiany małych liter na duże i na odwrót, ale chciałem samemu to zrobić, więc proszę o nie pisanie, że przecież jest taka i taka funkcja od tego...