Pourquoi ce petit programme ne fonctionne pas
Résolu/Fermé
A voir également:
- Pourquoi ce petit programme ne fonctionne pas
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme bonjour ✓ - Forum Windows
- Lg non programmé ✓ - Forum TV & Vidéo
- Programme démarrage windows 10 - Guide
16 réponses
bon je ne suis pas un "pro" de l'informatique mais essai ca : (bon je n'ai surement pas tout vu encore ...)
#include <stdio.h>
#include <conio.h>
void punition(int nombreLigne)
{
int i;
char phrase[90];
i=0;
for(i=0;i<nombreLigne;i++) \\tu dois définir le nombre de ligne avant cette boucle
{
printf("%s",phrase);
}
}
int main(void)
{
int nbr;
char copie[90];
printf("Entrez le nombre de ligne:");
scanf("%d",&nbr);
printf("Entrez la phrase a répéter:");
scanf("%s",&copie);
punition(nbr,copie);
getch();
}
#include <stdio.h>
#include <conio.h>
void punition(int nombreLigne)
{
int i;
char phrase[90];
i=0;
for(i=0;i<nombreLigne;i++) \\tu dois définir le nombre de ligne avant cette boucle
{
printf("%s",phrase);
}
}
int main(void)
{
int nbr;
char copie[90];
printf("Entrez le nombre de ligne:");
scanf("%d",&nbr);
printf("Entrez la phrase a répéter:");
scanf("%s",&copie);
punition(nbr,copie);
getch();
}
Utilisateur anonyme
31 oct. 2009 à 16:56
31 oct. 2009 à 16:56
euhhh au fait je ne dois pas définir le nombre de ligne avant le int main(void)
car normalement la partie avant le int main(void) je dois l'enregistrer dans une librairie et appeler cette librairie
est ce que je me fait comprendre???????
car normalement la partie avant le int main(void) je dois l'enregistrer dans une librairie et appeler cette librairie
est ce que je me fait comprendre???????
Heu oui mais dans ce cas ce n'est pas une librairie mais un sous programme non ??? la je ne sait pas trop car je n'est pas encore vu ca ...
bon ormis ca , ton programme est en c ou en c++ ??
bon ormis ca , ton programme est en c ou en c++ ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
31 oct. 2009 à 17:10
31 oct. 2009 à 17:10
ahhh j'ai trouvé d'ou venais mon erreur
j'avais marqué ca = void punition(int nombreLigne)
alors que je devais marqué = void punition(int nombreLigne, char phrase[90])
ce problème est résolu mais maintenant quand je marque la phrase a répéter, il ne me marque que le premier mot
que dois je faire?????
j'avais marqué ca = void punition(int nombreLigne)
alors que je devais marqué = void punition(int nombreLigne, char phrase[90])
ce problème est résolu mais maintenant quand je marque la phrase a répéter, il ne me marque que le premier mot
que dois je faire?????
ok c'est en c, bon je vien de commencer la programmation cette année donc je suis pas un bon mais ca me parrait bizzard que ton sous programme resemble a une bibliothèque ?
haaaa je sait si j'ai bien compris mon cours le scanf ne prend que un seul caractère il se termine dès que tu à un espace dans ta phrase à répéter, c'est ca ?
haaaa je sait si j'ai bien compris mon cours le scanf ne prend que un seul caractère il se termine dès que tu à un espace dans ta phrase à répéter, c'est ca ?
Utilisateur anonyme
31 oct. 2009 à 17:13
31 oct. 2009 à 17:13
oui excactement il se termine dés qu'il y a un espace
et moi aussi je commence la programmation cette année :-) :-):-):-):-):-):-)
et moi aussi je commence la programmation cette année :-) :-):-):-):-):-):-)
alors il faut donc remplacer ton dernier scanf ... ( je suis en geii ^^)
mais je ne me rappel plus par quoi ...dsl
Ormis ce probleme je ne vois que l'histoire du nombredeligne qui doit etre mal défini.
Par contre ton programme tel quel n'affiche pas les lignes autant de fois que voulu on est d'accord ?
mais je ne me rappel plus par quoi ...dsl
Ormis ce probleme je ne vois que l'histoire du nombredeligne qui doit etre mal défini.
Par contre ton programme tel quel n'affiche pas les lignes autant de fois que voulu on est d'accord ?
Utilisateur anonyme
31 oct. 2009 à 17:26
31 oct. 2009 à 17:26
ben maintenant comme il est est la
si je lui dit nombre ligne =5
et la phrase est "bonjour a tous"
il va m'afficher
bonjour
bonjour
bonjour
bonjour
bonjour
donc le nombre de ligne fonctionne
si je lui dit nombre ligne =5
et la phrase est "bonjour a tous"
il va m'afficher
bonjour
bonjour
bonjour
bonjour
bonjour
donc le nombre de ligne fonctionne
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
31 oct. 2009 à 17:37
31 oct. 2009 à 17:37
le problme est que scanf arrette la lecture après le premier espace.
Tu peux le voir en essayant de faire directement printf("La phrase à copier %d fois est %s", nbr, copie) juste après ton scanf.
Il faut utiliser une autre fonction je pense.
Tu peux le voir en essayant de faire directement printf("La phrase à copier %d fois est %s", nbr, copie) juste après ton scanf.
Il faut utiliser une autre fonction je pense.
bah c'est bon si ton programme t'affiche ca c'est bien le scanf qui ne marche pas ^^ au moins on sait d'ou ca vient ... la je regarde mon cours pour voir ce qu'on peut mettre à la place
C'est bon j'ai trouvé (enfin normalement ^^) essai cette fonction à la place de ton dernier scanf et dit moi :
gets(copie[])
char copie[90];
gets(copie);
gets(copie[])
char copie[90];
gets(copie);
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
31 oct. 2009 à 17:42
31 oct. 2009 à 17:42
Je viens de trouver un truc qui ressemble : en fait il faut faire un " tableau de chaines "... comme dans la solution proposée ci dessus je crois.
Utilisateur anonyme
31 oct. 2009 à 17:45
31 oct. 2009 à 17:45
euhh en remplacant scanf("%s"copie)
par
gets(copie);
gets(copie);
sa fonctionne mais je vois pas pourquoi je dois le mettre deux fois
par
gets(copie);
gets(copie);
sa fonctionne mais je vois pas pourquoi je dois le mettre deux fois
oui c'est fort probable vu que les cours de mon prof sont souvent faux ... bon bah là dsl mais je ne peut pas t'aider plus sans voir le programme sur écran, mais ce qui est sur c'est que c'est bien cette fonction que tu dois utiliser mais tu dois chercher des info sur cette fonction car je n'en ai pas plus et j'ai moi même un projet d'info à faire et je n'y arrvie pas donc voila ...
bon courage quand même ^^
bon courage quand même ^^