Zamiana liter duże- małe

0

Hej, mam takie zadanie:

Zapisz funkcję zamieniającą wielkość znaków, która posiada dwa parametry: tablicę znaków typu char[] oraz liczbę całkowitą.
Funkcja ma za zadanie zamienić tylko litery (pozostałe znaki bez zmian) w buforze tekstowym (to tablica, więc można edytować elementy z parametru) wg schematu:
• jeśli liczba całkowita będzie równa zero, to wszystkie litery mają być duże,
• jeśli liczba całkowita będzie równa jeden, to wszystkie litery mają być małe,
• jeśli liczba całkowita będzie równa dwa, to wszystkie litery mają być odwrotnie niż w oryginalnym tekście (tj. zamienić małe na duże, a duże na małe),
• w pozostałych przypadkach, tekst bez zmian,
W głównym kodzie wczytaj do bufora tekstowego zdanie zawierające kilka wyrazów oraz wartość liczby całkowitej.
Wywołaj funkcję rozbijającą, jako jej parametry wstawiając bufor tekstowy oraz zmienną liczbową.
Wyświetl na ekranie bufor tekstowy, aby zobaczyć, czy udało się zmodyfikować tekst.

Chodzi o to, żeby nie używać funkcji tolower / toupper, tylko jakoś inaczej w związku z kodami ascii. Mam tylko tyle, nie wiem co zrobić dalej, pomógłby ktoś?

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

void change(char tab[], int x)
{
    if(x == 0)
    {
        
    }
}

void Zadanie3()
{
    char text[50];
    int a;
    printf("Podaj zdanie:\n");
    gets(text);
    printf("Podaj liczbe calkowita:\n");
    scanf("%d", &a);
    change(text, a);
    puts(text);
}

int main()
{
printf("Zadanie 3:\n");
Zadanie3();

return 0;
}


2

oho święta się zbliżają i kolosy czytaj ręka w nocniku.
generalnie te pytania padły juz, proszę np na stackoverflow
przykład(w dalszych postach rozwiązania)
https://stackoverflow.com/questions/2661766/how-do-i-lowercase-a-string-in-c

2

To powinno wystarczyć.

https://www.asciitable.com/

5
Pysa6 napisał(a):

Chodzi o to, żeby nie używać funkcji tolower / toupper, tylko jakoś inaczej w związku z kodami ascii. Mam tylko tyle, nie wiem co zrobić dalej, pomógłby ktoś?

Wiesz jak to robią prawdziwe trole programowania? Wchodzą w internet i kopiują kod funkcji tolower i toupper XD

XD

2

Czy aktualnie treści większości takich zadań nie można wrzucić po prostu w chatGPT? Nawet wytłumaczy co i jak

1

Proste zadanie na pojmowanie działania instrukcji if ... brak słów ...

#include <stdio.h>
#include <ctype.h>

void change(char tab[], int x)
{
    for(int i=0;tab[i];++i) if(islower(tab[i])&&x!=1) tab[i]=toupper(tab[i]); else if(isupper(tab[i])&&x!=0) tab[i]=tolower(tab[i]);
}

int main()
{
  char testD[]="0 male DUZE rOzNe !@#$%%^&*()_-+=";
  char testM[]="1 male DUZE rOzNe !@#$%%^&*()_-+=";
  char testC[]="2 male DUZE rOzNe !@#$%%^&*()_-+=";
  change(testD,0);
  change(testM,1);
  change(testC,2);
  printf("D: %s\n",testD);
  printf("M: %s\n",testM);
  printf("C: %s\n",testC);
  return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1