This is an old revision of the document!


Program za prebacivanje teksta iz cirilice u latinicu.

Kao argument se zadaje ime fajla i ime novog fajla(opciono).Program kreira novi fajl sa sa izmenjenim tekstom.

ciril-latin.c
#include <stdio.h>
#include <stdlib.h>
 
void izlaz(char *s,char *u){
	int i=0;
	while(u[i]!='\0' && u[i]!='.') s[i]=u[i++];
	s[i]='1';
	while(u[i]!='\0') s[i+1]=u[i++];
	s[i+1]='\0';
	printf("\nIzlazni fajl: %s\n",s);
}
 
void slovo(int c1,int c2,FILE *g){
	if(c1==-48){
		switch(c2){
			case -80: fprintf(g,"a"); break;
			case -79: fprintf(g,"b"); break;
			case -78: fprintf(g,"v"); break;
			case -77: fprintf(g,"g"); break;
			case -76: fprintf(g,"d"); break;
			case -75: fprintf(g,"e"); break;
			case -74: fprintf(g,"%c%c",-59,-66); break; //z^
			case -73: fprintf(g,"z"); break;
			case -72: fprintf(g,"i"); break;
			case -70: fprintf(g,"k"); break;
			case -69: fprintf(g,"l"); break;
			case -68: fprintf(g,"m"); break;
			case -67: fprintf(g,"n"); break;
			case -66: fprintf(g,"o"); break;
			case -65: fprintf(g,"p"); break;
			//VELIKA
			case -112: fprintf(g,"A"); break;
			case -111: fprintf(g,"B"); break;
			case -110: fprintf(g,"V"); break;
			case -109: fprintf(g,"G"); break;
			case -108: fprintf(g,"D"); break;
			case -126: fprintf(g,"%c%c",-60,-112); break; //Dj
			case -107: fprintf(g,"E"); break;
			case -106: fprintf(g,"%c%c",-59,-67); break; //Z^
			case -105: fprintf(g,"Z"); break;
			case -104: fprintf(g,"I"); break;
			case -120: fprintf(g,"J"); break;
			case -102: fprintf(g,"K"); break;
			case -101: fprintf(g,"L"); break;
			case -119: fprintf(g,"Lj"); break;
			case -100: fprintf(g,"M"); break;
			case -99: fprintf(g,"N"); break;
			case -118: fprintf(g,"Nj"); break;
			case -98: fprintf(g,"O"); break;
			case -97: fprintf(g,"P"); break;
			case -96: fprintf(g,"R"); break;
			case -95: fprintf(g,"S"); break;
			case -94: fprintf(g,"T"); break;
			case -117: fprintf(g,"%c%c",-60,-122); break; //C'
			case -93: fprintf(g,"U"); break;
			case -92: fprintf(g,"F"); break;
			case -91: fprintf(g,"H"); break;
			case -90: fprintf(g,"C"); break;
			case -89: fprintf(g,"%c%c",-60,-116); break; //C^
			case -113: fprintf(g,"D%c%c",-59,-66); break; //Dz
			case -88: fprintf(g,"%c%c",-59,-96); break; //S^
		}
	}
		else if(c1==-47){
			switch(c2){ 
				case -110: fprintf(g,"%c%c",-60,-111); break; //dj
				case -104: fprintf(g,"j"); break;
				case -103: fprintf(g,"lj"); break;
				case -102: fprintf(g,"nj"); break;
				case -128: fprintf(g,"r"); break;
				case -127: fprintf(g,"s"); break;
				case -126: fprintf(g,"t"); break;
				case -101: fprintf(g,"%c%c",-60,-121); break; //c'
				case -125: fprintf(g,"u"); break;
				case -124: fprintf(g,"f"); break;
				case -123: fprintf(g,"h"); break;
				case -122: fprintf(g,"c"); break;
				case -121: fprintf(g,"%c%c",-60,-115); break; //c^
				case -97: fprintf(g,"d%c%c",-59,-66); break;
				case -120: fprintf(g,"%c%c",-59,-95); break; //s^
				}
				}
			else fprintf(g,"%c%c",c1,c2);
}
main(int argc,char *argv[]){
	char *new;
	char c1,c2;
	FILE *f,*g;
	int i=0;
	if(argc<2 || argc>3){
		printf("Upotreba: %s ULAZNI_FAJL [IZLAZNI_FAJL]\n",argv[0]);
		exit(0);
	}
	f=fopen(argv[1],"r");
	if(!f){
		printf("Fajl ne postoji\n");
		exit(0);
	}
	if(argc==3){
		g=fopen(argv[2],"w");
	}
	else{
		new=(char*)malloc(sizeof(argv[1])+1);
		izlaz(new,argv[1]);
		g=fopen(new,"w");
		free(new);
	}
	while(1){
		fscanf(f,"%c",&c1);
		if(feof(f)) break;
		if(c1<0){
			fscanf(f,"%c",&c2);
			slovo(c1,c2,g);
			i++;
		}
		else fprintf(g,"%c",c1);
	}
	fclose(f);
	fclose(g);
	printf("\n%d slova izmenjeno\n\n",i);
}
 
ciril-latin.1330542480.txt.gz · Last modified: 2012/02/29 20:08 by tomislav.mrda
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki