IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

un problème de débutant


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut un problème de débutant
    voilà dans mon programme j'ai toujours les mêmes erreurs qui s'affichent c'est-à-dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /tmp/main/src/main.c:133: warning: type mismatch with previous implicit declaration 
    */tmp/main/src/main.c:77: warning: previous implicit declaration of `saisie' 
    */tmp/main/src/main.c:133: warning: `saisie' was previously implicitly declared to return `int'
    le compilateur me le fait pour toutes mes fonctions.

    que faire pour palier ses erreurs ?? je ne les ai jamais rencontrées

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 870
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 870
    Par défaut
    Salut,

    Un bout de code serait le bienvenu, sur les lignes concernées

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut
    voilà ma saisie par exemple mais je ne vois pas où peut etre le probleme


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void saisie(){
    		tlune info;
    		printf("bienvenue dans la saisie des données nécessaires à l'exécution du programme/n");
    		printf("Veuillez entrer l'année s'il vous plait uniquement à partir de 1900 sous format yyyy/n");
    		scanf("%f",&info.annee);
    		printf("Merci!/n");
    		printf("Entrez désormais le mois sous format mm/n");
    		scanf("%i",&info.mois);		//saisie des informations necessaires a nos calculs
    		printf("Encore merci!/n");
    		printf("Entrer maintenant le jour please sous format jj/n");
    		scanf("%i",& info.jour);
    		printf("Merci pour toutes ces informations...à bientot/n");
    			}

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut
    et voici le menu qui appelle la fonction saisie entre autre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    void menu(){
    	tlune info;			/*variable de type tlune comprenant les donnees du probleme*/
    	int reponse;   			/* reponse rentree par l'utilisateur*/
    	int i,j,k,l,m,n;		/*compteurs affichant les resultats*/
    	double datedecimale;		/*variable representant l'annee en decimale*/
    	int nombrecycles; 		/* variable representant le nombre de cycles*/
    	double tempsjulien[4]; 		/*tableau contenant le temps Julien depuis 1900 pour les differentes phases 1ere case:nouvelle lune 2e case 1er quart de lune 3e case dernier quart de lune et 4e case pleine lune*/
    	double datephase[4]; 		/*variable representant la date pour chaque phase en fonction du nombre de cycles depuis 1900 et du temps Julien*/
    	double correctionJEDSun[4];	/* facteur de correction pour le soleil pour chaque phase*/
    	double correctionJEDLuna[4];	/*facteur de correction pour la lune pour chaque phase*/
    	double ArgLatJED[4];		/*variable representant l'argument de la latitude en jour julien*/
    	double correctionNewetPleinelune[4];/*facteur de correction pour la nouvelle et la plein lune*/
    	double correctionFirstLastQuarter[4];/*correction pour le 1er et le dernier quart de lune*/
    	double correctionFirstLastQuarter2[4];/*nouvelle correction pour le 1er et le dernier quart de lune*/
    	int conversion1[4];
    	double conversion2[4];
    	int conversion3[4];
    	int conversion4[4];
    	int conversion5[4];
    	int conversion6[4];
    	int conversion7[4];
    	int conversion8[4];
    	float conversion9[4];
    	int jour[4];// variable qui va contenir le jour pour la phase concernee
    	float decimalfractionday [4];
    	int heure[4];//variable qui va contenir l'heure pour la phase concernee
    	float minute[4];//variable qui va contenir la minute pour la phase concernee
    	int mois[4];//variable qui va contenir le mois pour la phase concernee
    	float annee[4];//variable qui va contenir l'anne pour la phase concernee
    		do {
    			F_BLUE();
    			printf("---------------------Salutations-----------------\n");
    			printf("Bienvenue sur le programme de Carlito et Justin portant sur 'La Lune '\n");
    			printf("Que voulez-vous faire ?\n");
    			printf("1°) Entrez la date recherchée\n");
    			printf("2°) Initier les calculs\n");
    			printf("3°)Voir les crédits\n");
    			printf("4°) Quitter le programme\n");
    			F_NORM();
    			scanf("%i",&reponse);
    			} while(reponse<1 || reponse>4);
    		switch(reponse){     //switch permettant de mener a bien les differentes actions possibles du menu
    				case 1: saisie();
    				break;
    				case 2: datedecimale=date(info.jour,info.mois,info.annee);//case 2 correspond a tous les calculs 
    				printf("voici la date rentrée en décimale:%d\n",datedecimale);
    				nombrecycles=nbcycles(datedecimale);
    				printf("nombre de cycles lunaires depuis janvier 1900:%d\n",nombrecycles);
    				tpsjulien(nombrecycles, tempsjulien);
    				for(i=0;i<4;i++){
    					printf("le calcul du temps T en siecle Julien pour la phase %i depuis 1900 donne:%d\n",i+1,tempsjulien[i]);}
    				datphse(nombrecycles,tempsjulien,datephase);
    				for(j=0;i<4;j++){
    					printf("le calcul des dates de phases significatives de la lune donne:%d\n",datephase[j]);
    					}
    					correctJEDSun(nombrecycles,tempsjulien,correctionJEDSun);
    				for(k=0;k<4;k++){
    					printf("la correction sur le calcul du jour julien donne:%d\n",correctionJEDSun[k]);
    					}
    					conversCorrecSundeg(correctionJEDSun);
    				for(l=0;l<4;l++){
    					printf("la conversion en degres de la correction donne:%d\n",correctionJEDSun[l]);
    					}
    					correctJEDLuna(nombrecycles,tempsjulien,correctionJEDLuna);
    				for(m=0;m<4;m++){
    				printf("la correction d'erreur pour chaque phase dans l'ordre croissant donne:%d\n",correctionJEDLuna[m]);
    				}
    					conversCorrecLunadeg(correctionJEDLuna);
    	ArgLatitudeJED(nombrecycles,tempsjulien,ArgLatJED);
    	conversArgLatdeg(ArgLatJED);
    	correctNewetPleinelune(tempsjulien,correctionJEDSun,correctionJEDLuna,ArgLatJED,correctionNewetPleinelune);
    	correctFirstLastQuarter(tempsjulien,correctionJEDSun,correctionJEDLuna,ArgLatJED,correctionFirstLastQuarter);
    	correctFirstLastQuarter2(tempsjulien,correctionJEDSun,correctionJEDLuna,ArgLatJED,correctionFirstLastQuarter2);
    	calcul(datephase,correctionNewetPleinelune,correctionFirstLastQuarter2);
    	convers1(datephase,conversion1);
    	convers2(datephase,conversion1,conversion2);
    	convers3(conversion1,conversion3);
    	convers4(conversion1,conversion3,conversion4);
    	convers5(conversion4,conversion5);
    	convers6(conversion5,conversion6);
    	convers7(conversion6,conversion7);
    	convers8(conversion5,conversion7,conversion8);
    	convers9(conversion5,conversion7,conversion2,conversion8,conversion9);
    	calculjour(conversion9,jour);
    	fractiondecimalejour(conversion9,jour,decimalfractionday);
    	calculheure(decimalfractionday,heure);
    	calculminute(decimalfractionday,minute);
    	calculmois(conversion8,mois);
    	calculannee(mois,conversion6,annee);
    	affichage(jour,mois,annee,heure,minute);
    	break;
    				case 3: printf(" G² Production-2006 \n\n\n Garcia Christophe \n Grave Justin \n Les phases de la lune \n ");
    	break;
    				case 4: exit(1);
    }
    }

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par Carlitodu02
    voilà dans mon programme j'ai toujours les mêmes erreurs qui s'affichent c'est-à-dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /tmp/main/src/main.c:133: warning: type mismatch with previous implicit declaration 
    */tmp/main/src/main.c:77: warning: previous implicit declaration of `saisie' 
    */tmp/main/src/main.c:133: warning: `saisie' was previously implicitly declared to return `int'
    le compilateur me le fait pour toutes mes fonctions.

    que faire pour palier ses erreurs ?? je ne les ai jamais rencontrées
    Le compilateur ne connait pas saisie avant de compiler ces lignes. Tu dois déclarer / définir cette fonction AVANT la ligne 77.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut
    je te remercie, c'était bien çà en effet!

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut
    maintenant que j'ai réglé cette erreur, il m'en affiche une autre et le pire, c'est que je ne vois pas où est le problème :

    tmp/main/src/main.c:457:1: warning: no newline at end of file

    voici le code de la ligne correspondante :

    main() {
    menu();
    }

  8. #8
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 870
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 870
    Par défaut
    C'est juste qu'il te demande de mettre un retour chariot en fin, donc en l'occurence, après ta dernière accolade

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void main() {
       blabla();
    }
    /* ICI UN RETOUR CHARIOT */

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Euh... tu connais l'anglais ?

    Ce n'est pas une erreur, c'est un warning, et ça veut dire que ton code source ne se termine pas par une ligne vide.

    Pour la corriger, tu ouvres main.c dans un éditeur de texte et tu fais ceci:
    • Ctrl+Fin
    • Entrée
    • Ctrl+S

    (En clair, tu rajoutes un retour à la ligne tout à la fin de ton fichier).

    Edit: Ah, devancé.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 870
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 870
    Par défaut
    Excellent Médinoc !
    Il abandonne les explications; il passe en mode "je controle un automate"

    Je plaisante bien sûr

Discussions similaires

  1. requete, problème de débutant
    Par focus dans le forum Access
    Réponses: 4
    Dernier message: 16/02/2006, 05h51
  2. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  3. [C#][service windows] problème de débutant avec 1 timer
    Par Nycos62 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/10/2005, 11h22
  4. Réponses: 3
    Dernier message: 24/09/2005, 09h34
  5. [DB2] problèmes de débutant
    Par rémi_tounul dans le forum DB2
    Réponses: 4
    Dernier message: 21/04/2005, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo