Jump to content

Probléme Envoyé Ne Pas Envoyé,Programme En C


namster
 Share

Recommended Posts

Salut,

Oui Je Sais j'exagère,Voila je viens de terminer mon petit programme "Calculatrice",Mais Lorsque Je L'exécute et que je choisi L'opération Paff Crash direct

#include 
#include 
#include 
using namespace std;

int main()
{
long nombre1=0;
long nombre2=0;
long resultat=0;
long choix;
printf("Claculatrice v0.1 by Namster\n\n1.addition\n2.soustraction\n3.multiplication\n4.division\n");
printf("Quel est votre choix ?\n");

scanf("%i,&choix");

                  switch(choix)
			   { 
                  case 1:
                  printf("veillez entrez votre premier nombre a additioner\n");
                  scanf("%i",nombre1);
                  printf("veuillez entrez votre deuxieme nombre a additoner\n");
                  scanf("%i",nombre2);
                  resultat=nombre1+nombre2;
                  printf("le Resultat de l'additon est %i,resultat");  
                  break;
                  case 2:
                   printf("veillez entrez votre premier nombre a soustraire\n");
                  scanf("%i",nombre1);
                  printf("veuillez entrez votre deuxieme nombre a soustraire\n");
                  scanf("%i",nombre2);
                  resultat=nombre1-nombre2;
                  printf("le Resultat de la soustraction est %i,resultat");  
                  break;   
                  case 3:
                  printf("veillez entrez votre premier nombre a multiplier\n");
                  scanf("%i",nombre1);
                  printf("veuillez entrez votre deuxieme nombre a multiplier\n");
                  scanf("%i",nombre2);
                  resultat=nombre1*nombre2;
                  printf("le Resultat de la multiplication est %i,resultat");  
                  break; 
                  case 4:
                 printf("veillez entrez votre premier nombre a diviser du genre 1.00\n");
                  scanf("%i",nombre1);
                  printf("veuillez entrez votre deuxieme nombre a diviser du genre 1.00\n");
                  scanf("%i",nombre2);
                  resultat=nombre1/nombre2;
                  printf("le Resultat de la soustraction est %i,resultat");  
                  break;
                  default:
                          printf("MMMM?");            
                  }
                  system("PAUSE");
                  return 0;
}

Link to comment
Share on other sites

  • Moderators

c'est normal que ça plante :)

 

tu as fait

