Chciałbym się zapytać jak zapisać mój kod w jakiś lepszy prostszy sposób, używając lepszych funkcji.
Celem było napisanie programu który czytał by liczby zapisane w konkretnym formacie np. < 3; 2; 5; 4.3; 6; >
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUMBERS 20
void blad(int b){
fprintf(stderr, "Wystąpił błąd o numerze %d\n", b);
}
int main (int argc, char **argv){
FILE *in = argc > 1 ? fopen(argv[1], "r") : stdin;
double t[MAX_NUMBERS];
int i, j;
char x;
while ( (x = fgetc(in)) == ' ' || x == '\t' || x == '\n' ) ;
if ( x == '<' ) ;
else {
blad(-1);
return -1;
}
i = 0;
while ( fscanf(in, "%lf %c", t + i, &x) == 2 ){
if (x != ';') {
blad(-2);
return -2;
}
i++;
}
if ( (x = fgetc(in)) == '>' );
else{
blad(-3);
return -3;
}
for ( j= 0; j < i; j++)
printf("%g\n",t[j]);
return 0;
}