|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Apr 2006
Messaggi: 6
|
Matrice di led su c++
Ciao a tutti ho un problemino con i file...
Dovrei creare un programma ke, preso in input un carattere lo disegni a video su una matrice 7x7.... Posto qui di seguito i due file cpp uno è la creazione del file l'altro il programma ke dovrebbe disegnare... #include <stdio.h> #include <conio.h> #include <iostream.h> typedef struct lettera { char carat; char mat[6][6]; }; lettera dato; int main() { int i=0; int j=0; FILE *f; cout<<"Inserisci carattere"; cin>>dato.carat; f=fopen("matrice","w"); for (i=0;i<7;i++) { for (j=0;j<7;j++) { cout<<"Inserisci bit "<<i<<","<<j<<" :"; cin>>dato.mat[i][j]; } } fwrite(&dato,sizeof(lettera),1,f); fclose(f); } _______________________________________________________________ #include <conio.h> #include <stdio.h> #include <process.h> #include <iostream.h> char buffer [80*25*2]; typedef struct lettera { char carat; char mat[6][6]; }; lettera dato; FILE *f; int main() { int x,y=0; char led; char lett; textbackground(7); textcolor(0); clrscr(); cout<<"Inserire la lettera da visualizzare sulla matrice: "; cin>>lett; f = fopen("matrice","r"); while(!feof(f)) { fread(&dato,sizeof(lettera),1,f); if (dato.carat==lett) { gettext(30,8,45,16,buffer); window(30,8,45,16); textcolor(4); textbackground(0); clrscr(); gotoxy(31,9); for (x=0;x<7;x++) { for(y=0;y<7;y++) { led=dato.mat[x][y]; if (led==0) putch(' '); else putch('Û'); } } cout<<"Lettera non presente"; } } fflush(stdin); getchar(); fclose(f); } il problema sta nel fatto ke a video mi disegna sempre la solita cosa.... help me!! ![]() |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Apr 2006
Messaggi: 6
|
per esempio voglio disegnare uno 0 sulla matrice
0111110 0100010 0100010 0100010 0100010 0100010 0111110 |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() Veniamo al codice. Ci sono diverse cose che non vanno: 1) Se la tua matrice è di 7x7, nella struttura devi dichiarare char mat[7][7]; e non 6. 2) Metti almeno un return 0; alla fine del main. 3) Sei sicuro che il primo (e anche il secondo) sorgente compila??? Il modo giusto di dichiarare una struttura usando anche il typedef è: Codice:
typedef struct { char carat; char mat[7][7]; } lettera; lettera dato;
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Apr 2006
Messaggi: 6
|
ok ho sistemato il codice ma il problema rimane.....disegna sempre metà griglia
scusa per l'indentatura ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:07.