[color=#000000][color=#0000bb]scanf[/color][color=#007700]([/color][color=#dd0000]"%i,&choix"[/color][color=#007700]); [/color][/color]

au lieu du bon code

[color=#000000][color=#0000bb]scanf[/color][color=#007700]([/color][color=#dd0000]"%i",&choix[/color][color=#007700]); [/color][/color]

le premier paramètre contient l'information de formatage, et le 2eme un pointeur vers la variable d'écriture :) t'avais fait passer le tout en un seul paramètre en chaine de caractere, entre "" :)

Link to comment
Share on other sites

  • Moderators

Mais je te conseille d'exploiter le C++, je vois que tu fais appel à l'espace de nom STD, donc t'aurais pu remplacer

[color=#000000][color=#0000bb]scanf[/color][color=#007700]([/color][color=#dd0000]"%i",&choix[/color][color=#007700]);[/color][/color]

 

par

cin >> choix;

  • Like 1
Link to comment
Share on other sites

#include 
#include 
#include 
using namespace std;

int main()
{
int nombre1;
int nombre2;
int resultat;
int choix=0;
printf("Claculatrice v0.1 by Namster\n\n1.addition\n2.soustraction\n3.multiplication\n4.division\n");
printf("Quel est votre choix ?\n");

scanf("%i",&choix);

                  switch(choix)
			   {
                  case 1:
                  printf("veillez entrez votre premier nombre a additioner\n");
                  scanf("%i",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a additoner\n");
                  scanf("%i",&nombre2);
                  resultat=nombre1+nombre2;
                  printf("le Resultat de l'additon est %i,resultat");
                  break;
                  case 2:
                   printf("veillez entrez votre premier nombre a soustraire\n");
                  scanf("%i",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a soustraire\n");
                  scanf("%i",&nombre2);
                  resultat=nombre1-nombre2;
                  printf("le Resultat de la soustraction est %i\n,resultat");
                  break;
                  case 3:
                  printf("veillez entrez votre premier nombre a multiplier\n");
                  scanf("%i",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a multiplier\n");
                  scanf("%i",&nombre2);
                  resultat=nombre1*nombre2;
                  printf("le Resultat de la multiplication est %i\n,resultat");
                  break;
                  case 4:
                 printf("veillez entrez votre premier nombre a diviser du genre 1.00\n");
                  scanf("%i",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a diviser du genre 1.00\n");
                  scanf("%i",&nombre2);
                  resultat=nombre1/nombre2;
                  printf("le Resultat de la soustraction est %i\n,resultat");
                  break;
                  default:
                          printf("MMMM?");
                  }
                  system("PAUSE");
                  return 0;
}

Voila

Link to comment
Share on other sites

Euh,NoN sur chaque operation il me donne le Resultat de ******** est 2293616

Edit:cet bon j'ai trouvé le Probléme

printf("le Resultat de la multiplication est %i\n,resultat");

le correcte cet

printf("le Resultat de la multiplication est %i\n",resultat);

Edited by namster
Link to comment
Share on other sites

  • Moderators

voici ton code qui marche bien, je viens de compiler et de tester :(

 

#include 
#include 
#include 
#include 
using namespace std;

int main()
{
int nombre1=0;
int nombre2=0;
int resultat=0;
int choix=0;
printf("Claculatrice v0.1 by Namster\n\n1.addition\n2.soustraction\n3.multiplication\n4.division\n");
printf("Quel est votre choix ?\n");

scanf("%d",&choix);

printf("lol");

                  switch(choix)
                  {
                  case 1:
                  printf("veillez entrez votre premier nombre a additioner\n");
                  scanf("%d",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a additoner\n");
                  scanf("%d",&nombre2);
                  resultat=nombre1+nombre2;
                  printf("le Resultat de l'additon est %i",resultat);
                  break;
                  case 2:
                   printf("veillez entrez votre premier nombre a soustraire\n");
                  scanf("%d",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a soustraire\n");
                  scanf("%d",&nombre2);
                  resultat=nombre1-nombre2;
                  printf("le Resultat de la soustraction est %i",resultat);
                  break;
                  case 3:
                  printf("veillez entrez votre premier nombre a multiplier\n");
                  scanf("%d",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a multiplier\n");
                  scanf("%d",&nombre2);
                  resultat=nombre1*nombre2;
                  printf("le Resultat de la multiplication est %i",resultat);
                  break;
                  case 4:
                 printf("veillez entrez votre premier nombre a diviser du genre 1.00\n");
                  scanf("%d",&nombre1);
                  printf("veuillez entrez votre deuxieme nombre a diviser du genre 1.00\n");
                  scanf("%d",&nombre2);
                  resultat=nombre1/nombre2;
                  printf("le Resultat de la soustraction est %i",resultat);
                  break;
                  default:
                          printf("MMMM?");
                  }
                  system("PAUSE");
                  return 0;
}

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Posts

    • OK. Interleaved depth est une méthode de fragmentation des données qui vise à compenser les perturbations causées par des pics de 'bruit' (noise) sur ta ligne. Le Tenda a 32Mb de mémoire, donc une recrudescence de la fragmentation peut vite saturer la mémoire et occasionner une expérience d'utilisation en yoyo. Pour comprendre cette fonctionalité, je t'invite à lire le lien suivant: https://kitz.co.uk/adsl/interleaving.htm A ta place, je ferais deux choses, sans garantie sur le résultat, mais c'est la manière dont je procèderais: 1) d'abord il serait très utile d'essayer un autre modem sur ta ligne, de comparer les valeurs des stats ADSL avec le Tenda D301 qui  n'est pas un modem particulièrement performant. 2) ensuite l'idéal est de localiser ce qui cause les hausses de bruit sur la ligne. Ce la peut être des facteurs qui sont dans ton installation interne, ou externes en dehors de chez toi. Si tu dis que ton probleme est occasionnel, cela pourrait être dû a des interférences de ta ligne ADSL avec des câbles ou des appareils électriques  situés à proximité par exemple. Cela expliquerait pourquoi l'ajustement automatique soit inadapté, si les perturbations sont brusques, et occasionelles plutôt que constantes et prévisibles. Je t'invite à visionner la vidéo suivante pour illustrer ce point: Concernant l'inerleaved depth, c'est un paramètre qui est ajusté automatiquement par le software côté opérateur, pour compenser les problemes sur la ligne. Il peut être ajusté manuellement aussi, avec des commandes Telnet, sur certains modems. Néanmoins si une hausse de l'interleaved depth peut stabiliser la ligne, cela produit aussi une latence supplémentaire car il agit en fragmentant puis recomposant les données, ce qui nécessite du temps de calcul et occupe de la mémoire. C'est aussi pourquoi avoir un modem plus performant est utile: si le CPU et la mémoire du modem sont meilleurs, ces calculs seront exécutés d'une maniere plus aisée donc moins perceptibles en utilisation. En théorie cela peut impacter aussi la gestion côté opérateur: l'ajustement automatique de l'interleaved depth sur ta ligne tient compte de la rapidité avec laquelle ton modem réagit. Ceci étant il est toujours préférable de localiser la source du bruit, et la supprimer, que d'avoir recours à l'interleaved depth, même si parfois c'est la seule solution. J'espère que ces clarifications seront utiles, bon courage.  
    • C'est comme booking.com avec un représentant en Algérie. La question que je me pose, c'est quel est le statut légal du bureau de bez, ça m'intrigue. Pour qu'il puisse toucher du fric au nom de omodoo légalement, ça doit être un partenariat. Dans ce cas, comment le bureau de bez peut transférer les revenus au QG de UK?? Exporter de la devise est interdite, à moins que ça soit une succursale. Là c'est possible, mais dans ce cas, ça ne peut pas être plus économique que passer par une agence de voyage.
    • Dans la Circulaire_n01_du_31_mars_2022_relative_à_la_préinscription_et_à_lorientation_des_titulaires_du_baccalauréat_au_titre_de_lannée_universitaire_2022-2023_Fr ICI
×
×
  • Create New...