TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : 1 | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||
| Page : 1 | |||
minishlink
|
# Posté le 03/12/2005 à 10:24:37 | ||
Quand on veut, on peut !![]() Groupe : Membres |
Voila mon programme marchait et puis j'ai rajouté un truc et cela ne marchait plus ....
Voilà le code : Code : C #include <stdio.h>
#include <stdlib.h> int main(int argc, char *argv[]) { long nb; //c'est une déclaration des variables nb = 5; printf ("Compte jusqu'à %d , s'il te plait console .", nb); printf ("\n\n"); nb = 1; printf ("%d", nb); printf("\n\n"); nb = 2; printf ("%d", nb); printf ("\n\n"); nb = 3; printf ("%d", nb); printf ("\n\n"); nb = 4; printf ("%d", nb); printf ("\n\n"); nb = 5; printf ("%d", nb); printf ("\n\n\n\n"); printf ("Bravo ! Tu as reussi à compter jusqu'à %d !" ,nb); printf ("\nC'est bien ma petite console adoree ... \n\n\n\n"); printf ("Maintenant, toi utilisateur ecris l'age que tu as s'il te plait .\n"); long oui = 0; scanf("%d" , &oui); if (oui==12) { printf("\nTu as 12 ans !!! Réponds à l'autre question...\n\n"); printf("Tu t'appelles comment ? \n"); long nom = 0; scanf("%d", nom); if(nom=="louis", "Louis"); { printf("\nTu t'appelles comme moi ! \nTu as le droit de quitter !\n\n"); system("PAUSE"); return 0; else { printf("C'est pas bien tu t'appelles pas Louis .... !!!!!"); system"PAUSE"; return 0; } } } else { printf("\nC'est pas bien tu n'as pas 12 ans ...\n"); printf("Reessaye ...\n\n"); oui = 0; scanf ("%d", &oui); if (oui==12) { printf("\n\nTu as 12 ans !!! Réponds à l'au tre question...\n\n"); printf("Tu t'appelles comment ?"); long nom = "je n'ai pas de nom"; } else { printf ("\nTu n'as toujours pas l'age valide ...\n\n"); system("PAUSE"); return 0; } } } Pouvez vous m'aidez ? Il me dit qu'il y a une erreur à la ligne où il y a Citation : Mon code if (nom=="louis" , "Louis")
LyokoProject : Jeu de stratégie en ligne par Minishlink et Sam101. Mon DevBlog : L'actualité de mes projets PC et NDS Mon Univers Netvibes : Ma page publique Netvibes (RSS) Ma page Perso : Moi et mes créations Codeur C/SDL/PA_lib | Codeur C++/SFML/Qt | Codeur PHP/xHTML/CSS |
||
drexil
|
# Posté le 03/12/2005 à 10:47:43 | ||
|
Acolyte du pourfendeur Groupe : Membres |
essaye pas d'aller trop vite.
long c'est un entier, pas une chaîne de caractères. en plus ton if est incompréhensible, il fait quoi le ', "Louis"' ici? puis on déclare les variables au début de la fonction, avant toutes instructions bref ton code est nawak, attend la suite du cours plutôt. |
||
rotoclap
|
# Posté le 03/12/2005 à 16:51:07 | ||
Secrétaire intérim du SdZ![]() ![]() |
Déjà, on compare pas une chaine comme ça, on utilise strcmp.
Ensuite, les multiples tests de condition ça se fait pas comme ça. Si par exemple, tu veux qu'un if teste si une variable soit à 3 ou 5 tu dois faire comme ça : Code : C if((variable == 3) || (variable ==5)) Code : Bash
|
||
mleg
|
# Posté le 04/12/2005 à 17:48:58 | ||
|
None Groupe : Membres |
|||
toto
|
# Posté le 04/12/2005 à 18:42:00 | ||
la vie n'est qu'une fête![]() Groupe : Membres |
Euh, je pense qu'il y a plusieurs raisons, déjà pour entrer des lettres c'est pas %d mais %s (enfin, je crois corrigé moi si c'est pas ça) ensuite, je viens de lire sur le topic "convention et aide" : Citation : drexil
une chaîne de caractères:
* ne se déclare pas avec long ou double. * ne s'obtient pas avec un scanf("%d", &ma_variable); * ne se teste pas avec l'opérateur == J'espère que c'est clair. Vous ne savez pas encore vous servir de chaînes de caractères, donc n'essayez pas, ou alors allez voir comment faire sur internet. donc voilà je pense que tu devrais attendre fais comme moi, je m'étais lancé aussi dans quelque chose avec les lettres, mais ça devient plus compliqué, alors patiente encore un peu
|
||
SuperMat
|
# Posté le 04/12/2005 à 19:02:18 | ||
![]() Groupe : Membres |
Pour les chaînes de caractères, c'est bien %s et pour un caractère, c'est %c.
A noter qu'un caractère peut être vu comme un entier (le contraire n'est pas vrai), contrairement aux chaînes. De même, la lecture d'une chaîne ne nécessite pas de &, mais les autres types si (vous verrez pourquoi avec l'arrivée des pointeurs). Donc : pour un entier Code : C int monEntier; scanf("%d", &monEntier); mais pour une chaîne : Code : C char maChaine[50]; // 50 caractères maxi scanf("%s", maChaine); |
||
mleg
|
# Posté le 04/12/2005 à 19:13:45 | ||
|
None Groupe : Membres |
... heu ben en fait rien. Long, c'est pour les nombres.
Édité
le 01/01/2006 à 17:25:47
par mleg
|
||
drexil
|
# Posté le 04/12/2005 à 19:20:02 | ||
|
Acolyte du pourfendeur Groupe : Membres |
Citation : SuperMat
Pour les chaînes de caractères, c'est bien %s et pour un caractère, c'est %c.
A noter qu'un caractère peut être vu comme un entier (le contraire n'est pas vrai), contrairement aux chaînes. De même, la lecture d'une chaîne ne nécessite pas de &, mais les autres types si (vous verrez pourquoi avec l'arrivée des pointeurs). Donc : pour un entier Code : C int monEntier; scanf("%d", &monEntier); mais pour une chaîne : Code : C char maChaine[50]; // 50 caractères maxi scanf("%s", maChaine); scanf pour un entier à la limite, mais pas pour une chaîne :/ fgets est bcp mieux pour ça: Code : C char chaine[51];
fgets(chaine, 50, stdin); |
||
Retour au forum "Langage C" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
468 Zéros connectés |
8 requêtes |
0.0346s (0.0109s)
