Cod sursa(job #1339924)

Utilizator razvan3895Razvan-Mihai Chitu razvan3895 Data 11 februarie 2015 12:24:43
Problema Convertor Scor 60
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.26 kb
#include <stdio.h>
#include <string.h>

int main() {
	FILE *f = fopen("convertor.in", "r"), *g = fopen("convertor.out", "w");
	char line[1024];
	int i, ok = 0;
	while(fgets(line, 1024, f)) {
		for(i = 0; i < strlen(line); i++) {
			if(line[i] == '}')
					ok = -1;
			if(line[i] == '"') {
				i++;
				while(line[i] != '"') {
					fprintf(g, "%c", line[i]);
					i++;
				}
				fprintf(g, ",");
				while(line[i] != ',') {
					if(line[i] == '}')
						ok = -1;
					i++;
				}
				
			}
			if(ok == -1)
				break;
		}
		if(ok == -1)
			break;
	}
	fprintf(g, "\n");
	fseek(f, 0, 0);
	while(fgets(line, 1024, f)) {
		//fprintf(g, "%s", line);
		for(i = 0; i < strlen(line); i++) {
			if(line[i] == '}')
				fprintf(g, "\n");
			if(line[i] == ':') {
				i++;
				//puts(line+i);
				while(i < strlen(line) && line[i] < '0' && line[i] != '"')
					i++;
				if(line[i] == '"') {
					i++;
					while(line[i] != '"' && i < strlen(line)) {
						if(line[i] != '\n')						
							fprintf(g, "%c", line[i]);
						i++;
						
					}
					fprintf(g, ",");
				}
				else {
					while(line[i] != ',' && i < strlen(line)) {
						if(line[i] != '\n')						
							fprintf(g, "%c", line[i]);
						i++;
						
					}
					fprintf(g, ",");
				}
				
			}
			
		}
	}
	fclose(f);
	fclose(g);				
	return 0;
}