Page 1 sur 2

Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 16:47
par Sun Tzu
Bon voila un topic pour parler de prog [:dawa]

J'ai un dm pour demain [:cupra] J'arrive à faire l'exo mais concernant le titre je comprends rien :heink:

ImageImage

Si quelqu'un passe par la , merci :jap:

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 19:07
par vanfannel_94
Plop

Pour le titre ce que j'en ai compris soit sun ton prénom et tzu ton nom de famille.

Exercice 1 :

tzusun1.c

Exercice 2 :

tzusun2.c

Etcetera :??:

Et si je suis la logique du truc tous les exercices ont trait à un seul et même programme avec des fonctions supplémentaires à chaque fois ?

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 19:23
par koskoz
Ouaip, pour chaque partie de l'exercice tu incrémentes le i de +1.
Par contre c'est merdique comme nommage de fonction, autant tout bien nommer, et mettre ça dans un .zip avec nomprenom.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 19:50
par Sun Tzu
Ouais j'avais compris qu'il fallait que j'incremente le titre de 1 , mais je sais pas comment le faire automatique , donc je le fais manuellement.


Effectivement Van l'exo porte sur un programme qui évolue et dont on rajoute des choses au fur et à mesure. C'était pour améliorer la note merdique que la classe a eu au dernier DS. J'ai à peine réussi à en faire la moitié :sleep: Enfin pas grave :)

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:02
par vanfannel_94
T'as pas à le faire automatiquement sun , c'est juste la nomenclature qu'il veut donner à ses fichiers pour pouvoir corriger.
Je suis pas un tueur en C mais mets toujours ton sujet on pourra éventuellement te donner un coup de main.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:36
par koskoz
Etant donné que c'est pour demain, moi j'aurai pas trop le temps d'aider ce soir, désolé.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:44
par Sun Tzu
T'inquietes je comprends koz :)

Voila le lien Van : http://rapidshare.com/files/160037826/e ... 0.pdf.html

Te sens pas obligé si t'as pas le temps. J'ai fais la première question vu que c'est juste un printf mais pour la seconde, j'ai tapé ça à l'arrache :

#include <stdio.h>

int entrer_un_nombre_entre ()
{printf ("veuillez entrer un nombre entre 12 et 25");
scanf("%i");

}

int main (int reponse) {
{printf ("Bienvenue ici\n") ;
}
{entrer_un_nombre_entre ;
}
{printf ("vous avez rentre : %i\n, reponse" );
}
return 0 ;
}

C'était pour dire d'écrire un truc [:tinostar]

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:54
par koskoz
Bon Sun, vite fait sans tester :

Code : Tout sélectionner

int entrer_un_nombre_entier_entre (int a, int b) {

printf ("veuillez entrer un nombre entre %d et %d", a, b);
scanf("%d", c);

return c;
}
Enfin, étonnant qu'il n'y ait pas de test de l'entier saisie pour savoir s'il est bien dans l'intervalle.

Sinon Sun, comme c'est un entier, c'est %d.

Et vla le nommage pourrit de la fonction :pfff:

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:57
par koskoz
Et dans ton main :

Code : Tout sélectionner

void main () {

int reponse;

reponse = entrer_un_nombre_entier_entre (2, 15);
printf ("vous avez rentre : %i\n, reponse" );

return 0;
}
Edit : je ne comprends pas pourquoi ton prof met "%i".

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:58
par Sun Tzu
Le %i fonctionne aussi il me semble non :??:

Merci koz mais c'est pas exactement ce qui est demandé dans l'exo . A mon avis tu as fais ce qui nous seras demandé en cours :D

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 20:59
par koskoz
Regarde bien mon autre post, j'ai fait exactement ce qui est demandé dans l'exo ;)

Le %i je sais plus pour quel type de valeur c'est, mais il doit marcher.
Enfin le %d serait plus approprié puisque c'est pour les décimales.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:07
par Sun Tzu
Merci effectivement :jap:

Je comprends pas ton " c " dans ta premiere fonction sachant que tu n'en as défini que 2 ( a, b ) :??:

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:08
par vanfannel_94
Je regarde le sujet sun, mais t'as que ça à faire ?
:??:

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:09
par koskoz
Non, en fait le a et b sont les deux entiers que la fonction prend en argument.

par exemple :

int mafonction(int a, int b)

