Se connecter / S'enregistrer
Votre question

Programmation C, Petits soucis^^

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
11 Novembre 2009 17:13:32

Bonjour à tous,

Débutant en programmation, je dois réaliser un petit programme réalisant un tri de nombres suivant 3 méthodes, mais j'ai déjà un problème au début du programme lors de la saisie des données, le programme devrait continuer la saisie de nombre si je tape 1, ça, ça fonctionne, le problème est lors de l'entrée de 0 (donc pour passer à la suite) et d'un autre chiffre que 1 ou 0 ( message d'erreur et renvoi de la question "voulez-vous ajouter un autre nombre?"

Voici le code, ca sera peut-être plus clair^^

  1. do
  2. {
  3. printf("Entrer le %d eme nombre \n",n++);
  4. scanf("%d",&tab[i]);
  5. i++;
  6. printf("Entrer un autre nombre? \n");
  7. printf("1 - oui\n");
  8. printf("0 - non\n");
  9. scanf("%d",&choix2);
  10. }while (choix2==1 && i<=100);
  11.  
  12. printf("Que voulez-vous faire?\n");
  13. printf("1 - Tri par selection\n");
  14. printf("2 - Tri a bulle\n");
  15. printf("3 - Tri par insertion\n");
  16. printf("4 - Sortir\n");


Merci beaucoup

Autres pages sur : programmation petits soucis

a b L Programmation
11 Novembre 2009 17:44:12

affiche choix2 et i avant le while pour comprendre.
m
0
l
14 Novembre 2009 12:12:55

J'ai pu corriger quelques petites choses malgré tout, le tri de nombre ne s'effectue pas :/  si vous pouviez m'indiquer ce qui n'est pas correct^^, j'ai beau chercher je ne vois pas...

  1. /*Programme de tri de nombres*/
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. int choix;
  7. int choix2;
  8. int i,n,min,k;
  9. int tab[100];
  10. int temp;
  11. int permut;
  12. int a,b,c,tmp; /*variables du tri a bulle*/
  13. main()
  14. {
  15. n=1;
  16. system("cls");
  17. printf("bienvenue dans le programme de tri de nombres\n\n");
  18. printf("entrer le %d er nombre\n",n++);
  19. scanf("%d",&tab[i]);
  20.  
  21.  
  22. do
  23. {
  24. printf("Entrer le %d eme nombre \n",n++);
  25. scanf("%d",&tab[i]);
  26. i++;
  27. printf("Entrer un autre nombre? \n");
  28. printf("1 - oui\n");
  29. printf("0 - non\n");
  30. scanf("%d",&choix2);
  31. }while (choix2==1 && i<=100);
  32.  
  33.  
  34. printf("Que voulez-vous faire?\n");
  35. printf("1 - Tri par selection\n");
  36. printf("2 - Tri a bulle\n");
  37. printf("3 - Tri par insertion\n");
  38. printf("4 - Sortir\n\n\n");
  39. scanf("%d",&choix);
  40. switch (choix)
  41. {
  42. case '1':
  43. {
  44. printf("Tri par selection");
  45. for (i=1;i<=n-1;i++)
  46. min=i;
  47. for (k=i+1;k=n;k++)
  48. {
  49. if (tab[k]<tab[min])
  50. {
  51. min=k;
  52. }
  53. }
  54. temp=tab[i];
  55. tab[i]=tab[min];
  56. tab[min]=temp;
  57. getchar();
  58. }
  59. }
  60. }
m
0
l
a b L Programmation
14 Novembre 2009 13:35:29

Il n'ya pas d'accolade après ton premier for, revérifie ton algo.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS