Assalamu’alaikum, kali ini saya akan membahas tentang string. Suatu karakter string adalah terdiri dari beberapa karakter (deretan karakter) yang diakhiri dengan karakter khusus ‘\0’ (null). Suatu konstanta string adalah karakter string yang dituliskan diantara tanda petik ganda (“). Seperti yang digunakan pada fungsi printf() atau puts(). Konstanta karakter string mempunyai kelas penyimpanan static, sehingga bila digunakan di dalam fungsi maka nilainya tidak akan berubah selama program aktif.

Berikut beberapa program yang menggunakan string :
1. Program untuk menyisipkan satu karakter string ke dalam string lainnya.

#include<stdio.h>
#include<string.h>
char str1[100],teks[100],hasil[100];
//fungsi sisipan//
char sisip(char teks[], char str1[], int a)
{ strncpy(hasil,teks,a);
strncat(hasil+a,str1,strlen(str1)-1);
strcat(hasil+a+strlen(str1)-1,teks+a);
}

main()
{int a;
puts(“Masukan sebuah tulisan”);
fgets(teks, sizeof teks, stdin);
puts(“Tambahkan karakter yang akan disisipi”);
fgets(str1,sizeof str1, stdin);
puts(“Disisipi di huruf berapa??”);
scanf(“%d”,&a);
sisip(teks,str1,a);
puts(hasil);
getch();}

Hasil :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

2. Program untuk menentukan suatu kata/ kalimat merupakan suatu polindrom atau tidak

#include<stdio.h>
#include<string.h>
char klmt1[100],klmt2[100];
main()
{
puts(“Masukan kalimat “); fgets(klmt1,sizeof klmt1,stdin);
//spasi(klmt1);
strcpy(klmt2,klmt1);
strrev(klmt2);
if(strcmp(klmt1,klmt2)==0)
puts(“Kalimat POLINDROM”);
else puts(“bukan Kalimat POLINDROM”);
getchar();
}
spasi(char klmt1[])
{ int b = strlen(klmt1) -1;
if (klmt1[b] == ‘\n’)
{klmt1[b] = ‘\0’;}
return(klmt1);
}

Hasil :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

3. Program untuk menghitung jumlah huruf kecil, huruf besar, numerik, dan tanda baca.

#include<stdio.h>
#include<string.h>
int kcl,bsr,angka,tdbc,hitung;
int cek(char klmt[])
{kcl=bsr=angka=tdbc=hitung=0;
for(hitung;klmt[hitung];hitung++)
{
if(klmt[hitung]>=’a’&&klmt[hitung]<=’z’)
kcl++;
else if (klmt[hitung]>=’A’&&klmt[hitung]<=’Z’)
bsr++;
else if (klmt[hitung]>=’0’&&klmt[hitung]<=’9′)
angka++;
else tdbc++;
}
}
char spasi(char a[])
{ int b = strlen(a) -1;
if (a[b] == ‘\n’)
{a[b] = ‘\0’;}
return(a);
}
main()
{char klmt[100];
puts(“Penyortiran huruf\nMasukan kalimat”);
fgets(klmt,sizeof klmt,stdin);
spasi(klmt);
cek(klmt);
printf(“Huruf besar = %d\nHuruf kecil = %d\nangka= %d\ntanda baca= %d”,bsr,kcl,angka,tdbc);
getchar();}

Hasil :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

4. Program mencetak seperti gambar hasil

#include<stdio.h>
#include<string.h>
#include<windows.h>
char klmt[200];
main()
{

int a,b,x,y=1 ;
printf(“Masukan kalimat \n”);
fgets(klmt,sizeof klmt, stdin);
spasi(klmt);
for(b=0;b<=strlen(klmt);b++)
{x=strlen(klmt)-a;y++;
for(a=0;a<b;a++)
{gotoxy(x,y);
printf(“%c”,klmt[a]);
x++;}
}getchar();
}
spasi(char klmt[])
{ int z = strlen(klmt) -1;
if (klmt[z] == ‘\n’)
{klmt[z] = ‘\0’;}
return(klmt);
}
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

Hasil :

  • Facebook
  • Twitter
  • Google+
  • Pinterest