{ if (i % 2 != 1)
i++;
}
fprintf(feven, "%d", even);
fscanf(dog, "%d", &number[i]);
else
{
i % 2 == 1;
i++;
}
Должно быть:
if (i % 2 != 1)
{
i++;
fprintf(feven, "%d", even);
fscanf(dog, "%d", &number[i]);
}
else
{
i % 2 == 1; //BTW this doesn't do anything.
i++;
}
РЕДАКТИРОВАТЬ: Я взял несколько свобод, так что это может быть не совсем вашим намерением, но это должно быть достаточно близко Вам нужно поработать над множеством мелких вещей, которые, надеюсь, помогут в просмотре кода. Не забудьте понять, что делают функции. И иди, прежде чем бежать.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int number;
// check to make sure that all the file names are entered
if (argc != 4)
{
printf("Usage: %s <inputfile> <even_outputfile> <odd_outputfile>\n", argv[0]);
exit(1);
}
FILE *dog = fopen(argv[1], "r");
FILE *feven = fopen(argv[2], "w");
FILE *fodd = fopen(argv[3], "w");
// check whether the file has been opened successfully
if (dog == NULL)
{
printf("File %s cannot open!\n", argv[1]);
exit(1);
}
if (feven == NULL)
{
printf("File %s cannot open!\n", argv[2]);
exit(1);
}
if (fodd == NULL)
{
printf("File %s cannot open!\n", argv[3]);
exit(1);
}
while (fscanf(dog, "%d", &number) == 1)
{
if (number % 2 == 0)
fprintf(feven, "%d ", number);
else
fprintf(fodd, "%d ", number);
}
fprintf(feven, "\n");
fprintf(fodd, "\n ");
fclose(dog);
fclose(feven);
fclose(fodd);
}