| C++ | |
|
+12Tom bowl028 juhlenedni Glone Bafor politotig Navgerad Bfme2rotwk P ! P 0 leo11 Jolaerpitola cdd59554 16 participants |
|
Auteur | Message |
---|
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Date d'inscription : 24/07/2008
| Sujet: 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? | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: 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 */ } | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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.... (comme ca ca fera 2 topic acifs dans le forum.....) | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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 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; }
| |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Dim 11 Avr - 22:58 | |
| Ah !!! mais dans le genre foireux ya pas plus foireux j'ai envie de dire 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 D'autres questions ? | |
|
| |
juhlenedni Moddeur expert
Nombre de messages : 683 Age : 21 Location : Longitude : 02° 17' 40'' E Latitude : 48° 51' 30'' N Add-On : oui Date d'inscription : 26/09/2009
| Sujet: 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?? | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: Re: C++ Lun 12 Avr - 11:36 | |
| Rha putain! J'avais oublier de changer le prototype J'étais parti d'un programme où il y avait la fonction triple et j'ai oublier de changer son nom Quel boulet^^ | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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
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 Je vais tomber en dépression a force..... - 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; } | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Lun 12 Avr - 17:51 | |
| Tu peut pas me copier les messages d'erreurs pour m'aider ? Remarque, qu'en général, les messages d'erreur t'aident à trouver tes erreurs (nan sans blague ?!?) tu devrait pouvoir les corriger normalement 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 | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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. | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: 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 , 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)); | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: Re: C++ Mar 13 Avr - 15:14 | |
| Rha non ca va pas recommencer! 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 Avec Visual meme des codes dans le tuto ne marchent pas...... Donc je vais continuer avec Code Blocks^^ | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Mar 13 Avr - 16:32 | |
| Bizarre moi j'ai visual qui marche impec et c'est code block qui foire chez moi Au fait t'en été arrivé à quel tuto ? c'est quand que tu passe au C++ ? | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: Re: C++ Mar 13 Avr - 16:49 | |
| Pour l'avancement dans le tuto ben .... 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.... | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: 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 C'est quoi pour l'instant le plus gros projet dans lequel tu t'es lancé ? | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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 | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Ven 16 Avr - 23:51 | |
| Essaye de compiler ça : c'est du pur C - 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; } | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: Re: C++ Sam 17 Avr - 12:15 | |
| C'est quoi ce truc? | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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; }
| |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: 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 Après ce qui est drole c'est d'essayer de le comprendre 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 | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: 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 Après ce qui est drole c'est d'essayer de le comprendre
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... C pas la première fois que je confond le i avec le 1^^ Merci. | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Sam 17 Avr - 17:05 | |
| chez moi il fonctionne | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: Re: C++ Sam 17 Avr - 17:33 | |
| Il met qu'il ne reconnait pas les "?". Et ya plein d'autres truc^^ | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Sam 17 Avr - 20:28 | |
| tu compile avec quoi ? car normalement ??= c'est équivalent à # | |
|
| |
Jolaerpitola Mappeur, moddeur incontesté
Nombre de messages : 2609 Age : 29 Add-On : oui Date d'inscription : 24/07/2008
| Sujet: Re: C++ Dim 18 Avr - 12:13 | |
| Je compile avec code blocks puisque visual ne marche pas..... | |
|
| |
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: C++ Dim 18 Avr - 12:46 | |
| ah ok, moi je compile avec visual et ca marche | |
|
| |
Contenu sponsorisé
| Sujet: Re: C++ | |
| |
|
| |
| C++ | |
|