benamoubeach tivuplai | Bonjour à tous,
je m'excuse d'avance si le problème n'aurait pas du aller dans cette section mais plutot dans "Software", mais je me suis dis que peut etre plus de personnes y auraient été confrontées ici.
Donc voila , pour la fac j'ai un projet à réaliser mais devant travailler chez moi et ayant Visual Studio, je me suis dis que je pourrais coder ca chez moi. Je demande rapidement a un pote s'il n'y a pas de probleme avec VC++ il me dit que tout roule. Le probleme est que lors de la compilation, VC++ me sort des erreurs avec FILE *f... , erreurs que je n'ai pas sur le serveur de la fac. Je vous colle le code et les erreurs.
Merchi d'avance
Code :
- void readFile(char* nom_fichier) {
- FILE *fp = fopen( nom_fichier, "r" );
- remove("source.c" );
- FILE *fout = fopen("source.c", "w" );
- char ligne[128];
- char nom[16], couleur[16], type[16];
- char* buffer;
- float t,x,y,z;
- fprintf(fout, "#include <stdio.h>\n" );
- fprintf(fout, "#include <GL/gl.h>\n" );
- fprintf(fout, "#include <GL/glut.h>\n" );
- fprintf(fout, "#include <GL/glu.h>" );
- fprintf(fout, "\n\nfloat rot=0;\n\n" );
- fprintf(fout, "void convertColor(char* couleur){\n" );
- fprintf(fout," \tif( ! strcmp ( couleur, \"rouge\" )){\n\t\tglColor3f(1,0,0);\n\t}\n" );
- fprintf(fout," \telse if( ! strcmp ( couleur, \"vert\" )){\n\t\tglColor3f(0,1,0);\n\t}" );
- fprintf(fout," \telse if( ! strcmp ( couleur, \"bleu\" )){\n\t\tglColor3f(0,0,1);\n\t}" );
- fprintf(fout," \telse if( ! strcmp ( couleur, \"gris\" )){\n\t\tglColor3f(0.5,0.5,0.5);\n\t}" );
- fprintf(fout, "}\n\n" );
- fprintf(fout, "void cube(float longueur, float x, float y, float z, char* couleur){\n\t" );
- fprintf(fout, "float moitie=longueur/2;\n\n\tconvertColor(couleur);\n\n" );
- fprintf(fout, "\t//Face avant\n\tglVertex3f((x-moitie),(y+moitie),(z+moitie));\n\tglVertex3f((x-moitie),(y-moitie),(z+moitie));\n\tglVertex3f((x+moitie),(y-moitie),(z+moitie));\n\tglVertex3f((x+moitie),(y+moitie),(z+moitie));\n\n" );
- fprintf(fout, "\t//Face droite\n\tglVertex3f((x+moitie),(y+moitie),(z+moitie));\n\tglVertex3f((x+moitie),(y-moitie),(z+moitie));\n\tglVertex3f((x+moitie),(y-moitie),(z-moitie));\n\tglVertex3f((x+moitie),(y+moitie),(z-moitie));\n\n" );
- fprintf(fout, "\t//Face gauche\n\tglVertex3f((x-moitie),(y+moitie),(z-moitie));\n\tglVertex3f((x-moitie),(y-moitie),(z-moitie));\n\tglVertex3f((x-moitie),(y-moitie),(z+moitie));\n\tglVertex3f((x-moitie),(y+moitie),(z+moitie));\n\n" );
- fprintf(fout, "\t//Face arriere\n\tglVertex3f((x+moitie),(y+moitie),(z-moitie));\n\tglVertex3f((x+moitie),(y-moitie),(z-moitie));\n\tglVertex3f((x-moitie),(y-moitie),(z-moitie));\n\tglVertex3f((x-moitie),(y+moitie),(z-moitie));\n\n" );
- fprintf(fout, "\t//Face dessous\n\tglVertex3f((x+moitie),(y-moitie),(z+moitie));\n\tglVertex3f((x-moitie),(y-moitie),(z+moitie));\n\tglVertex3f((x-moitie),(y-moitie),(z-moitie));\n\tglVertex3f((x+moitie),(y-moitie),(z-moitie));\n\n" );
- fprintf(fout, "\t//Face dessus\n\tglVertex3f((x+moitie),(y+moitie),(z+moitie));\n\tglVertex3f((x+moitie),(y+moitie),(z+moitie));\n\tglVertex3f((x+moitie),(y+moitie),(z-moitie));\n\tglVertex3f((x-moitie),(y+moitie),(z-moitie));\n\n" );
- fprintf(fout, "}\n\n" );
- fprintf(fout, "void pyramide(float largeur, float hauteur, float x, float y, float z, char* couleur){\n\t" );
- fprintf(fout, "}\n\n" );
- fprintf(fout, "void reshape(int w, int h){\n\tglViewport(0,0,w,h);\n\tglMatrixMode(GL_PROJECTION);\n\tglLoadIdentity();\n\tgluPerspective(45,(float)w/(float)h,0.1,100);\n\tglMatrixMode(GL_MODELVIEW);\n\tglLoadIdentity();\n\tgluLookAt(4,4,4,0,0,0,0,1,0);\n}\n\n" );
- fprintf(fout, "void display(void){\n\tglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\n" );
- while( fgets( ligne, 128, fp)){
- sscanf( ligne, "%s", nom);
- /* lecture de la ligne differente en fonction de la primitive */
- if( ! strcmp ( nom, "cube" ))
- {
- sscanf( ligne, "%s %f %f %f %f %s %s", nom, &t, &x, &y, &z, couleur, type);
- fprintf(fout,"\tcube(%f,%f,%f,%f,\"%s\" );\n",t,x,y,z,couleur);
- }
- else if( ! strcmp ( nom , "pyramide" ))
- {
- }
- else if( ! strcmp ( nom , "pave" ))
- {
- }
- else if( ! strcmp ( nom , "sphere" ))
- {
- }
- }
- fprintf(fout,"\tglFlush();\n}\n\n" );
- fprintf(fout,"void keyboard(char key){\n\t" );
- fprintf(fout,"switch(key){\n\t\t" );
- fprintf(fout,"case '
- fprintf(fout,"}\n\n" );
- fprintf(fout, "int main(int args, char* argv[]){\n\tglutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH);\n\tglutInitWindowSize(500, 500);\n\tglutCreateWindow(\"Projet sujet 1\" );\n\tglEnable(GL_DEPTH_TEST);\n\tglClearColor(1,0,0,0);\n\tglutDisplayFunc(display);\n\tglutReshapeFunc(reshape);\n\tglutKeyboardFunc(keyboard);\n\tglutMainLoop();\n\n" );
- fprintf(fout, "\treturn 0;\n}" );
- fclose(fout);
- fclose(fp);
- }
|
Les erreurs :
Code :
- c:\Documents and Settings\Ben\Mes documents\Visual Studio Projects\Infographie\generateur.c(9): error C2275: 'FILE' : utilisation non conforme de ce type comme expression
- c:\Documents and Settings\Ben\Mes documents\Visual Studio Projects\Infographie\generateur.c(9): error C2065: 'fout' : identificateur non déclaré
- c:\Documents and Settings\Ben\Mes documents\Visual Studio Projects\Infographie\generateur.c(10): warning C4047: '=' : 'int' diffère de 'FILE *' dans les niveaux d'indirection
|
Les autres erreurs proviennent surement du probleme avec FILE
Merci d'avance Message édité par benamoubeach le 17-06-2006 à 14:27:05
|