#include <stdio.h>
int my_strlen(char* str) {
int i = 0;
while (str[i] != 0) {
++i;
}
return i;
}
char* my_strcpy(char* dest, char* src) {
int i = 0;
while (src[i] != 0) {
dest[i] = src[i];
}
dest[i] = src[i];
return dest;
}
int my_strcmp(char* str1, char* str2) {
int i = 0;
while (1) {
if (str1[i] != str2[i]) {
return str1[i] < str2[i] ? -1 : 1;
}
if (str1[i] = 0) {
return 0;
}
}
}
char* my_strcat(char* str1, char* str2) {
int i1 = 0;
int i2 = 0;
while (str1[i1] != 0) {
++i1;
}
while (str2[i2] != 0) {
str1[i1] = str2[i2];
++i1;
++i2;
}
str1[i1] = str2[i2];
return str1;
}
char* my_strncat(char* str1, char* str2, int n) {
int i1 = 0;
int i2 = 0;
while (str1[i1] != 0) {
++i1;
}
for (; i2 < n; ++i2, ++i1) {
str1[i1] = str2[i2];
}
str1[i1] = str2[i2];
return str1;
}
void son() {
printf("Islem sonlanmistir.\n");
}
void bir(char* str1, char* str2) {
printf("1. dizide %d tane harf var.\n2. dizide %d tane harf var.\n", my_strlen(str1), my_strlen(str2));
}
void iki(char* str1, char* str2) {
my_strcpy(str1, str2);
printf("1. dizi = %s\n", str1);
}
void uc(char* str1, char* str2) {
int result = my_strcmp(str1, str2);
if (result == 0) {
printf("Islem sonucu %d diziler esittir.\n", result);
}
else {
printf("Islem sonucu %d diziler farklidir.\n", result);
}
}
void dort(char* str1, char* str2) {
my_strcat(str1, str2);
printf("1. Dizi = %s\n", str1);
}
void bes(char* str1, char* str2) {
int n = 0;
printf("1. Dizinin kac harfi s2 Dizisine eklensin.\n 5 harfi gecemez.\n");
scanf("%d", &n);
my_strncat(str1, str2, n);
printf("2. Dizi = %s\n", str2);
}
int secFonk() {
int sec = 0;
printf("1-Dizilerin kac harften olustugunu gosterir.\n");
printf("2-s2 dizisini s1 dizisine kopyalar.\n");
printf("3-s1 dizisi ile s2 dizisini karsilastirir.\n");
printf("4-s2 dizisini s1 dizininin sonuna ekler.\n");
printf("5-s1 dizisini 5 harften fazla olmayacak sekilde s2 dizisine ekler.\n");
printf("istediginiz islemi seciniz.\n");
scanf("%d", &sec);
return sec;
}
int flagFonk() {
int flag = 0;
printf("Baska islem yapmak istiyormusunuz.\nEvet = 1 Hayir = 2\n");
scanf("%d", &flag);
return flag;
}
int main() {
char s1[] = "anime";
char s2[] = "kitap";
int sec = 0;
int k = 0;
int p = 0;
volatile int flag = 1;
while (flag) {
sec = secFonk();
switch (sec) {
case 1: bir(s1, s2); break;
case 2: iki(s1, s2); break;
case 3: uc(s1, s2); break;
case 4: dort(s1, s2); break;
case 5: bes(s1, s2); break;
default: printf("Hatali tuslama yaptiniz.\n"); break;
}
flag = flagFonk();
}
return 0;
}