Cod sursa(job #2302347)

Utilizator pity93Lantos Vasile Daniel pity93 Data 14 decembrie 2018 11:31:24
Problema A+B Scor 0
Compilator c-32 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define MAX_SUM 2000000000
#define SUM(a,b) (a+b)
#define NUMBER_LIMIT INT_MAX-100

FILE* open_file(const char*);
short read_file(const FILE*, const int*, const int*);
void write_file(const FILE*, const int);

int main()
{
    int a=0;
    int b=0;
    int c=0;
    FILE *input = open_file("input.txt");
    FILE *output = open_file("output.txt");
    if(read_file(input, &a, &b))
        c = SUM(a,b);
    if(c<MAX_SUM)
        write_file(output, c);
    fclose(input);
    fclose(output);
    return 0;
}
FILE* open_file(const char* file_name){
    FILE *f = NULL;
    f = fopen(file_name, "r+");
    return f;
}
short read_file(const FILE* input_file, const int *a, const int *b){
    short r = 1;
    fscanf(input_file, "%d", a);
    fscanf(input_file, "%d", b);
    if(*a > NUMBER_LIMIT || *b > NUMBER_LIMIT)
        r=0;
    return r;
}
void write_file(const FILE* output_file, const int sum){
    fprintf(output_file, "%d", sum);
}