Sternchenprogramm in Ansi C



  • HI, könntest du deinen ganzen code veröffentlichen?
    Würde gern sehen wie es aussieht.
    Danke.



  • #include <conio.h>
    #include <stdio.h>
    
    void main (void)
    {
    int posx,posy,stern,star; posy=10; posx=10; stern=220; star=75; clrscr();
    
    textbackground(RED);
    clrscr();
    
    window(3,2,23,70);
    textbackground(9);
    textcolor(4);
    clrscr();
    
    printf("  Das Programm hier bringt nichts! Mit + und - kannst du den Asciicode „ndern!");
    
    do{
    
    	star=getch();
    	if (star==43){stern++;}
    	if (star==45){stern--;}
    	gotoxy(77,23);
    	printf("%i",stern);
    
    	if (star==75){
    	//clrscr();
    	posx--;
    	gotoxy(posx,posy);
    	if (posx<1){posx=80;}
    	printf("%c",stern);}
    
    	if (star==80){
    	//clrscr();
    	posy++;
    	gotoxy(posx,posy);
    	if (posy>25){posy=1;}
    	printf("%c",stern);}
    
    	if (star==77){
    	//clrscr();
    	posx++;
    	gotoxy(posx,posy);
    	if (posx>80){posx=1;}
    	printf("%c",stern);}
    
    	if (star==72){
    	//clrscr();
    	posy--;
    	gotoxy(posx,posy);
    	if (posy<3){posy=25;}
    	printf("%c",stern);}}
    
    	while(star<20000);
    	getch();}
    


  • c.rackwitz schrieb:

    kleine hilfe fuer den anfang (aber wirklich nur fuer den anfang):
    schreib es doch so, dann bekommst du gleich fehlermeldungen, wenn das "==" falsch ist:

    if (75 == star)
    

    Davon rate ich ab, weil es nicht das ist was der Programmierer
    eigentlich sagen will. Wr will nicht wissen ob 75 den Wert
    von star hat sondern ob star den Wert von 75 hat. Es ist immer
    nervig sich in diese Logik einzudenken wenn man den Programmfluß
    verstehen will/muss und einen Zuweisungsfehler meckert jeder
    Compiler sowieso gleich als warning an. Sonst lässt man lint darüber
    laufen und der merkt das sofort.



  • > Davon rate ich ab,
    ich auch

    > einen Zuweisungsfehler meckert jeder Compiler sowieso gleich als warning an
    echt? zuweisungen sind doch nichts boeses, wenn man sie in bedingungen verwendet. ich weiss ja nicht, welchen compiler du bevorzugst, wuerde mich aber interessieren.



  • das ist doch ein windows-rogramm?



  • was willst du damit sagen, maximo?



  • Der GCC (Version ab 3.irgendwas schätze ich) sagt bei ner Zuweisung im if "Warning: Suggest using parentheses around assignment in condition"



  • Kann mir einer die einzelnen funktionen erklären?(z.B. dass das programm erkennt, dass die pfeiltaste gedrückt wird...)



  • schau mal in die FAQ - die Steuertasten werden als zwei ASCII-Zeichen dargestellt und z.B. die nach-links Taste entspricht 0/75, kann also durch die Abfrage "if(star==75)..." abgefangen werden (das 0 wird ignoriert).



  • c.rackwitz schrieb:

    > Davon rate ich ab,
    ich auch

    > einen Zuweisungsfehler meckert jeder Compiler sowieso gleich als warning an
    echt? zuweisungen sind doch nichts boeses, wenn man sie in bedingungen verwendet. ich weiss ja nicht, welchen compiler du bevorzugst, wuerde mich aber interessieren.

    Nein, so meinte ich das nicht. Ich meinte, das Visual C++ einen Warning
    wirft wenn es auf eine vermutlich falsche Zuweisung stößt "if (var=2)"
    und dies bei sinnvollen Zuweisungen "if ((p_file=fopen ("a", "br")) == NULL)"
    nicht tut.


Anmelden zum Antworten