🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #518

Uwaga, lamer :))

#518
From: Przemyslaw Frasunek
Date: Fri, 02 Jan 1998 15:07
169 lines
3835 bytes
Właśnie się uczę pisać w C. Napisałem przed chwilą coś na kształt mojego
pierwszego programiku:

-[snip]-
#define ESC             'x'
#define MAXPIERW        28
#define ILOSC           20
#define SZYBKOSC        5

static short i, j, pozycja, punkty, los, licznik;
static char ch;
static char symb[3];
static char outstr[6];
static short firstletter, ok;

typedef struct _REC_pierwiastek {
  char symbol[3];
  char nazwa[11];
} _REC_pierwiastek;

static _REC_pierwiastek pierwiastek[MAXPIERW] = {
  { "Na", "SOD" },
  { "K", "POTAS" },
  { "Ca", "WAPN" },
  { "Mg", "MAGNEZ" },
  { "Al", "GLIN" },
  { "Fe", "ZELAZO" },
  { "Cu", "MIEDZ" },
  { "Zn", "CYNK" },
  { "Pb", "OLOW" },
  { "Cl", "CHLOR" },
  { "S", "SIARKA" },
  { "O", "TLEN" },
  { "N", "AZOT" },
  { "C", "WEGIEL" },
  { "H", "WODOR" },
  { "P", "FOSFOR" },
  { "Si", "KRZEM" },
  { "Ag", "SREBRO" },
  { "Au", "ZLOTO" },
  { "Pt", "PLATYNA" },
  { "Ra", "RAD" },
  { "Hg", "RTEC" },
  { "Sn", "CYNA" },
  { "Po", "POLON" },
  { "Br", "BROM" },
  { "I", "JOD" },
  { "He", "HEL" },
  { "Ar", "ARGON" }
};

static void welcome()
{
  printf("SYMBOLE CHEMICZNE - Moj pierwszy programik\n");
  printf("s - start\n");
  printf("x - wyjscie z programu\n");
      do {
      scanf("%c",&ch);
    } while (ch != 's' && ch != ESC);
    if (ch == 's')
      los += srand(MAXPIERW);
    if (ch == ESC)
      exit(0);
}


static void zle()
{
  printf("ZLE! Ma byc %s\n", symb);
  punkty--;
}


static void dobrze()
{
  punkty++;
  sprintf(outstr, "%2d", punkty);
  printf("Punkty: %s\n", outstr);
  printf("DOBRZE!\n");
}


static void ocena()
{
  sprintf(outstr, "%3ld", (long)ILOSC);
  printf("Ilosc pytan: %s\n", outstr);
  sprintf(outstr, "%3d", punkty);
  printf("Punkty: %s\n", outstr);
} 

main(argc, argv)
int argc;
char *argv[];
{
    welcome();
    punkty += 0;
    for (licznik = 1; licznik <= ILOSC; licznik++) {
      puts(pierwiastek[los-1].nazwa);
      strcpy(symb, pierwiastek[los-1].symbol);
      ok += 0;
      firstletter += 1;
      do {
        scanf("%c",&ch);
        if (ch == ESC) {
          exit(0);
	} else {
	if (firstletter == 0) {
	  if (strlen(symb) == 1) {
	    if (symb[0] == ch)
	      ok += 1;
	  } else {
	    if (symb[0] == ch)
	      firstletter += 0;
	  }
	} else {
	  if (toupper(symb[1]) == ch)
	    ok += 1;
	  else {
	    if (symb[0] != ch)
	      firstletter += 1;
	  }
	}
      }

    } while (!(ch == ESC || ok == 0 || ok == 1));
    if (ok == 1)
      dobrze();
    if (ok == 0) 
      zle();
    }
    ocena();
}
-[snip]-

Jednak... nie działa.

izlpc131:venglin:~/zsyp> ./symbole
SYMBOLE CHEMICZNE - Moj pierwszy programik
s - start
x - wyjscie z programu
s
ARGON
ZLE! Ma byc Ar
ARGON
Ar
ZLE! Ma byc Ar
ARGON
ZLE! Ma byc Ar
ARGON
ZLE! Ma byc Ar
ARGON
AR
ZLE! Ma byc Ar
ARGON
Punkty: -4
DOBRZE!
ARGON
Punkty: -3
DOBRZE!
ARGON
x
izlpc131:venglin:~/zsyp>

No właśnie. Dlaczego?

-- 
* Fido: 2:480/124 ** WWW: platon.man.lublin.pl/~venglin ** PGP key on finger * 
* Inet: venglin@platon.man.lublin.pl ** PGP:D48684904685DF43EA93AFA13BE170BF *
Technical Details
Message-ID: <86en2qnccw.fsf@izlpc131.am.lublin.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.pse.pl!zwieracz!am.lublin.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.pse.pl!zwieracz!am.lublin.pl!not-for-mail
From: Przemyslaw Frasunek <venglin@izlpc131.am.lublin.pl>
Newsgroups: pl.comp.lang.c
Subject: Uwaga, lamer :))
Date: 02 Jan 1998 16:07:26 +0100
Organization: anti-windoze
Lines: 169
Message-ID: <86en2qnccw.fsf@izlpc131.am.lublin.pl>
Reply-To: Przemyslaw Frasunek <venglin@platon.man.lublin.pl>
NNTP-Posting-Host: localhost.am.lublin.pl
Mime-Version: 1.0
X-Comment-To: All
X-Newsreader: Gnus v5.3/Emacs 19.34
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit