jestem januszem w tej sprawie więc prosze bez hejtu :C pisze prosty kod ktory sprawdza czy podany znak to litera i zmienia wielkosc litery pisane w C z uzyciem ASCII i problem polega na tym ze nie wazny jaki znak jest podawany wyskakuje ostatni "else", pomozecie?
@exaylel to sie w ogóle kompiluje? W pojedynczych apostrofach powinien byc jeden znak, jesli juz np 'c'. W podwójnym apostrofie("tu") sa ciagi znaków. Twoj if powinien porównywać zmienną znak, zamien '%d' na "znak" bez cudzysłowia. Prawidłowy tag, na przyszłość to jezykc ;)
@exaylel ciekawe, co sobie z tym robi kompilator. Jak odpoczne to az sobie sprawdze ;) stawiam ze rzutuje to na ciag znakow hmm...niemniej, powodzenia. Ps "A" to ciag znaków ;) 'A' to znak ¯_(ツ)_/¯
@Oo-oO: @OlekAleksander: Dobra chlopaki udało mi się mieliście rację z tym '%d' -> znak. Teraz wszystko dziala poprawnie. Dziękuję za pomoc ;) sprawny kod mi poszedl tak: #include #include
int main() {
char znak; printf("Podaj litere: "); scanf("%c", &znak); printf("wartosc znaku w ASCII wynosi %d: \n" ,znak);
if(znak >= 65 && znak <= 90) { printf("Wartosc nowego znaku w ASCII %d" ,znak+32 ); printf("\nNowy znak: %c " ,znak+32 ); }
@QBA__: Ja to wiem, ale jednak na studiach pewnie czlowiek z ktorym mam zajecia chce zeby to rozwiazac bez wykorzystania funkcji ( ͡°ʖ̯͡°) A przy okazji sie ucze składni siedząc na tym i myslac co #!$%@?łem xD
Nie pozdrawiam bezmózgów którzy osobie z ukraińskimi blachami wybazgrali samochód i przebili opony na jednym z podkrakowskich Taurusow, można nie lubić Ukraińców ale trzeba na prawdę mieć gówno zamiast mózgu by robić takie rzeczy losowej osobie której się nawet nie zna
pisze prosty kod ktory sprawdza czy podany znak to litera i zmienia wielkosc litery
pisane w C z uzyciem ASCII i problem polega na tym ze nie wazny jaki znak jest podawany wyskakuje ostatni "else", pomozecie?
#include
#include
int main()
{
char znak;
printf("Podaj litere: ");
scanf("%c", &znak);
printf("wartosc znaku w ASCII wynosi %d: \n" ,znak);
if('%d' >= 65 && '%d' <= 90)
{
printf("Wartosc nowego znaku w ASCII %d" ,znak-32 );
printf("\nNowy znak: %c " ,znak-32 );
}
else if('%d' >= 97 && '%d' <= 122)
{
printf("Wartosc nowego znaku w ASCII %d" ,znak+32 );
printf("\nNowy znak: %c " ,znak+32 );
}
else
{
printf("Podany znak nie jest litera!");
}
return 0;
}
#programowanie #c
@exaylel: Nie chciales tu czegos innego porownac ?
Komentarz usunięty przez autora
Olek sugerował raczej coś takiego XD
if (znak >= 65 ...)
mieliście rację z tym '%d' -> znak. Teraz wszystko dziala poprawnie. Dziękuję za pomoc ;)
sprawny kod mi poszedl tak:
#include
#include
int main()
{
char znak;
printf("Podaj litere: ");
scanf("%c", &znak);
printf("wartosc znaku w ASCII wynosi %d: \n" ,znak);
if(znak >= 65 && znak <= 90)
{
printf("Wartosc nowego znaku w ASCII %d" ,znak+32 );
printf("\nNowy znak: %c " ,znak+32 );
}
https://linux.die.net/man/3/isascii
A przy okazji sie ucze składni siedząc na tym i myslac co #!$%@?łem xD
PS. nie pisz programów po polsku(w sensie nazw zmiennych i funkcji)