Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] Problem z dobraniem warunków

Ostatnio zmodyfikowano 2012-11-25 19:02
Autor Wiadomość
szarry
Temat założony przez niniejszego użytkownika
[C] Problem z dobraniem warunków
» 2012-11-25 19:02:53
Program ma odczytywać plik *.csv z komentarzami. Mam problem z takim dobraniem warunków dla if'ów i pętli, aby:
1. Pomijane były linie zaczynające się od znaku '#' (komentarze)
2. Wszystkie inne znaki, niż cyfry, przecinki, kropki, minusy były zamieniane na 0
C/C++
[...]
i = 0;
znak[ 0 ] = getc( plik );
while( znak[ j ] != EOF ) {
    j = 0;
   
    do {
        if( znak[ 0 ] != '#' ) { //jeżeli linia nie jest komentarzem,
            if( znak[ 0 ] < 30 || znak[ 0 ] > 39 ) {
                if( znak[ 0 ] != '-' ) { //ale nie zaczyna się od cyfry, lub '-',
                    znak[ j ] = '0'; //to znaki na '0'.
                }
            }
           
            else if( znak[ j ] < 30 || znak[ j ] > 39 ) {
                if( znak[ j ] != '.' && znak[ j ] != ',' && znak[ j ] != '-' ) {
                    //zaczyna się od cyfry, ale zawiera coś innego, niż: cyfry, '.', ',', '-'
                    znak[ j ] = '0'; //zamień błędny znak na '0'.
                }
            }
        }
        else { //linia jest komentarzem
            j = 64; //wyjdź z pętli
        }
       
       
        if( j <= 63 ) {
            j++;
            znak[ j ] = getc( plik );
        }
       
    } while( znak[ j ] != '\n' && j <= 63 );
   
    if( znak[ 0 ] != '#' ) { //jeżeli odczytana linia nie jest komentarzem
        for( j = 0; j <= 63; j++ ) printf( "%c", znak[ j ] );
       
        puts( "\n" );
        //sscanf(&znak, "%f,%f", tmp_x, tmp_y);    
        //sygnal.probki[i][0]=(double)tmp_x;
        //sygnal.probki[i][1]=(double)tmp_y;
    }
    i++;
}
[...]

Jak dobrać warunki, aby program działał jak należy?
P-69873
« 1 »
  Strona 1 z 1