Cod sursa(job #1359786)

Utilizator diana_ionDiana Ion diana_ion Data 25 februarie 2015 03:35:50
Problema Convertor Scor 90
Compilator cpp Status done
Runda rosedu_cdl_2015 Marime 2.04 kb
#include <iostream>
#include <stdio.h>
#include <fstream>

using namespace std;

int main()
{

    char ch;
    FILE *input;
    input = fopen("convertor.in", "r");
    ofstream output;
    output.open("convertor.out",ios::out);


    int count = 0;

    while((ch = fgetc(input)) != EOF){
        if(ch == '{')
            count++;
        if(count > 1)
            break;
        if(ch == '\"'){
            //std::string buffer;
            ch = fgetc(input);
            while(ch != '\"') {
                output<<ch;
                ch = fgetc(input);
            }
           output<<",";

        }
        else if(ch == ':'){
            ch = fgetc(input);
            while(ch == ' ' || ch == '\n'){
                ch = fgetc(input);
            }
            if(isdigit(ch))
                while(ch != ' ' && ch != ',' && ch != '}' && ch != '\n'){
                    ch = fgetc(input);
                }
            else
                if ( ch == '"'){
                    ch = fgetc(input);
                    while(ch != '"'){
                        ch = fgetc(input);
                    }
                }
        }

    }
    fclose(input);
    FILE *input2;
    input2 = fopen("convertor.in", "r");
    while((ch = fgetc(input2)) != EOF){

        if(ch == '{')
            output<<"\n";
        if(ch == ':'){
            ch = fgetc(input2);
            while(ch == ' ' || ch == '\n'){
                ch = fgetc(input2);
            }
            if(isdigit(ch))
                while(ch != ' ' && ch != ',' && ch != '}' && ch != '\n'){
                    output<<ch;
                    ch = fgetc(input2);
                }
            else
                if ( ch == '"'){
                    ch = fgetc(input2);
                    while(ch != '"'){
                        output<<ch;
                        ch = fgetc(input2);
                    }
                }
                output<<",";
        }

    }
    fclose(input2);
    output.close();

    return 0;
}