void main
{
mafonction(1, 2);
}

ou 1 et 2 correspondent à a et b.

Mais en fait t'as raison, j'ai oublié de définir le c [:tinostar]

Donc au tout début de la fonction, tu rajoutes int c;

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:10
par Scrypt
Le c c'est juste une variable temporaire locale à la fonction qui va stocker la valeur entrée par l'utilisateur. Je vois pas ce que tu comprends pas ?
edit: oui il manque la déclaration :o

La différence entre %i et %d est quasi nulle, si ce n'est que %i sait reconnaitre un codage en hexadécimal et fait la conversion en base 10 si tu lui entres un truc genre "0xF567"

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:11
par koskoz
Non mais j'avais bien oublié de définir le c dans la fonction.
Et ouais, donc le %i sert pas dans ce cas là, son prof n'utilise pas ce qu'il devrait :o

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:11
par vanfannel_94
Sun pour t'aider à la limite fais d'abord les programmes en algo et transcris les en C par la suite.

La logique de cette exo est quand même ultra-simpliste :/

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:13
par Sun Tzu
Non c'est bon scrypt , c'était juste le fait de pas l'avoir défini au début :jap:

Par contre quand je veux la lancer cela me dit : 15, 48 Insufficient number of arguments to `entrer_un_nombre_entier_entre'.
vanfannel_94 a écrit :Je regarde le sujet sun, mais t'as que ça à faire ?
:??:
Le reste sera fait en TD :)

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:16
par koskoz
Sun Tzu a écrit :Non c'est bon scrypt , c'était juste le fait de pas l'avoir défini au début :jap:

Par contre quand je veux la lancer cela me dit : 15, 48 Insufficient number of arguments to `entrer_un_nombre_entier_entre'.
Le reste sera fait en TD :)
Fais voir tout ton programme.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:18
par Sun Tzu

Code : Tout sélectionner

#include <stdio.h>

int entrer_un_nombre_entier_entre (int a, int b, int c) {

printf ("veuillez entrer un nombre entre %d et %d", a, b);
scanf("%d", c);

return c;
}

void main () {
int reponse;

reponse = entrer_un_nombre_entier_entre (2, 15);
printf ("vous avez rentre : %i\n, reponse" );

    return 0;
    }

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:19
par koskoz
Ah mais non.

Le int c c'est dans la fonction que tu dois le mettre, pas dans l'entête, c'est pas un argument.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:26
par Sun Tzu
Je le mets apres le scanf alors ?

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:27
par Scrypt
ben non avant :D
juste apres l'entete de ta fonction, avant le printf

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:32
par Sun Tzu
Bon je suis vraiment bon à jeter

Code : Tout sélectionner

#include <stdio.h>

int entrer_un_nombre_entier_entre (int a, int b) {
int c  ;
printf ("veuillez entrer un nombre entre %d et %d", a, b);

scanf("%d",c )  ;

return c;
}

void main () {
int reponse;

reponse = entrer_un_nombre_entier_entre (2, 15);
printf ("vous avez rentre : %i\n, reponse" );

    return 0;
    }
Ce coup ci il me dit 8, 13 Warning: Local 'c' has not been initialized.
A propros du c apres le scanf [:kzimir10]

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:35
par Scrypt
int c=0; :o

c'est juste un warning.

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:37
par Sun Tzu
Effectivement :jap:

Maintenant j'ai un 19, 12 Extraneous return value.
Sur ma derniere ligne avec le return 0 :fou:

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:39
par vanfannel_94
Faut préciser que tu retournes un int quand tu déclares main, là tu dis que tu retournes void

Enfin il me semble j'ai pas touché au C depuis des lustres [:cupra]

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:40
par Scrypt
oui c'est ça :jap:

donc au lieu de void main() tu mets int main()

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:41
par Sun Tzu
Effectivement :jap

Maintenant quand je le lance j'ai un joli message d'erreur :D : NON-FATAL RUN-TIME ERROR: "michelfredericv2.c", line 8, col 13, thread id 0x000001F8: Parameter type mismatch; expecting pointer to int but found int.

Non mais laissez tomber les gens :o

Re: Topic Progra, ou comment aider sun tzu à avoir son semestre

Posté : dim. 2 nov. 2008 21:43
par vanfannel_94
rajouter un et commercial devant ton c au niveau du scanf ça risque de mieux fonctionner