Pour prendre un exemple plus parlant, tu imagines la mémoire comme un très grand tableau.
mavariable = 0;
La variable est attribué à une case quelque part dans la mémoire, cette case possède une adresse.
Maintenant tu demande à l'ordi:
printf("%d", mavariable);
Un ordi, c'est con très con, si il ne possède pas l'adresse de mavariable, il ne la trouvera pas.
C'est comme le facteur si tu veux, si il ne possède pas l'adresse de la maison, il ne pourra pas poster la lettre (donc le contenu de la lettre). On part du principe que le facteur ne connaît PAS, tout comme ton ordi, l'emplacement de la lettre (qui équivaut à l'emplacement mémoire).
Il lui faut une adresse.
Ici le principe est le même.
d'accord merci beaucoup sa me parle plus déjà
en fait c'est tout con quoi quand on a comprit avec ici le bon exemple ( je trouves ^^ ) du facteur ![]()
Le truc au début c'est de bien comprendre la différence entre l'adresse et le contenu.
Car après tu va énormément jouer là dessus.
Car après tu va énormément jouer là dessus.
-----------------
Il a raison, super important quand tu vas voir ce que sont les pointeurs ![]()
je ne suis qu'a la calculatrice pour le moment mais pour l'instant sa va je penses avoir compris je verrai par la suite
j'ai 2 questions sur la " calculatrice " et 1 autre question. une fois la calculatrice faite elle fait 1nombre + unautre si on met " + " et unnombre * unautre sur l'on met " * " mais comment fait'on pour demander a l'utilisateur qu'elle opération il veut faire en début de programme et qu'en suite les 2nombre qu'il donne soit multiplié ou additionné selon sa réponse au dessus ?? puis comment une fois le calcul fini au lieu que la console se ferme et bien elle reste ouverte et nous propose un nouveau calcul c'est a dire revenir automatiquement au début du programme ?
Et comment répondre un mot et non des chiffres ? par exemple le programme dit " 1 + 1 = 3 " est ce la bonne réponse ?" et répondre " non " au lieu de par exemple 0 pour non et 1 pour oui si vous voyez ce que je veux dire ![]()
il faut mettre des conditions! la base, c'est le menu à chiffre, tapez 1 pour multiplier, 2 pour soustraire, etc. l'utilisateur entre un nombre et selon la valeur de ce nombre, on va faire telle ou telle opération.
pareil pour les réponses! tu peux faire du préenregistré, dire que si le résultat est faux, il faut afficher non, et si le résultat convient, il faut afficher un autre truc ![]()
j'ai bien compris mais comment tu fais sa ? tu pourrai détailler s'il te plait ?
Je te conseille déjà de continuer le cours que tu es en train de faire. Tu verras les améliorations en son temps, ne presse pas les choses.
j'ai fais quelque chose mais sa ne fait que multiplier peut importe le nombre que l'on rentre aide moi STP :
int main()
{
int choix = 0, resultat = 0, nombre1 = 0, nombre2 = 0;
printf ("taper 1 pour multiplier, taper 2 pour additionner, taper 3 pour soustraire :\n\n");
scanf ("%d", &choix);
if ("choix == 1")
{
// On demande les nombres 1 et 2 à l'utilisateur :
printf("Entrez le nombre 1 : ");
scanf("%d", &nombre1);
printf("Entrez le nombre 2 : ");
scanf("%d", &nombre2);
// On fait le calcul :
resultat = nombre1 * nombre2;
// Et on affiche l'addition à l'écran :
printf ("%d * %d = %d\n", nombre1, nombre2, resultat);
}
else if ("choix == 2")
{
printf("Entrez le nombre 1 : ");
scanf("%d", &nombre1);
printf("Entrez le nombre 2 : ");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf ("%d + %d = %d\n", nombre1, nombre2, resultat);
}
else if ("choix == 3")
{
printf("Entrez le nombre 1 : ");
scanf("%d", &nombre1);
printf("Entrez le nombre 2 : ");
scanf("%d", &nombre2);
resultat = nombre1 - nombre2;
printf ("%d - %d = %d\n", nombre1, nombre2, resultat);
}
return 0;
}
où est l'erreur ? pourquoi sa ne fait pas addition et soustraction quand on tape 2 et 3 ?
Enlève les guillemets aux conditions, c'est pas des chaînes de caractères... ![]()
Aah merci merde je voyais vraiment pas pourquoi sa marché pas moi -_-
merci beaucoup sérieux !! et comment fais tu pour que lorsque j'ai fini un calcul sa en relance un de suite sans fermer la console .. j'ai vu la commande " while " mais je n'y arrive pas ?
j'ai trouvé
j'ai fais une mini calculatrice de la bombe avec fantaisies tous
![]()
une autre question
? maintenant que j'ai fini ma calculatrice comment faire pour la mettre en .exe qu'elle soit exécutable sur mon bureau que je puisses m'en servir tous sa ? ( j'utilise visual c++ 2008 )??
Quand tu compiles logiquement tu as un exécutable qui est crée.
Va voir où tu l'as installé, souvent il compile dans le même dossier).
J'ai lu un peu avant que tu te demandais en gros pourquoi on ne tape pas le C dans le bloc notes.
Le C, n'est pas du tout pareil que du HTML/CSS (qui encore une fois ne sont pas de la programmation) et aussi un peu différent du PHP.
C'est un peu voir beaucoup simplifié mais le rôle du compilateur c'est ceci:
http://static.howstuffworks.com/gif/c-compile.gif
Si dans ton exe tu aurais genre un printf('Hello world');, il te répondrai qu'il ne comprend pas ce que ça veut dire. Lui ne comprend que les instructions machines (ce qu'on représente par une fameuse suite de 0 et de 1).
Le job du compilateur, c'est justement de traduire ton printf('Hello world'); en une instruction que le processeur pourra comprendre et exécuter. Et ça bloc notes ne le fait pas.
Alors pourquoi on peut taper du PHP dans bloc notes ? Parce que PHP est légèrement différent, il est compilé ça c'est vrai, mais au moment de l'exécution, pas avant. C'est donc le serveur qui s'occupe de ce job là pas toi, alors qu'un code C pour être utilisable doit être compilé avant afin de créer un exécutable qui pourra être réutiliser par la suite.
Je sais pas si j'ai été très clair, mais la compilation c'est une chose assez importante à comprendre.
si si tu es clair j'ai bien compris ce que tu voulais dire puis sa parait logique maintenant parce que sa je le savais que l'ordinateur ne fonctionnais qu'en binaire 0 et 1 et que je me souviens avec écris des nombres en binaire en cour et que c'était tous simplement la galère alors le compilateur nous aide beaucoup oui et même si le langage C et C++ ne sont pas super facile a comprendre mais qu'il faut s'y prendre a 2 voir 3 fois pour saisir il reste bien plus simple que le binaire pour moi
. mais une autre question
? vu que le compilateur convertit en binaire et bien est-il possible de directement créer un programme en binaire ?
Non, enfin je veux dire pas en tapant des 0 et 1 comme ça au hasard.
Faut bien te dire que le binaire à proprement parler n'existe pas sous la forme de 0 et 1 (en gros si tu casses ton processeur, tu ne verras pas en sortir des 0 et des 1 xP).
Les 0 et les 1, c'est la représentation de la variation d'électricité qui passe dans le processeur (bah oui un ordi ça fonctionne avec quoi à la base ?).
Par contre il y a des langages dit de bas niveau (attention, le terme bas et haut niveau prêtent à confusion parfois, haut niveau veut dire proche du langage humain, bas niveau c'est l'inverse) qui se rapproche très fort de ce que fait le processeur, un des seuls que je connaisse c'est l'assembleur:
http://img201.imageshack.us/f/93035258sn8.jpg/
Comme tu vois, on est loin des 0 et 1 qu'on voit dans les films (on dit 0 ou 1, mais on aurait très bien pu prendre X et Y).
Donc non, taper une suite de 0 et de 1 ne fonctionnera pas (et puis sérieusement quel est l'intérêt xP ?).
l'assembleur c'est " l'asm " ? c'est si compliqué que sa parce que sa m’intéresse aussi c'est dans les register mémoire très rapide a ce que j'ai compris ?! oui je sais 1 correspond a courant et 0 a pas courant je supposes !? puis je ne sais pas je me suis dis qu'un mec callé en informatique au lieu de ce servir d'un compilateur qui traduit en 0 et 1 il pourrait directement écrire en 0 et 1 mais non merci de m'avoir répondu ![]()
J'en ai déjà vu aussi qui débuguaient en hexadécimal à la volée. Toujours respectable !