#include<stdio.h>

/*	Funkcja wczytuje do tablicy 't[]' jedna linie tekstu z klawiatury (ale nie wiecej niz 'n' znakow).
 *	Wartoscia zwracana jest adres do tablizy znakow zawierajacej wczytany tekst (bez konczacego znaku nowej linii).
 *  Na koncu znajduje sie znak '\0'.
 */
char *czytajlinie(char *t,int n)
{
	char *p=t;
	while ((*t=getchar()) !='\n' && *t!=EOF && --n>1) t++;
	*t='\0';
	return p;
}


/* Funkcja oblicza dlugosc napisu 't'.
 * Wartoscia zwracana jest liczba znakow w lancuchu (stringu) 't'
 */
int dlugosc(char *t)
{
	int i=0;
	while (*t++) i++;
	return i;
}


/* Funkcja kopiuje zawartosc tablicy 'co' do tablicy 'gdzie'.
 * Wartoscia zwracana jest adres (wskaznik) do skopiowanej tablicy znakow 'gdzie'.*/
char *kopia(char *co,char *gdzie)
{
	char *u=gdzie;
	while (*gdzie++=*co++);
	return u;
}

/* Funkcja laczy dwa napisy. Napis z tablicy co[] jest dodawany na koncu napisu gdzie[].
 * Wartoscia zwracana jest adres (wskaznik) do tablicy zawierajacej polaczone napisy.*/
char *sklej(char *s1,char *s2)
{
	char *p=s1;
	kopia(s2,s1+dlugosc(s1));
	return p;
}


/* Funkcja zamienia w napisie 's' wszystkie znaki pisane mala litera (a-z) na litery duze (A-Z). 
 * Wartoscia zwracana jest adres (wskaznik) do tablicy zawierajacej zmodyfikowany tekst.*/
char *malenaduze(char *s)
{
	char *p=s;
	while(*s)
   {
      if( *s >= 'a' && *s <= 'z' ) *s-='a'-'A';
      s++;
   }
   return p;
}


/* Funkcja porownuje dwa napisy s1 i s2. 
 * Wartoscia zwracana jest 1 gdy napisy sa identyczne lub 0 gdy napisy sie roznia.  */
int porownaj(char *s1,char *s2)
{
   while(*s1)
   {
      if( *s1 != *s2 ) return 0;
      s1++;
      s2++;
   }
   if(*s2) return 0;
   return 1;
}
