Program - język c

Program - język c
P2
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 8 lat
  • Postów:29
0

Witam, mam problem z dokończenie programu ,czy jest ktoś w stanie pomóc i trochę objaśnić ? z góry dzięki za pomoc.

Napisz program wczytujący znaki z klawiatury,po wczytaniu znaku program powinien wygenerować ciąg kropek długości równej wartości kodu ASCII tego znak.

Nie wiem jakie warunki nadać pętli for

Kopiuj
#include<stdio.h>
#include<conio.h>

main()
{
	int i;
	char ch;
	for(i=0;;i++)
        {
	
		printf("Wprowadz znak: ");
		ch=getche();	
		for(;;)
		printf("%c",'.');
	}
	return 0;
}
grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
0
Kopiuj
#include<stdio.h>

int main() {
    char znak;
    scanf("%c",&znak);
    int i;
    for(i=0;i<(int)znak;i++)printf(".");
    return 0;
}

A, no i conio.h zupełnie niepotrzebne.

EDIT: Można i bez konwersji, gdzie wszystkim zajmie się funkcja biblioteczna:

Kopiuj
#include<stdio.h>

int main() {
    int i, ascii;
    ascii=getchar();
    for(i=0;i<ascii;i++)printf(".");
    return 0;
}
edytowany 2x, ostatnio: grzesiek51114
KM
A nie jest tak, że jeśli używasz scanf("%c") zamiast getch z conio.h, to narażasz się na problemy pod postacią że scanf pozostawia newline w buforze wejścia? To oczywiście da się rozwiązać, ale trzeba się nagimnastykować, conio.h tutaj faktycznie może daje wygodę
grzesiek51114
grzesiek51114
No... być może, bo zawsze tego entera trzeba postawić. Wszystko zależy od tego co robisz, bo conio np. jest nieprzenośną biblioteką i do takich programów jak ten w ogóle nie jest potrzebna. Nigdy się nad tym szczególnie nie zastanawiałem.
KM
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 4 lata
  • Postów:473
1

Podpowiedź: char potraktowany jak int ma wartość równą wartości ASCII przechowywanego znaku.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.