begin process at 2012 05 28 22:53:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Conversion code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Conversion code

mardi 18 mai 2010 à 11:09:02 | Conversion code

jeanphilippe37

Membre Club

Bonjour,

Voila, j'ai réalisé ce programme en C++ mais, je dois le rendre en langage C et j'ai bcp de mal à faire la traduction. Pourriez vous m'aider à faire cette traduction ? Je vous passe le code que j'ai fais en C++.

Merci

Code C/C++ :


#include <iostream> // iostream permet d'utiliser les fonctions "cin" et "cout"

/* Pour ne pas à avoir à mettre std:: devant chaque cout */
using namespace std;

/* Fonction calcul(), c'est ce qui sert à calculer les nombres demandés */
int calcul(int nb1, int nb2, char operat)
{
switch (operat)
{
case '+' : return (nb1 + nb2); // Si operate vaut '+', alors on ajoute les 2 nombres
case '-' : return (nb1 - nb2); // Si operate vaut '-', alors on soustrait les 2 nombres
case '*' : return (nb1 * nb2); // Si operate vaut '*', alors on multiplie les 2 nombres
case '/' : return (nb1 / nb2); // Si operate vaut '/', alors on divise les 2 nombres

// Au cas, où l'utilisateur ne mettrai ni '+', ni '-', ni '*', ni '/' ...
default :
cout << endl << endl << "Vous n'avez entre ni '+', ni '-', ni '*', ni '/', veuillez recommencer." << endl;
return 0; // ... On lui indique l'erreur et on renvoie au début
}
}

/* Fonction initial(), qui initialise le tout et renvoie un caractère 'o' ou 'n'
en fonction de si l'utilisateur veut recommencer ou pas */
char initial(void)
{
int nb_1, nb_2, resultat;
char operateur, boleen; // boleen va contenir le 'o' ou le 'n' qui indiquera si l'utilisateur veut recommencer ou pas


// On demande à l'utilisateur deux nombres et un opérateur
cout << endl << "Entrez le premier nombre : ";
cin >> nb_1;
cout << endl << "Entrez le second nombre : ";
cin >> nb_2;
cout << endl << "Maintenant, entrez l'operateur ('+', '-', '*' ou '/') : ";
cin >> operateur;


// On fait le calcul grâce à le fonction calcul() définie plus haut
resultat = calcul(nb_1, nb_2, operateur);


// On vérifie que l'utilisateur a bien rentré un bon opérateur grâce au "return 0; de la fonction calcul()
if (resultat != 0)
{
cout << endl << endl << "Le resultat est " << nb_1 << " " << operateur << " " << nb_2 << " = " << resultat << endl;
cout << endl << "Voulez-vous recommencer (o/n)? ";
cin >> boleen;
return boleen; // On retourne la valeur entrée par l'utilisateur ('o' ou 'n', normalement
}

// Si l'utilisateur n'as pas rentré d'opérateur ou un mauvais opérateur ...
else return 'o'; // ... on fait comme si l'utilisateur voulait refaire une opération, donc 'o' pour recommencer sans donner le résultat
}

/* La fonction principale "main" qui démarre et qui
contient la boucle qui fait tourner notre programme */
int main(void)
{
char restart;

// Messages de bienvenues :
printf("Bienvenue, voici la calculatrice fabriquee par Thierry Balat\n\n");
printf("Bien sur, elle n'est pas super puissante et sait seulement calculer avec des \nnombres entiers. Ah oui, n'entrez PAS de lettre au lieu d'un chiffre\n");

// Boucle du programme en "do ... while" car la boucle doit être executée au moins une fois
do
{
restart = initial(); // On initialise ... (restart va être égal à boleen)
} while (restart == 'o'); // ... et on continue à retarter tant que l'utilisteur a répondu 'o'

return 0; // L'utilisateur a rentré 'n' donc il veut quitter le programme et on fait un return 0; pour quitter le programme
}



J-Ph
mardi 18 mai 2010 à 11:58:25 | Re : Conversion code

fregolo52

Membre Club
des printf à la place des cout et des scanf a la place des cin devraient faire l'affaire.
mardi 18 mai 2010 à 23:19:24 | Re : Conversion code

ghuysmans99

Membre Club
Ceci devrait normalement fonctionner :
Code C/C++ :
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

void calculette()
{
	int n1, n2, res;
	char op;

	system("cls");
	printf("Calculatrice simplifiee\nPar ghuysmans99 (CodeS-SourceS), 2010.\n\n");
	printf("Premier nombre  : "); scanf("%d",&n1);
	printf("Deuxieme nombre : "); scanf("%d",&n2);
	do
	{
		printf("Operateur +-*/  : ");
		fflush(stdin); scanf("%c",&op);
	} while (op!='+' && op!='-' && op!='*' && op!='/');
	puts("");

	switch(op)
	{
		case '+': res=n1+n2; break;
		case '-': res=n1-n2; break;
		case '*': res=n1*n2; break;
		case '/': res=n1/n2; break;
	}
	printf("%d%c%d=%d\n\n",n1,op,n2,res);
}

int main(int argc, char* argv[])
{
	char continuer;

	do
	{
		calculette();
		printf("Tapez 'x' pour quitter ... "); fflush(stdin); scanf("%c",&continuer);
	} while (continuer!='x');

	return 0;
}

---
VB.NET is good ... VB6 is better


Cette discussion est classée dans : code, utilisateur, return, calcul, cout


Répondre à ce message

Sujets en rapport avec ce message

implicit declaration of function `int getchar(...)' [ par cognac ] À chaque fois que j'utilise getch(); j'obtien le message suivant:getch();Voici mon programme (en fait mon exercice):#include //bibliotheque d'entree calcul d'un modulo [ par cabarrus ] Qui peu m'aidé s.v.p pour ce problème...Ecrire un prog qui demande 2 nbres à l'utilisateur et qui affiche le reste de la division du 1er par le second que des boucles. [ par pratix ] Salut à tous.Je post mon prg cherchenbr modifié (voir sujet précédent ''int main" ).Programme compilé avec visual C++ 06. ( zéro erreur )j'ai essay USER à partir d'un code C [ par iljamila ] Salut !!Je travaille sous linux et j'ai besoin d'écrire un code en C. Dans ce code je dois déterminer le nom de l'utilisateur courant pour pouvoir cha surchage d'operateur [ par bolo ] j'ai prob avec la surchage d'operateur de ma classepouvez vous m'aider#include // les classes#include class date{public : date (); da getch [ par portoroz ] g poser un message je n'arrive pas a le rretrouver.je suis sous environnement dos, avec DEV C++ telecharger sur internet en version us.comprend pas po Nom d'utilisateur [ par gibozsec ] Je cherche a récupérer le nom de l'utilisateur qui a lancé le programme. J utilise le code suivant avec MS Visual Studio 6.0 et XP home :LPTSTR tampon Fonction return dans une console windows [ par Jolfulorc ] Bonjour,Lorsque j'affiche un texte dans une console windows (code du genre : coutla façon que j'ai trouvé pour contourner cet inconvénient problème chaines de caractères [ par tintin72 ] BonjourJ'aimerai avoir un petit éclaircissement sur les chaines de caractères.Voici un programme tout bête... char prenom[100]; cout gets(pr application windows [ par scull ] Slt, voilà j'arrive à faire quelques petit programmes en c++et je voudrais savoir comment porter mon application suivante (toute bidon)#include <iostr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales