Kod ascii

0

Jak zrobic zeby ten program dzialał az do momentu
wprowadzenia znaku # (dla niego równiez ma byc wyswietlony odpowiedni
kod, a nastepnie program ma zostac zakonczony). Mam tylko tak:

#include <ctype.h>


int main()
{
   int kod_ascii;
   printf("Podaj znak lub liczbe");
   kod_ascii = getchar();
   printf("Kod ASCII: %d",kod_ascii);
   
   return 0;
}   ```
1
#include <iostream>
#include <ctype.h>

int main()
{
    int kod_ascii;
    while(1){  
    printf("Podaj znak lub liczbe");
    kod_ascii = getchar();
    printf("Kod ASCII: %d",kod_ascii);
    if(kod_ascii == 35)
        break;
    }
}
0

użyj pętli, wykouj ją aż do momentu gdy nie zostanie podany '#'

0
Dziduszka napisał(a):
#include <iostream>
#include <ctype.h>

int main()
{
    int kod_ascii;
    while(1){  
    printf("Podaj znak lub liczbe");
    kod_ascii = getchar();
    printf("Kod ASCII: %d",kod_ascii);
    if(kod_ascii == 35)
        break;
    }
}

a czemu on mi wypisuje 2 razy pod rząd ten kod ascii i za akzdym razem ten kod jest rozny)

0

Bo wczytuje Ci również znak przejścia do nowej linii (znak 10 w ASCII). Możesz go wykluczyć prostym warunkiem if(kod_ascii != 10)

0

Poszukaj w google "Język ANSI C. Programowanie. Wydanie drugie". Jest po polsku i po angielsku, jak wolisz. Tam jest odpowiedź na to czego szukasz i opisane jak budować takie pętle jak niżej.

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

int main()
{
    int c;
    
    do {  
        printf("%c ", c);
    } while ((c = getchar()) != EOF && c != '#');
    
    printf("Kod ASCII: %d %c \n", c, c);
    
    return 0;
}

Kompilacja i uruchomienie cc main.c && ./a.out albo gcc main.c && ./a.out

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