Pb de déclarations ?

Résolu
k_otik Messages postés 15 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 27 mars 2006 - 3 mai 2005 à 15:45
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 3 mai 2005 à 20:15
bonjour à tous, j'espère que vous pourrez m'aider.
J'ai souvent des problèmes de calculs de nombre, voici un extrait de mon programme.

int x, y;
char var[5];
var[1] = 36;
x = x + 2 ;
y = y - 2 ;
var[2] = var[1] + 99998*log10(3);
printf("%i\n", var[2]);
system("PAUSE");

Hélas j'obtiens -58 à la place du bon résultat :(...

Merci de votre aide.

9 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 mai 2005 à 16:11
bé déjà ya beaucoup de bidule à changer lol

char var[5]; <= Tableau de caractères.
var[1] = 36; Pourquoi tu stocks un nombre donc ???

et pourquoi tu commences pas par 0 ? car les tableaux commencent à 0.

x = x + 2;
x n'as pas de valeur d'initialisation, et tu lui ajoutes 2... Il risques pas trop de comprendre
De même pour y = y-2
Bon et pour le reste, bah ça implique la discution d'au dessus.

Ainsi :::

int var[5];
var[0] = 36;
C'est déjà ça, après le reste, je sais pas ce que tu veux faire, mais bon...
Corrige déjà ça


void Aurevoir( void ); //Bonne journée
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 mai 2005 à 17:37
à bon ???
On peut faire char a = 12 ???
Ben j'apprend lol


void Aurevoir( void ); //Bonne journée
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
3 mai 2005 à 18:10
Bien sur, un caractère veut juste dire en fait "1 octet"

Et qu'est ce que tu diras quand tu verras DWORD d = 'Joky';
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 mai 2005 à 18:18
Hum Hummmm, c'est étrange tous ces types lol. Desfois je les utilise sans même savoir à quoi il serve.
Par exemple DWORD, on en parle pas trop dans msdn de ce truc
après il y a les LPSTR qui sont des long pointeur sur des chaines de caractère je suppose, mais quand faut-il les utilisés ??? Bref, si quelqu'un aurait un tableau, avec tous les types possible ca serait cool

Et DWORD d = 'Joky' n'a rien d'étonnant, je pense même qu'il devrait avoir cette variable dans tous les programmes :).
A bon entendeur :) Salut;)


void Aurevoir( void ); //Bonne journée
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
3 mai 2005 à 18:40
DWORD = unsigned int, c'est 4 octets en gros.

Tu dois trouver le genre de tableau que tu cherches dans Petzold j'imagine...
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
3 mai 2005 à 18:46
Je ne le retrouve pas, je pensais pourtant l'avoir vu quelque part

Dans windef.h tu en as déja pas mal, tu peux regarder. De toutes facons
à force de les utiliser, tu finira par t'habituer, leurs noms sont
assez explicites: cuex qui commencent par LP sont des pointeur, et LPC
des pointeurs constants.

Il n'y en a aucune que tu est obligé d'utiliser (puisque ce sont des
simples typedef), mais certaines sont très utiles car permettent de
marcher aussi bien en ANSI qu'en unicode: LPCTSTR veut dire const char*
en ANSI et const wchar_t* en UNICODE.
3
k_otik Messages postés 15 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 27 mars 2006
3 mai 2005 à 19:47
Déja merci d'avoir répondu.
Petite explication, tous les trucs que tu m'as dit à initialiser plus de commencer le tableau à var[0], c'est fait quand même, j'ai juste poster ce que me paraissait utile pour que vous compreniez.

"char var[5]; <= Tableau de caractères.
var[1] = 36; Pourquoi tu stocks un nombre donc ???"
Hum je viens d'apprendre un truc de très important apparement ( étant quand même débutant en C/C++).
Alors là j'aimerais bien savoir comment mettre des nombres de la taille suffisante dans un tableau ?
Je pense pas que int var[10000] ca existe. bon assez parler je vais essayer de faire marcher tout çà.
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
3 mai 2005 à 20:15
tu peux évidemment faire un tableau de int aussi, donc int var[10000] marche bien
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
3 mai 2005 à 17:01
var[2] est un char, et peut donc prendre des valeurs en -128 et 127, la
valeur que tu obtiens n'est donc pas bonne, car supérieure à 127.
0
Rejoignez-nous