| Labo 3 fonction | |
|
|
Auteur | Message |
---|
SebaM
Nombre de messages : 3 Date d'inscription : 08/11/2007
| Sujet: Labo 3 fonction Jeu 15 Nov - 23:08 | |
| est ce que quelqun me peut envoier ce program(Labo 3 fonction) j'ai une faute mais je ne la trouve pas merci d'avance hellraiser686@hotmail.com | |
|
| |
Kdiz
Nombre de messages : 43 Age : 35 Localisation : Waremme Date d'inscription : 25/09/2007
| Sujet: Re: Labo 3 fonction Ven 16 Nov - 0:25 | |
| Met ton code , peut etre qu on trouvera l erreur dans ton programme ^^ Ca t évitera de devoir piger le code de qqn d autre , pour pouvoir le tester devant legros :-) | |
|
| |
SphaX
Nombre de messages : 83 Age : 46 Localisation : A qq kilometres de st Lo Date d'inscription : 25/10/2007
| Sujet: Re: Labo 3 fonction Ven 16 Nov - 11:01 | |
| Oui c'est une meilleur idée ^^ Met ton code, je suis sur que l'un de nous sera en mesure de t'aider, met nous aussi les fautes qu'affiche ton debugeur. ( si affichage de fautes il y a ^^) | |
|
| |
SebaM
Nombre de messages : 3 Date d'inscription : 08/11/2007
| Sujet: le code Dim 18 Nov - 18:55 | |
| Mon probleme c'est seulement j' ai pas bien compris comment j'appelle corectement la fonction
//Programm: // Labo_3_Fonctions.cpp : fichier projet principal.
#include "stdafx.h" #include <stdio.h> using namespace System;
int main(array<System::String ^> ^args) { next: float tableau[6], pp; float function (tableau[6], pp); int i = 0, p = 1, f ; float m; char lettre; while ( i < 6 ) {printf (" Entrer le nombre n° %d ", i + 1 ); scanf ("%f" , &tableau[i]); i++; } function (tableau[6], pp); m = tableau[0]+tableau[1]+tableau[2]+tableau[3]+tableau[4]+tableau[5]-pp; m = ( m / 5 ); printf("\n Le moyenne sur 20 : %0.2f" , m ); printf ("\n\n\n Voulez-vous continuer o/n ? "); fflush (stdin); scanf ("%s" , &lettre); printf("\n\n"); if (lettre == 'o' ) {goto next;} if (lettre == 'n' ) {goto end;}
end: return 0; getchar(); }
//Fonction: float function(float tableau [6],float pp ); { pp = tableau[0]; while ( p < 6 ) {if (tableau[p] < pp) {pp = tableau[p]; p = p + 1; } else {p = p + 1;} } return (tableau[6], pp ); } | |
|
| |
VertigO
Nombre de messages : 97 Age : 35 Localisation : Mortroux, près de Visé Date d'inscription : 29/10/2007
| Sujet: Re: Labo 3 fonction Dim 18 Nov - 22:32 | |
| Salut, Excepté tout ceci que la plupart des gens ici ne doivent pas comprendre: - Citation :
- using namespace System;
array<System::String ^> ^args next: goto next goto end end: Je vois 5 erreurs et une modification possible: Les 5 erreurs: - La signature de la fonction { float function(float tableau [6],float pp)} se met dans "stdafx.h" et ce avec un ";" à la fin. - Dans ta fonction, ce que j'appelle l'en-tête de fonction { float function(float tableau [6],float pp );} ne prend pas de ";". Seule la signature de la fonction en prend. - Quand tu appelles ta fonction dans le main, tu dois stocker le résultat que retourne ta fonction dans une variable, ce que tu ne fais pas là. Exemple: resultat_calcul = function (tableau); (voir point suivant pour comprendre pourquoi uniquement cela dans les paramètres. - Or, comme j'écris ceci, je remarque que tu envois à "function" le paramètre pp. Or pp n'est pas déclaré dans ton main. Ainsi, tu envoies un paramètre qui n'existe pas à "function". Dans ton cas, tu ne devrais envoyer que tableau. Remarque qu'on ne place pas les crochet quand on envoi un tableau. - Dans "function", tu retournes trop de choses ! Tu ne peux retourner qu'une seule variable dans une fonction, et dans ton cas je ne retournerai que le résultat du calcul de la moyenne ! La modification possible: - Tu écris: { scanf ("%s" , &lettre);} - J'écrirai plutôt { scanf ("%c" , &lettre);} car tu n'attends pas une chaine de caractère mais seulement un seul caractère, 'o' ou 'n'. PS.1: d'où tu les sors ce que j'ai mis en citation là ? C'est pas sensé être déjà vu çà... PS.2: je te conseille vivement de participer à la séance de rattrapage que j'organise ce lundi à 8h45 à la cafétaria. | |
|
| |
rich
Nombre de messages : 52 Age : 36 Localisation : Liège/Athus Date d'inscription : 25/09/2007
| Sujet: Re: Labo 3 fonction Lun 19 Nov - 0:32 | |
| je crois que les "using namespace" et les "variable < machintruc" c'est du C++
et si tu les utilises, #include<iostream.h> | |
|
| |
VertigO
Nombre de messages : 97 Age : 35 Localisation : Mortroux, près de Visé Date d'inscription : 29/10/2007
| Sujet: Re: Labo 3 fonction Lun 19 Nov - 18:23 | |
| Salut Rich,
Oui, je confirmes: C++.
Du reste, elles ne servent à rien dans le TP, et je crois pas que le prof (surtout si tu as Legros en labo) accepte çà. | |
|
| |
jema
Nombre de messages : 2 Date d'inscription : 21/10/2007
| Sujet: Re: Labo 3 fonction Jeu 22 Nov - 13:56 | |
| - VertigO a écrit:
- - La signature de la fonction
{float function(float tableau [6],float pp)} se met dans "stdafx.h" et ce avec un ";" à la fin. La signature se met dans sdafx? Hein? Je peux avoir un exemple svp monsieur? :-) Et pour ce qui est d'utiliser des "outils" du language C++ dans vos programmes C, c'est effectivement une très mauvaise habitude car en deuxième vous devrez vous en défaire... autant commencer maintenant donc. (par exemple avoir une extension de fichier *.cpp est déjà une très mauvaise idée ;-) je vous assure que vous gagnerez des points si vous ne le faites pas.) Jema | |
|
| |
VertigO
Nombre de messages : 97 Age : 35 Localisation : Mortroux, près de Visé Date d'inscription : 29/10/2007
| Sujet: Re: Labo 3 fonction Ven 23 Nov - 1:10 | |
| Salut, - Citation :
- La signature se met dans sdafx? Hein? Je peux avoir un exemple svp monsieur? :-)
Of course ! Ici un programme très stupide qui calcul un produit de deux nombres entrés dans une fonction au lieu de le faire dans le main. - Code:
-
/***************STDAFX.H****************** ----------------------------------------*/
//Directives de pré-processeur
#include <stdio.h> //Déjà ajouté par Visual Studio #include <conio.h> #include <tchar.h> //Déjà ajouté par Visual Studio
//Signature des fonctions
int PRODUIT(int nombre_1,int nombre_2); //<------------------ signature
/***************MAIN.CPP******************* -----------------------------------------*/
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[]) { //Déclarations int nb_1, nb_2, resultat; //Entrée des données printf ("\nEntrez nombre 1 : "); scanf ("%d", &nb_1); printf ("\nEntrez nombre 2 : "); scanf ("%d", &nb_2);
//Appel de la fonction produit resultat = PRODUIT(nb_1,nb_2);
//Affichage des résulats printf ("\nLe resultat du produit est: %d", resultat);
getch(); return 0; }
/***************PRODUIT.CPP****************** -------------------------------------------*/
#include "stdafx.h"
int PRODUIT(int nombre_1,int nombre_2) { //Déclaration des variables int solution; //Calcul du produit solution = nombre_1 * nombre_2;
//On retourne la valeur de la variable solution à la fonction main return solution; }
Je suis d'accord avec toi quand tu dis qu'utiliser des fichiers *.cpp pour faire du C c'est stupide... (cpp = c plus plus). Les profs ne s'en soucient pas trop pour le moment, donc laissons courir; viendra le temps où nous ferons du C++ aussi.. | |
|
| |
jema
Nombre de messages : 2 Date d'inscription : 21/10/2007
| Sujet: Re: Labo 3 fonction Jeu 10 Jan - 16:11 | |
| Merci pour la réponse rapide. :-) Suis venu voir un peu tard! ^^
Pour STDAFX dans un vrais programme C, ca n'existe pas. C'est pour ca que ca m'étonnait. Stdafx n'existe QUE pour visual studio.
Pour ce qui est de ton exemple de code, c'est dans 1 fichier ou deux? Si c'est dans un fichier j'ai pas compris, si c'est dans deux alors le fichier stdafx peut, à mon avis, s'appeller n'importe comment. "signatures.h" par exemple. En tout cas je n'affirme rien car manifestement il y a des petites changements avec la version précédante de visual studio. On n'avait pas exactement ca l'année passée.
Donc je me trompes peut-être.. mais une chose est sur, faire du C pur est peut-être un peu plus difficile au début, mais ca permet de savoir exactement ce qui est standard et ce qui est apporté par le compilateur, ce qui me semble intérressant à connaître, ca rend le changement de compilateur plus facile.
Jema | |
|
| |
VertigO
Nombre de messages : 97 Age : 35 Localisation : Mortroux, près de Visé Date d'inscription : 29/10/2007
| Sujet: Re: Labo 3 fonction Jeu 10 Jan - 16:55 | |
| Yep, Personnellement Visual Studio j'appelle çà une sale bête. Etant signé microsoft il apporte plein de trucs qui servent à rien et qui font chier tout le monde. J'utilise pour la programmation Code::Blocks, un IDE LIBRE qui malheureusement est en anglais (j'ai essayé de trouver une traduction sans succès, je vais pt tenter d'en faire une). Il est bien plus malin que VS, et n'ajoute pas toutes ces conneries de stdafx.h & stdafx.cpp etc... En ce qui concerne les fichier d'entête tels que stdafx.h, il est évident qu'en créant un projet vide (sans entête précompilé) on peut créer soit même ses fichiers d'entête et les inclure comme si c'était ce foutu stdafx. - Citation :
- Donc je me trompes peut-être.. mais une chose est sur, faire du C pur est peut-être un peu plus difficile au début, mais ca permet de savoir exactement ce qui est standard et ce qui est apporté par le compilateur, ce qui me semble intérressant à connaître, ca rend le changement de compilateur plus facile.
D'accord, même si le top pour commencer reste l'API (assez complexe il faut avouer). | |
|
| |
Contenu sponsorisé
| Sujet: Re: Labo 3 fonction | |
| |
|
| |
| Labo 3 fonction | |
|