Owex Temat założony przez niniejszego użytkownika |
problemy z wyświetlaniem tekstu z tablic » 2010-12-29 16:21:44 Witam. Miałem napisać coś w rodzaju programu księgowego. Treść zadania jest opisana tutaj: http://kursy.ddt.pl/?LessonId=10. Zadanie 8.5 ćwiczenie 3 (na samym dole). Zrobiłem wszystko ale program zamiast wyświetlać tabeli, pokazuje niezrozumiałe znaki. Mam kod: #include <iostream> #include <conio.h> using namespace std; int main() { const int KWARTALY = 5; const int LATA = 4; const char tab1[ KWARTALY ][ LATA ] = { { ' ', 1999, ' ', 2000 }, { 1, 2075000, ' ', 532500 }, { 2, 2205000, ' ', 479250 }, { 3, 2150000, ' ', 1479250 }, { 4, 1065000, ' ', 1229250 }, }; cout << " Firma DDT\n" << " *Program ksiegowy*\n"; for( int X = 0; X < KWARTALY; X++ ) { cout << tab1[ X ] << endl; } cin.get(); getchar(); return 0; } Co jest źle? |
|
ison |
» 2010-12-29 16:29:49 const char tab1[ KWARTALY ][ LATA ] = { { ' ', 1999, ' ', 2000 }, { 1, 2075000, ' ', 532500 }, { 2, 2205000, ' ', 479250 }, { 3, 2150000, ' ', 1479250 }, { 4, 1065000, ' ', 1229250 }, };
ciągi znaków zapisuje się w cudzysłowach w zmiennej char możesz pomieścić liczby od 0 do 255 a ty próbujesz pod niego przypisać 2205000 (jeśli zapiszesz liczbę bez cudzysłowu to jest ona traktowana jako liczba a nie jako ciąg znaków) |
|
szyx_yankez |
» 2010-12-29 16:38:18 const int tab1[ KWARTALY ][ LATA ] = { { ' ', 1999, ' ', 2000 }, { 1, 2075000, ' ', 532500 }, { 2, 2205000, ' ', 479250 }, { 3, 2150000, ' ', 1479250 }, { 4, 1065000, ' ', 1229250 }, };
for( int X = 0; X < KWARTALY; X++ ) { for( int Y = 0; Y < LATA; Y++ ) cout << tab1[ X ][ Y ] << " "; cout << endl; } |
|
Owex Temat założony przez niniejszego użytkownika |
» 2010-12-29 16:39:08 Zmieniłem na const char tab1[ KWARTALY ][ LATA ] = { { ' ', "1999", ' ', "2000" }, { 1, "2075000", ' ', "532500" }, { 2, "2205000", ' ', "479250" }, { 3, "2150000", ' ', "1479250" }, { 4, "1065000", ' ', "1229250" }, }; i wychodzi mi błąd przy ostatnich znakach ( }; ). Pisze:"invalid conversion from 'const char*' to 'char' . O co chodzi? |
|
szyx_yankez |
» 2010-12-29 16:45:26 Oto, że nie można dokonać konwersji z typu 'const char*' na 'char'.
const char * tab1[ KWARTALY ][ LATA ] = { { "", "1999", "", "2000" }, { "1", "2075000", "", "532500" }, { "2", "2205000", "", "479250" }, { "3", "2150000", "", "1479250" }, { "4", "1065000", "", "1229250" }, }; |
|
ison |
» 2010-12-29 16:51:03 @Owex policz ile w Twojej tablicy deklarujesz wymiarów a ile potem przypisujesz? 1 wymiar: kwartały 2 wymiar: lata 3 wymiar: długość każdego stringa (czyli każdego ciągu znaków) char to jeden znak a nie ciąg znaków możesz to rozwiązać tak jak już Ci powiedział szyx_yankez albo jeśli będzie to dla Ciebie bardziej czytelne: const int DLUGOSC = 8; const char tab1[ KWARTALY ][ LATA ][ DLUGOSC ] = { { "", "1999", "", "2000" }, { "1", "2075000", "", "532500" }, { "2", "2205000", "", "479250" }, { "3", "2150000", "", "1479250" }, { "4", "1065000", "", "1229250" }, };
|
|
« 1 » |