Здесь очень много не так. Вы ссылаетесь на итый элемент массива вне тела цикла, это бессмысленно, ведь индексация i происходит только в цикле, после его окончания i всегда равен конечному значению. Далее Вы делаете проверку условия для элемента массива, когда ещё нет значений этих элементов. Далее Вы вводите в программу элементы массива в цикле по условию, что 1>оценка>6, откуда взялся такой бред я даже представить не могу. Ну и ещё несколько мелких ошибок. Программу надо переделать полностью.
Базовые логические выражения: (and = +) a) not (True) = False b) not (False) = True ------------------------------------ c) True + True = True d) True + False = False e) False + True= False f) False + False = False -------------------------------- g) True or True = True h) True or False = True i) False or True = True j) False or False = False -------------------------------------------- В условии не сказано, кем являются A, B, C по этому озвучим все 8 вариантов:
1) A = True; B = True; C = True
2) A = True; B = False; C = True
3) A = False; B = True; C = True
4) A = False; B = False; C = True
5) A = True; B = True; C = False
6) A = True; B = False; C = False
7) A = False; B = True; C = False
8) A = False; B = False; C = False
-------------------------------------------- и рассмотрим все 8 вариантов: (T = True; F = False)
#include <cstring>
using namespace std;
int main(){
//
char S[256];
cin >> S;
int i,n;
n=strlen(S);
for(i=0;i<=n;i++){
if (isupper(S[i])==true){
S[i]=tolower(S[i]);
}else{
S[i]=toupper(S[i]);
}
}
cout << S;
//
return 0;
}