Problem avec un programme
Résolu/Fermé
BloodKnight
Messages postés
17
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
27 mars 2008
-
23 févr. 2008 à 18:10
BloodKnight Messages postés 17 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 27 mars 2008 - 27 févr. 2008 à 23:40
BloodKnight Messages postés 17 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 27 mars 2008 - 27 févr. 2008 à 23:40
A voir également:
- Problem avec un programme
- Programme demarrage windows 10 - Guide
- Desinstaller un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme démarrage windows 10 - Guide
4 réponses
Bonjour,
le corrigé:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
char *mois(int n)
{
char s1[12]="janvier",s2[12]="fevrier",s3[12]="mars",s4[12]="avril",s5[12]="mai";
char s6[12]="juin",s7[12]="juillet",s8[12]="aout",s9[12]="octobre",s10[12]="septembre",s11[12]="novembre",s12[12]="decembre";
switch(n)
{
case 1: {strcpy (mois,s1);break;}
case 2: {strcpy (mois,s2);break;}
case 3: {strcpy (mois,s3);break;}
case 4: {strcpy (mois,s4);break;}
case 5: {strcpy (mois,s5);break;}
case 6: {strcpy (mois,s6);break;}
case 7: {strcpy (mois,s7);break;}
case 8: {strcpy (mois,s8);break;}
case 9: {strcpy (mois,s9);break;}
case 10:{strcpy (mois,s10);break;}
case 11:{strcpy (mois,s11);break;}
case 12:{strcpy (mois,s12);break;}
}
return(mois);
}
int main()
{
char s[12];
int n;
do {
printf("donner le numero du mois que vous voulez savoir: ");
scanf("%d",&n);
}while((n<=0)||(n>12));
printf("le mois %d est %s\n",n,mois(n));
getch();
return 1;
}
le corrigé:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
char *mois(int n)
{
char s1[12]="janvier",s2[12]="fevrier",s3[12]="mars",s4[12]="avril",s5[12]="mai";
char s6[12]="juin",s7[12]="juillet",s8[12]="aout",s9[12]="octobre",s10[12]="septembre",s11[12]="novembre",s12[12]="decembre";
switch(n)
{
case 1: {strcpy (mois,s1);break;}
case 2: {strcpy (mois,s2);break;}
case 3: {strcpy (mois,s3);break;}
case 4: {strcpy (mois,s4);break;}
case 5: {strcpy (mois,s5);break;}
case 6: {strcpy (mois,s6);break;}
case 7: {strcpy (mois,s7);break;}
case 8: {strcpy (mois,s8);break;}
case 9: {strcpy (mois,s9);break;}
case 10:{strcpy (mois,s10);break;}
case 11:{strcpy (mois,s11);break;}
case 12:{strcpy (mois,s12);break;}
}
return(mois);
}
int main()
{
char s[12];
int n;
do {
printf("donner le numero du mois que vous voulez savoir: ");
scanf("%d",&n);
}while((n<=0)||(n>12));
printf("le mois %d est %s\n",n,mois(n));
getch();
return 1;
}
BloodKnight
Messages postés
17
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
27 mars 2008
23 févr. 2008 à 21:28
23 févr. 2008 à 21:28
bonjour,
merci beaucoup pour ton aide mon ami, mais ça pas marcher je l ai modifié comme tu as fais et ni le mien le tien n a marché ( le mien ne donne pas de valeur de retour et le tien donne un probleme) le voila :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
char *moins(int n)
{
int i,m;
char *s;
char s1[7]="janver",s2[12]="fevrier",s3[12]="mars",s4[12]="avril",s5[12]="may";
char s6[12]="juin",s7[12]="juillet",s8[12]="aout",s9[12]="octorber",s10[12]="september",s11[12]="november",s12[12]="december";
;
switch(n)
{
case 1: {m=strlen(s1); s=(char*)malloc(m+1);strcpy(s1,s);break;}
case 2:{m=strlen(s2); s=(char*)malloc(m+1);strcpy(s2,s);break;}
case 3: {m=strlen(s3); s=(char*)malloc(m+1);strcpy(s3,s);break;}
case 4: {m=strlen(s4); s=(char*)malloc(m+1);strcpy(s4,s);break;}
case 5: {m=strlen(s5); s=(char*)malloc(m+1);strcpy(s5,s);break;}
case 6: {m=strlen(s6); s=(char*)malloc(m+1);strcpy(s6,s);break;}
case 7: {m=strlen(s7); s=(char*)malloc(m+1);strcpy(s7,s);break;}
case 8: {m=strlen(s8); s=(char*)malloc(m+1);strcpy(s8,s);break;}
case 9: {m=strlen(s9); s=(char*)malloc(m+1);strcpy(s9,s);break;}
case 10: {m=strlen(s10); s=(char*)malloc(m+1);strcpy(s10,s);break;}
case 11: {m=strlen(s11); s=(char*)malloc(m+1);strcpy(s11,s);break;}
case 12: {m=strlen(s12); s=(char*)malloc(m+1);strcpy(s12,s);break;}
}
return s;
}
int main()
{
char ;
int n,m=12,i;
do {
printf("donner le nombre du moin que vous voulez savoir\t\n");
scanf("%d",&n);
}while((n<=0)||(n>12));
printf("le moin est %s",moin(n));
getch();
return 1;
}
merci beaucoup pour ton aide mon ami, mais ça pas marcher je l ai modifié comme tu as fais et ni le mien le tien n a marché ( le mien ne donne pas de valeur de retour et le tien donne un probleme) le voila :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
char *moins(int n)
{
int i,m;
char *s;
char s1[7]="janver",s2[12]="fevrier",s3[12]="mars",s4[12]="avril",s5[12]="may";
char s6[12]="juin",s7[12]="juillet",s8[12]="aout",s9[12]="octorber",s10[12]="september",s11[12]="november",s12[12]="december";
;
switch(n)
{
case 1: {m=strlen(s1); s=(char*)malloc(m+1);strcpy(s1,s);break;}
case 2:{m=strlen(s2); s=(char*)malloc(m+1);strcpy(s2,s);break;}
case 3: {m=strlen(s3); s=(char*)malloc(m+1);strcpy(s3,s);break;}
case 4: {m=strlen(s4); s=(char*)malloc(m+1);strcpy(s4,s);break;}
case 5: {m=strlen(s5); s=(char*)malloc(m+1);strcpy(s5,s);break;}
case 6: {m=strlen(s6); s=(char*)malloc(m+1);strcpy(s6,s);break;}
case 7: {m=strlen(s7); s=(char*)malloc(m+1);strcpy(s7,s);break;}
case 8: {m=strlen(s8); s=(char*)malloc(m+1);strcpy(s8,s);break;}
case 9: {m=strlen(s9); s=(char*)malloc(m+1);strcpy(s9,s);break;}
case 10: {m=strlen(s10); s=(char*)malloc(m+1);strcpy(s10,s);break;}
case 11: {m=strlen(s11); s=(char*)malloc(m+1);strcpy(s11,s);break;}
case 12: {m=strlen(s12); s=(char*)malloc(m+1);strcpy(s12,s);break;}
}
return s;
}
int main()
{
char ;
int n,m=12,i;
do {
printf("donner le nombre du moin que vous voulez savoir\t\n");
scanf("%d",&n);
}while((n<=0)||(n>12));
printf("le moin est %s",moin(n));
getch();
return 1;
}
Bonjour,
J'ai testé le programme que je t'ai envoyé avec Turbo C et il fonctionne.
Prend le tel que l'ai écrit en entier avec copié-collé car j'en ai profité pour corriger quelques fautes d'orthographe.
Excuses-moi. Par exemple la fonction char moin(int n) je l'ai écrite car *mois(int n) .
D'ailleurs dans ton deuxième programme tu as écrit char *moins(int n), et ensuite printf("le moin est %s",moin(n));
ça ne peut pas marcher si la fonction s'appelle moins et plus loin tu fait référence à moin.
Alors fait un copié collé de mon programme et fait un essai. Si ça ne marche toujours pas alors dit moi quelle erreur te renvoie ton compilateur.
J'ai testé le programme que je t'ai envoyé avec Turbo C et il fonctionne.
Prend le tel que l'ai écrit en entier avec copié-collé car j'en ai profité pour corriger quelques fautes d'orthographe.
Excuses-moi. Par exemple la fonction char moin(int n) je l'ai écrite car *mois(int n) .
D'ailleurs dans ton deuxième programme tu as écrit char *moins(int n), et ensuite printf("le moin est %s",moin(n));
ça ne peut pas marcher si la fonction s'appelle moins et plus loin tu fait référence à moin.
Alors fait un copié collé de mon programme et fait un essai. Si ça ne marche toujours pas alors dit moi quelle erreur te renvoie ton compilateur.
BloodKnight
Messages postés
17
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
27 mars 2008
27 févr. 2008 à 23:40
27 févr. 2008 à 23:40
bonsoir,
merci mon ami j ai trouvé une solution
bon
switch(n)
{
case1 : { return "janvier";break;}
.... etc
merci mon ami j ai trouvé une solution
bon
switch(n)
{
case1 : { return "janvier";break;}
.... etc