[C] Funkcja zamieniająca tablicę char na float
Ostatnio zmodyfikowano 2016-01-24 21:21
pzet Temat założony przez niniejszego użytkownika |
[C] Funkcja zamieniająca tablicę char na float » 2016-01-23 16:40:25 Mam problem z fragmentem kodu, który ma pobierać dane z pliku (imię i nazwisko studenta oraz jego oceny), przy czym oceny mogą być zapisane w formie "-5" bądź "4.25" i mają być przekonwertowane z typu char na float tak, aby dało się policzyć z nich średnią. float konwertuj( char tablica[] ) { int i; for( i = 0; i <= strlen( tablica[] ); i++ ) { switch( tablica[] ) { case '-5': return 4.75; case '5-': return 4.75; case '-4': return 3.75; case '4-': return 3.75; case '-3': return 2.75; case '3-': return 2.75; default: return strtod( tablica[], NULL ); break; } } }
Oczywiście dostaję komunikat main.c:42:9: warning: multi-character character constant [-Wmultichar] case '-5': return 4.75; break;
Niestety nie umiem obejść problemu. Mogę prosić o wskazówki? |
|
Gibas11 |
» 2016-01-24 11:48:50 Switch działa tylko na pojedynczych zmiennych, tablice nie przejdą. Poza tym podałeś kilka znaków w apostrofach. |
|
Pawlo3 |
» 2016-01-24 20:44:47 Tak poza tym: minus obniża ocenę o 0.1, nie 0.25 (przynajmniej w Polsce). |
|
Gibas11 |
» 2016-01-24 21:21:10 Mój e-dziennik (xxx.wizja.net) twierdzi inaczej i 3- = 2.75. |
|
« 1 » |