Cod sursa(job #1359688)

Utilizator Sergiu121Sergiu Weisz Sergiu121 Data 25 februarie 2015 01:05:36
Problema Convertor Scor 90
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.68 kb
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char s;
	FILE *f, *g;

	f = fopen("convertor.in","rt");
	g = fopen("convertor.out","wt");

	s = 'a';
	while(s != '}')
	{
		s = fgetc(f);
		while(s != '"')
		{
			s = fgetc(f);
		}
		s = fgetc(f);
		while(s != '"')
		{
			fprintf(g, "%c", s);
			s = fgetc(f);
		}
		while(s != ',' && s!= '}')
			s = fgetc(f);
        fprintf(g, ",");
	}
	fprintf(g, "\n");

	fseek(f, 0, 0);

	while(s != ']')
	{
        while(s != ':')
            s = fgetc(f);
        while(s != '"' && (s < '0' || s > '9') && (s < 'a' || s > 'z') && (s < 'A' || s > 'Z'))
            s = fgetc(f);
        if(s == '"')
        {
            s = fgetc(f);
            while(s != '"')
            {
                fprintf(g, "%c", s);
                s = fgetc(f);
            }
            fprintf(g, ",");
        }
        if(s >= '0' && s <= '9')
        {
            while(s != ' ' && s != ',' && s != '}' && s != '\n')
            {
                fprintf(g, "%c", s);
                s = fgetc(f);
            }
            fprintf(g, ",");
        }

        if((s >= 'a' && s <= 'z') || (s >= 'A' && s <= 'Z'))
        {
            while(s != ' ' && s != ',' && s != '}' && s != '\n')
            {
                fprintf(g, "%c", s);
                s = fgetc(f);
            }
            fprintf(g, ",");
        }

        while(s != ',' && s != '}')
            s = fgetc(f);

        if(s == '}')
        {
            while(s != ']' && s != '{')
                s = fgetc(f);
            if(s == '{')
                fprintf(g, "\n");
            if(s == ']')
            {
                fprintf(g, "\n");
                return 0;
            }
        }
	}

	return 0;
}