Selasa, 02 November 2010

Uppercase Baris



Dengan C++ adalah demikian:


#include<iostream>

using namespace std;

void capsIt(char*); //baris 5

int main(int argc, char *argv[])
{
const int MAXLENGTH = 255;
char line[MAXLENGTH]; //baris 10

cout<<"Line: ";

cin.getline(line, MAXLENGTH, '\n'); //baris 15
capsIt(line);

cout<
return 0; //baris 20
}

void capsIt(char* line)
{
for (int i = 0; line[i] != '\0'; i++) //baris 25
{
if(line[i] >= 97 && line[i] <= 122) //97='a', 122='z'
line[i] = line[i] - 32; //65='A', 97-65=32
}
} //baris 30


Fungsi capsIt menerima input array karakter, dalam hal ini baris yang ingin diubah semua karakter hurufnya menjadi uppercase.
Guard pada loop baris 25 adalah karakter null('\0'). Ingat, string di C/C++ adalah array karakter dengan karakter terakhirnya adalah null('\0').
Kondisi pada baris 27 berguna menyaring karakter-karakter lowercase saja untuk dimanipulasi di baris 28. Karakter-karakter yang sudah uppercase atau karakter lain akan diabaikan.
Di baris 28 nilai desimal karakter dikurangi dengan 32. Ya! Karena karakter sejatinya bertipe integral sehingga bisa dilakukan operasi aritmatika biasa.

Semoga bermanfaat :)

1 komentar:

rimphy mengatakan...

hmm...kenepong neh indentasinya? XD