Jump to content
PirateClub.hu

C segédkódok


joey1988
 Share

Recommended Posts

Az egyetemen ennek nagyon nagy hasznát vesszük programozás 1-ből, példa függvények, és használatuk. Sok sikert hozzá! :)

/* Ezt magam segítségére csináltam, de használjátok egészséggel mert
előfordulhatnak ezek és akkor legalább nem kell velük szarakodni, hanem
elég csak kimásolni. SteMa */

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

int i,o;

/* Szokásos getline, amit a lapon csak "szabvánbemenetként" említenek,
de nem tudni miért */
int getline(char s[],int lim)
{
        int c,i;
        for(i=0;i<lim&&(c=getchar())!=EOF&&c!='\n';++i)s[i]=c;
        s[i]='\';
        while(c!=EOF&&c!='\n')c=getchar();
  return(i);
}

/* Visszaadja hány szó van az "s" sztringben, függetlenül attól,
hány szóköz sorváltás vagy tab válaszja el azokat */
int szsz(char s[])
{
  int szavak=0,benn=0;
  for(i=0;i<strlen(s);i++)
  {
    switch(s[i])
    {
      case ' ': case '\n': case '\t': {benn=0; break;}
      default: if(benn==0) {benn=1; szavak++;}
    }
  }
  return szavak;
}

/* Megadsz egy bemenet sztringet "si" és a kimenetbe "so",
az adott sorszámú szót rakja az első stringből. For ciklussal
az szsz-el kombinálva végig lehet haladni a szavakon így. */
void szo(char si[],char so[],int num)
{
  int szavak=0,benn=0,kezd;
  for(i=0;i<strlen(si);i++)
  {
    switch(si[i])
    {
      case ' ': case '\n': case '\t': {benn=0; break;}
      default: if(benn==0) 
      {
        benn=1; 
        szavak++; 
        if(szavak==num) 
        {
          kezd=i;
      do {so[i-kezd]=si[i];i++;} while(si[i]!=' '&&si[i]!='\t'&&si[i]!='\n');
        }
      }
    }
  }
}

/* karakter kisbetüssé alakítása, ékezetes karaktereké is
hogy sztringet alakíts át azon végig kell haladni:
for(i=0;i<strlen(sztring);i++) sztring[i]=lower(sztring[i]) */
int lower(int c)
{
  if(c>='A'&&c<='Z') return(c+('a'-'A')); else
  switch(c)
  {
    case'™':return '”';break;
    case'š':return '�';break;
    case'ŕ':return '˘';break;
    case'Š':return '‹';break;
    case'é':return 'Ł';break;
    case'�':return '‚';break;
    case'µ':return ' ';break;
    case'ë':return 'ű';break;
    case'Ö':return 'ˇ';break;
    default: return(c);
  }
}

/* karakter nagybetüssé alakítása, ékezetes karaktereké is
hogy sztringet alakíts át azon végig kell haladni:
for(i=0;i<strlen(sztring);i++) sztring[i]=upper(sztring[i]) */
int upper(int c)
{
  if(c>='a'&&c<='z') return(c-('a'-'A')); else
  switch(c)
  {
    case'”':return '™';break;
    case'�':return 'š';break;
    case'˘':return 'ŕ';break;
    case'‹':return 'Š';break;
    case'Ł':return 'é';break;
    case'‚':return '�';break;
    case' ':return 'µ';break;
    case'ű':return 'ë';break;
    case'ˇ':return 'Ö';break;
    default: return(c);
  }
}

/* megnézi, hogy "s" sztringben van-e "c" karakter, 1-et ad vissza
ha van, 0-t ha nincs */
int olyan(char c, char s[])
{
  for(i=0;i<strlen(s);i++) if(c==s[i]) return 1;
  return 0;
}

/* egy kis próba a dolgokra */
void main(void)
{
  char str[128],str2[128];
  getline(str,127);
  printf("szavak száma: %d\n",szsz(str));
  szo(str,str2,2);
  for(i=0;i<strlen(str2);i++) str2[i]=upper(str2[i]);
  printf("%s\n",str2);

  /* megnézi, hogy abban, hogy "va.le" van-e pont, naná, hogy 1-el tér vissza */
  printf("%d",olyan('.',"va.le")); 
}

Link to comment
Share on other sites

  • 5 months later...
  • 4 weeks later...
  • 1 year later...
  • 1 year later...
  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Hozzászólás a témához...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Jelenleg olvassa   0 members

    • No registered users viewing this page.
×
×
  • Create New...