ok ... ho dato una lettura veloce al codice

il problema è che tu fai un poco di confusione con gli array, per l'appunto

gli array sono degli insieme di elementi, ovvero, in questo caso, s corrisponde ad un'insieme di caratteri

ora, a parte che sbagli a passare il tipo alle funzioni, queste possono lavorare soltanto con un singolo carattere per volta non con l'intero array

---

per rendere TUTTO maiuscolo il testo tu devi passare l'intero vettore e specificare nella funzione che ricevi in entrata l'intero vettore/array

quindi

char[] maiuscolo (char[] testo)

in questo modo dichiari che in entrata ricevi un dato e che in uscita ne ricevi un'altro ... ovvero un vettore di caratteri in entrata ed un vettore di caratteri in uscita

dopo di che devi ciclare l'intero vettore tramite un for e applicare la toupper (o tolower) a ogni singolo elemento

ovvero, mettendo che i sia il counter del for
testo[i] = toupper(testo[i]);

e poi alla fine del for

return testo;

in questo modo la funzine ritorna il testo modificato che tu devi acquisire e stampare a video

quindi
char minuscole (char s);
(che era errato in tutto e per tutto)

diventa

s = minuscole(s);

in questo modo la varaibile
s

conterrà il testo in minuscolo

stessa operazione per l'altra funzione e hai finito