Imladris production

Le forum français de création de cartes et de mods pour Bataille pour la Terre du Milieu
 
AccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 C++

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
AuteurMessage
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Sam 28 Nov - 21:25

J'ai remarquer que la condition switch n'admettait pas les < ou > qu'une variable.....Alors que ca marche avec le if....
C'est normale?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Dim 29 Nov - 1:47

Dans le switch tu ne peut mettre que des test d'égalité de valeurs fixes et connu a la compilation (donc pas de switch avec pour valeur des variable).
Par exemple :
Code:
if (variable == 1)
{
   /* instructions A */
}

else if (variable == 2 || variable == 3)
{
   /* instructions B */
}

else if (variable == 4)
{
   /* instructions C */
}

else
{
   /* instructions D */
}

c'est comme si tu mettait :
Code:

switch (variable)
{
   case 1:
      /* instructions A */
      break;

   case 2:
   case 3:
      /* instructions B */
      break;

   case 4:
      /* instructions C */
      break;

   default:
      /* instructions D */
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Dim 11 Avr - 12:03

Bon ben je me remet a la programmation^^

Ca veu dire que je vais poser plein de question et que cdd va poser plein de réponses.... Smile
(comme ca ca fera 2 topic acifs dans le forum.....)

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Dim 11 Avr - 20:31

Ha ba ca commence déjà......
Je fessais des petits test pour retrouver mon niveau et lorsque j'essaye de faire une fonction pour afficher un nombre aléatoire ca me met plein d'erreurs pleure

Voila le code foireux:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int triple(int nombreMystere);


int main ( int argc, char** argv )
{
   int meganombre;
   printf("%d",aleatoire(meganombre));
   system("pause");
   return 0;   
}

int aleatoire(int nombreMystere)
{
   srand(time(NULL));
   nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
   return nombreMystere;
}

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Dim 11 Avr - 22:58

Ah !!! mais dans le genre foireux ya pas plus foireux j'ai envie de dire lol!

tu déclare :
Code:
int triple(int nombreMystere);
mais après ta fonction s'appelle :
Code:
int aleatoire(int nombreMystere)

je suppose bien sur que tu as bien mis un #define pour MIN et MAX ......

j'ai pas compris a quoi servait ton "meganombre"

Retient bien que la fonction srand tu ne l'appelle qu'une seule fois dans le programme au début du main par exemple, ensuite, au milieu du programme la fonction rand te renvoit une valeur (pseudo) aléatoire

Je te conseille de faire une fonction : int aleatoire(int min, int max) qui te renvoit un nombre entre min et max Wink

D'autres questions ? Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
juhlenedni
Moddeur expert
Moddeur expert


Nombre de messages : 683
Age : 13
Location : Longitude : 02° 17' 40'' E Latitude : 48° 51' 30'' N
Add-On : oui
Date d'inscription : 26/09/2009

MessageSujet: Re: C++   Lun 12 Avr - 11:34

Faudrait que j'essaye vraiment de m'y mettre un jour, c'est un peu la base de tout programme??
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.clic-solidaire.com/sites/index.php?sites_id=1
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Lun 12 Avr - 11:36

Rha putain!
J'avais oublier de changer le prototype lol!
J'étais parti d'un programme où il y avait la fonction triple et j'ai oublier de changer son nom Smile
Quel boulet^^

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Lun 12 Avr - 12:17

cdd59554 a écrit:
Ah !!! mais dans le genre foireux ya pas plus foireux j'ai envie de dire lol!
Je croi bien que je vien de pulvériser mon record^^
Je mettais dis que j'avais tou compris alors pour le fun j'ai fais un petit programme où on demande 2 nombre et on en affiche un aléatoire entre eux.

Et BAM : 7 Erreurs , 1 avertissement Smile

Je vais tomber en dépression a force..... triste
Code:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int aleatoire(int MIN, int MAX);


int main ( int argc, char** argv )
{
   srand(time(NULL));
   int premiernombre , deuxiemenombre;
   printf("Un nombre aleatoire sera choisi entre deux autres que vous alez choisir:\nPremier nombre:");
   scanf("%d\n",&premiernombre);
   printf("deuxième nombre:\n");
   scanf("%d\n",&deuxiemenombre);
   printf("Nombre aleatoire:\n%d",aleatoire(premiernombre,deuxiemenombre));
   system("pause");
   return 0;   
}

int aleatoire(int MIN, int MAX)
{
   nombrealeatoire = (rand() % (MAX - MIN + 1)) + MIN;
   return nombrealeatoire;
}

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Lun 12 Avr - 17:51

Tu peut pas me copier les messages d'erreurs pour m'aider ? Smile Remarque, qu'en général, les messages d'erreur t'aident à trouver tes erreurs (nan sans blague ?!?) tu devrait pouvoir les corriger normalement Very Happy

sinon bin dans ta fonction nombre aléatoire tu ballance un nombrealeatoire comme ça. Il faut juste dire que c'est un int donc
Code:
nombrealeatoire = (rand() % (MAX - MIN + 1)) + MIN;
devient :
Code:
int nombrealeatoire = (rand() % (MAX - MIN + 1)) + MIN;

ou mieux, carrement faire :

Code:
int aleatoire(int MIN, int MAX)
{
  return (rand() % (MAX - MIN + 1)) + MIN;
}

au lieu de créer la variable puis de renvoyer juste après le résultat, autant renvoiyer directement le résultat
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Lun 12 Avr - 19:25

Arf
Que d'erreurs bêtes.....
Mais il reste encore 5 erreurs^^
Pour le message d'erreurs il me met:
Citation :
'fonction' : conversion de 'time_t' en 'unsigned int', perte possible de données
Citation :
erreur de syntaxe : absence de ';' avant 'type'
Où ca ???

Et apres c'est que des "identificateur non déclaré" sur Premier nombre et deuxiemenombre.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Lun 12 Avr - 20:10

C'est quoi ton compilateur ou bien logiciel que tu utilises pour programmer ?

Argh je me demandait pourquoi ca te mettait une erreur et pas à moi Mad , en fait en C il faut déclarer tes variables au début de la fonction donc avant d'appeller srand(time(NULL)) ... (moi je compilais en C++ et j'avais pas d'erreur car on peut déclarer les variables ou on veut dans le code)

Et pour l'erreur des pertes de donnée machin chose essaye de mettre ca :
Code:
srand((unsigned int)time(NULL));
Au moins on indique bien qu'on veut convertir un type time_t en unsigned int.
Ya une vrai perte de donnée car time_t est généralement un entier sur 64 bits alors que unsigned int est sur 32 bits (sur des machine avec un processeur 32 bits), mais nous en s'en fou royalement, tout ce qu'on veut c'est un nombre qui soit différent à chaque exécution du programme.
Normalement il ne devrait plus y avoir de message

en résumé remplace :
Code:
  srand(time(NULL));
  int premiernombre , deuxiemenombre;
par :
Code:
  int premiernombre , deuxiemenombre;
srand((unsigned int)time(NULL));
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Mar 13 Avr - 15:14

Rha non ca va pas recommencer! Sad

Je sais d'où vient le problème.......
C'est le compilateur . J'utilise Visual et j'ai déjà eu des problèmes avec.....

Dans code blocks le code marche a merveille Very Happy

Avec Visual meme des codes dans le tuto ne marchent pas......

Donc je vais continuer avec Code Blocks^^

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Mar 13 Avr - 16:32

Bizarre moi j'ai visual qui marche impec et c'est code block qui foire chez moi Neutral
Au fait t'en été arrivé à quel tuto ? c'est quand que tu passe au C++ ? Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Mar 13 Avr - 16:49

Pour l'avancement dans le tuto ben ....Embarassed


Et pour le C++ :
J'adore la SDL^^
On peu faire plein de truc avec.....
Quand on voi que wold of goo est en SDL (je pense pas que ca soit la seul librairie ) , ca ouvre plein de possibilitées.
Donc je vais rester un petit peu sur le C....

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Ven 16 Avr - 21:09

Mouai ... SDL c'est bof je trouve, par contre je ne savais pas que world of goo avait été créé avec Mad

C'est quoi pour l'instant le plus gros projet dans lequel tu t'es lancé ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Ven 16 Avr - 21:47

cdd59554 a écrit:

C'est quoi pour l'instant le plus gros projet dans lequel tu t'es lancé ?
Un projet plutôt simple qui me fera gagner 1000€.
Je ne me surestime pas , yen a qui ont gagner les 1000€ avec un truc plus pouri.
Je vous expliquerais ce fameux projet quand j'aurais le niveau pour ok!

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Ven 16 Avr - 23:51

Essaye de compiler ça :
c'est du pur C Smile

Code:
#include <stdio.h>
#include <stdlib.h>
??=include <time.h>

#define repas main
#define patate printf
??=define soupe patate("\nentrez un nombre...\n"),scanf
#define cuiller a:soupe
#define de
#define poudre de
typedef int sel;
typedef char* sucre;

sucre T = "Plus\n\0Moins\n\0Gagne\n\0%d";
sel repas(sel de table, sucre en poudre [])
{

   sel C[]=??<0x19<<('-'-'+'),time(0)%*C};cuiller(&20[T],&C);
   patate(T+(*C<1??(C]?0:(*C>C??(1]?6:'\r')));if(*C!=C[1??))

   goto a;
   system("pause");
   return 0; 
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Sam 17 Avr - 12:15

scratch
C'est quoi ce truc?

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Sam 17 Avr - 13:41

Je refesais les exos du chapitre sur les tableaux que j'avais déjà fais les grandes vacances dernières et je tombe sur un truc que je comprend pas :


Pourtant je ne croi pas avoir fais d'erreurs :
Code:
#include <stdio.h>
#include <stdlib.h>
int sommeTableau(int tableau[], int tailleTableau);


int main(int argc, char *argv[])
{
    int tableau[4] = {10, 10, 20, 60};
    printf("%d",sommeTableau(tableau, 4));
    return 0;
}

int sommeTableau(int tableau[], int tailleTableau)
{
    int i, somme;
    for ( i=0 ; 1<tailleTableau ; i++)
    {
        somme = somme +tableau[i] ;
    }
    return somme;
}

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Sam 17 Avr - 16:08

Mon programme tu l'a testé ? c'est un plus ou moins qui compile et qui fonctionne parfaitement Wink Après ce qui est drole c'est d'essayer de le comprendre Razz

Pour ton programme c'est simple, voila ton erreur :
Citation :
for ( i=0 ; 1<tailleTableau ; i++)
{
somme = somme +tableau[i] ;
}
t'as mis un 1 à la place de i.... donc forcément, la condition pour continuer la boucle est toujours vrai et le programme continue à l'infini de lire en mémoire beaucoup plus loin que le tableau donc crash...

Le genre d'erreur qui arrive, qu'on retrouve facilement à l'aide d'un débugger Razz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Sam 17 Avr - 16:24

cdd59554 a écrit:
Mon programme tu l'a testé ? c'est un plus ou moins qui compile et qui fonctionne parfaitement Wink Après ce qui est drole c'est d'essayer de le comprendre Razz
Avec moi il ne marche pas....
10 erreures et 9 warning
Citation :

t'as mis un 1 à la place de i.... donc forcément, la condition pour continuer la boucle est toujours vrai et le programme continue à l'infini de lire en mémoire beaucoup plus loin que le tableau donc crash...
lol!
C pas la première fois que je confond le i avec le 1^^
Merci.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Sam 17 Avr - 17:05

chez moi il fonctionne Razz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Sam 17 Avr - 17:33

Il met qu'il ne reconnait pas les "?".
Et ya plein d'autres truc^^

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Sam 17 Avr - 20:28

tu compile avec quoi ? car normalement ??= c'est équivalent à #
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jolaerpitola
Mappeur, moddeur incontesté
Mappeur, moddeur incontesté


Nombre de messages : 2609
Age : 22
Add-On : oui
Date d'inscription : 24/07/2008

MessageSujet: Re: C++   Dim 18 Avr - 12:13

Je compile avec code blocks puisque visual ne marche pas.....

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com/
cdd59554
Admin


Nombre de messages : 7235
Age : 24
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: C++   Dim 18 Avr - 12:46

ah ok, moi je compile avec visual et ca marche Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: C++   Aujourd'hui à 9:55

Revenir en haut Aller en bas
 
C++
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 6 sur 10Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Imladris production :: L'auberge du ponet fringant. :: Discussion continue-
Sauter vers: