Problem #1: Double increment
Let's consider your loop:
do
{
{
if (str1[i] > 64 && str1[i] < 91)
str1[i] = str1[i] + 32;
i++; // i is incremented here first
}
{
if (str2[i] > 97 && str2[i] < 122)
str2[i] = str2[i] - 32;
i++; // i is incremented here second
}
} while (str1[i] != '\0');
If you pay close attention, you can see that in a single loop iteration, you increment the loop variable i twice. This makes your function skip every even index (2, 4, 6, ...) in the lower case transformation and every odd index (1, 3, 5, ...) in the upper case transformation. Keep in mind that indexing is 0 based.
Problem #2: Lower case 'a' and 'z' not transformed
You are not transforming lower case 'a' (97) and lower case 'z' (122) to their upper case version due to your condition, as it only converts characters between 'a' and 'z', but not the 'a' and 'z' that form the boundaries (greater and lesser conditions):
if (str2[i] > 97 && str2[i] < 122)
Problem #3: Don't assume both inputs to be the same length
Your code assumes that the tho input strings str1 and str2 are of the same length. This could lead to an erroneous behaviour.
Suggestion #1: Keep your code readable
I'd highly recommend keeping your code readable. Do not use character codes, that means nothing, instead use the characters themselves. So instead of 97, use 'a', instead of 122 use 'z', etc.
Suggestion #2: Keep your includes minimalist
Do not add #includes that you do not need (<conio.h> is not used).
A proposed improvement
Fixing the problems above and applying my suggestions, your code would look something like this:
#include <stdio.h>
int main()
{
char str1[30];
char str2[30];
printf("Enter the upper case string: ");
scanf(" %[^\n]", str1);
printf("Enter the lower case string: ");
scanf(" %[^\n]", str2);
char toLowerOffset = 'a' - 'A';
char toUpperOffset = 'A' - 'a';
for (int i = 0; str1[i] != '\0'; i++)
{
if (str1[i] >= 'A' && str1[i] <= 'Z')
str1[i] += toLowerOffset;
}
for (int i = 0; str2[i] != '\0'; i++)
{
if (str2[i] >= 'a' && str2[i] <= 'z')
str2[i] += toUpperOffset;
}
printf("Upper case string converted to lower case: %s\n", str1);
printf("Lowser case string converted to uper case: %s\n", str2);
return 0;
}