langage C, message d'erreur - C - Programmation
Marsh Posté le 26-10-2010 à 16:12:28
ReplyMarsh Posté le 26-10-2010 à 18:11:59
Vérifie que tu as le fichier initialise.h,
Vérifie que le fichier à des droits nécessaire.
Marsh Posté le 26-10-2010 à 18:32:02
CAD?
le fichier initialiser je l'ai dans mes fichiers sources avec mon fichier menu et afficher!
Marsh Posté le 26-10-2010 à 19:37:17
syfrdy a écrit : CAD? |
C'est "initialiser.h" le nom de fichier inclue.
Je pense qu'il faut avoir les droits d'accès en lecture sur le fichier.
Marsh Posté le 26-10-2010 à 20:44:35
nn je n'es pas eu de cours sur les droits d'accès de fichier!
et donc tu fais comment pour avoir les droits d'accès pour la lecture du fichier?
Marsh Posté le 26-10-2010 à 20:53:06
syfrdy a écrit : nn je n'es pas eu de cours sur les droits d'accès de fichier! |
T'es sur quel système d'exploitation ?
Marsh Posté le 26-10-2010 à 22:09:47
Tu dois avoir un inititilialiser.c et initialiser.h
Pareil pour afficher.c et afficher.h
Mets tous les fichiers dans le même répertoire pour pas avoir de problème au début.
Marsh Posté le 26-10-2010 à 22:31:35
c'est ca le souci c'est que j'ai tout dans le mm!
quoique j'ai peu être pas le fichier .h, je l'ai juste appelé!
Marsh Posté le 26-10-2010 à 22:42:48
syfrdy a écrit : Bonjour, |
Citation : |
Ca va être long
Marsh Posté le 26-10-2010 à 23:04:22
Tu as surement du sauter un cours, les headers/prototypes ça te dis quelque chose?
en tout cas pour revenir au problème:
fatal erreur C1083" impossible d'ouvrir le fichier include"; "initialiser.h"
signifie que ton fichier initialiser.h n'existe pas, faut le créer et y mettre des machins dedans.
Marsh Posté le 27-10-2010 à 12:20:45
mon fichier initialiser.c existe il faut que je fasse un fichier initialiser.h c'est ca?
Marsh Posté le 27-10-2010 à 12:42:11
Oui. (include indique qu'il faut lire le fichier..., si tu ne sais pas ça ou tu étais fort distrait ou tes sources sont bien mauvaises)
Marsh Posté le 27-10-2010 à 13:20:45
syfrdy a écrit : |
Marsh Posté le 27-10-2010 à 14:02:47
une foi que j'ai fait mon fichier .h il me met:
fatal error c1014 fichier include trop nombreux: profondeur =1024
ps: si je demande de l'aide c'est que je n'es pas eu de cour sur ce ".h" dsl...
Marsh Posté le 27-10-2010 à 14:06:33
Après le cours sur ".Net", le cours sur le ".H"
Marsh Posté le 27-10-2010 à 14:19:53
syfrdy a écrit : une foi que j'ai fait mon fichier .h il me met: |
prends un livre sur le sujet, apprends la base. Là, tu n'as juste aucunes connaissances sur le sujet, on ne peut pas les apprendre à ta place.
Marsh Posté le 27-10-2010 à 14:24:15
Je vais tenter de faire simple.
Un programme C est composé de beaucoup de fonctions, dont une un peu particulière, le main, qui est appelée quand on exécute le programme.
L'ordre des fonctions a une importance : si tu mets une fonction avant le main, tu pourras t'en servir quand tu seras dans le main (elle aura été lue avant, elle sera connue). Si tu mets une fonction après le main, ça ne marchera pas.
Exemple qui ne marche pas car la fonction est définie après :
Code :
|
Exemple qui marche car la fonction est définie avant :
Code :
|
Mais on peut faire autrement : on peut annoncer les fonctions à l'ordinateur en mettant leur prototypes, s'en servir dans le main, et mettre réellement la fonction plus tard.
Exemple qui marche car le prototype est défini avant (et la fonction peu importe où) :
Code :
|
Quand on gère un projet en C, on utilise plusieurs fichiers sources (au lieu de tout mettre dans un gigantesque fichier .c unique).
Exemple :
maGeometrie.h (les prototypes) :
Code :
|
maGeometrie.c (le code des fonctions) :
Code :
|
main.c (le main où on veut faire un calcul d'aire) :
Code :
|
Marsh Posté le 26-10-2010 à 15:12:26
Bonjour,
je dois réaliser un jeu de dames en langage C et je suis bloqué lorsque je dois afficher et initialiser le damier. je suis débutant en langage C...
Il me met un message d'erreur comme : fatal erreur C1083" impossible d'ouvrir le fichier include"; "initialiser.h"; no such file or directory
le menu ce présente comme ca:
#include <stdio.h> // printf()
#include <stdlib.h> // EXIT_SUCCESS
#include <windows.h>
#include <math.h> /*contient la déclaration des fonctions mathématiques usuelles*/
#define N 20
/*Déclaration des fonctions personnalisées, à compléter*/
#include "initialiser.h"
#include "afficher.h"
int main()
{
int choix,
tab[][N]={0},
taille=0;
do{
printf(" 1: Nouvelle partie;\n 2: Continuer la partie;\n 3: Enregistrer la partie;\n 4: Ouvrir une partie;\n 0: quitter\n" );
scanf("%d",&choix);
switch (choix)
{
case 0 : /*Quitter le programme*/
return EXIT_SUCCESS;
break;
case 1 : /* Fonction Nouvelle partie*/
initialiser_tab(tab, &taille);
affiche(tab,taille);
break;
case 2 : /* Continuer la partie */
;
break;
case 3 : /*Enregister la partie*/
;
break;
case 4 : /*Ouvrir une partie*/
;
break;
default : /*Choix non autorisés */
printf("valeur invalide" );
break;
}
}
while(choix!=0);
return EXIT_SUCCESS;
}
le fichier initialiser:
int taille_tab (int *taille)
{
do
{
printf(" Quelle grandeur de damier désirez-vous?\n" );
scanf("%d" );
}
while (test_tab_taille(*taille) == 1);
return *taille;
}
int test_tab_taille (int taille)
{
if ((taille%2)!= 0)
{
printf("la grandeur de la table doit etre paire et inferieur a 20\a\n" );
return 1;
}
return 0;
}
int initialiser_tab(int tab[ ][N], int taille)
{
int i=0, j=0;
taille=taille_tab (taille);
for(i=0;i<taille;i++)
{
for(j=0;j<taille;j++)
{
if(((i+j)%2)==0)
{
tab[i][j]=0;
//printf("%d",tab[j][i]);
}
else if (i==((taille/2)-1)||i==(taille/2))
{
tab[i][j]=0;
//printf("%d",tab[j][i]);
}
else if (i<((taille/2)-1))
{
tab[i][j]=1;
}
else
{
tab[i][j]=2;
}
}
}
return 0;
}
et le fichier afficher:
#include <stdio.h> // printf()
#include <stdlib.h> // EXIT_SUCCESS
#include <windows.h>
#include "afficher.h"
void affiche(int tab[][N], int taille)
{int i=0,j=0;
for (i=0;i<taille;i++)
{
for(j=0;j<taille;j++)
{
printf("%d\t",tab[i][j]);
}
printf("\n",tab[i]);
}
printf("\n" );
}