Question de débutant de chez débutant (en C)
Pirure
-
Matt -
Matt -
Voila, un exercice pour l'école, faut entrer deux nombres, un signe ( + - * / ) et le pgm doit sortir la réponse sous forme "4+5 = 9"
et ici, problème, je pige pas, une heure que j'suis dessus sans trouver la solution..
et ici, problème, je pige pas, une heure que j'suis dessus sans trouver la solution..
#include <stdio.h>
#include <conio.h>
void main(void)
{
int N1, N2, P;
char op;
printf("Veuillez introduire un premier nombre : ");
scanf("%d", &N1);
printf("Veuillez introduire un premier nombre : ");
scanf("%d", &N2);
printf("Veuillez introduire le signe de l'operation : ");
scanf("\n%c", &op);
if (op = '+' )
printf("%d + %d = %d", N1, N2, P=N1+N2);
if (op = '-' )
printf("%d - %d = %d",N1, N2, P=N1-N2);
if (op = '*' )
printf("%d * %d = %d",N1, N2, P=N1*N2);
if (op = '/' )
printf("%d / %d = %d",N1, N2, P=N1/N2);
else printf("Lol, trompay :p");
getch();
}
A voir également:
- Question de débutant de chez débutant (en C)
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Debut logiciel de capture video - Télécharger - TV & Vidéo
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
3 réponses
Salut!
La récente norme (1999) iso 9899 (standard C) OBLIGE de retourner une valeur int pour la fonction main. Un compilateur C90 acceptera void mais certainement pas un compilateur C99 strict. Evite à tout prix <conio.h> qui ne fait pas parti du standard C mais de Borland C++.
/* ma solution */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n1;
int n2;
char operator;
printf("OPERATION:\n\n a operator b = c\n\n");
printf("a = ");
scanf("%i", &n1);
printf("b = ");
scanf("%i", &n2);
printf("operator = ");
scanf("%c", &operator);
switch(operator)
{
case '+':
{
printf("%i + %i = %i\n", n1, n2, n1 + n2);
break;
}
case '-':
{
printf("%i - %i = %i\n", n1, n2, n1 - n2);
break;
}
case '*';
{
printf("%i * %i = %i\n", n1, n2, n1 * n2);
break;
}
case '/':
{
printf("%i / %i = %i\n", n1, n2, n1 / n2);
break;
}
default:
{
printf("unknow operator\n");
}
}
return EXIT_SUCCESS;
}
N'oublie pas de mettre des {}.
Pour les anglophones:
http://rm-f.net/standards/
La récente norme (1999) iso 9899 (standard C) OBLIGE de retourner une valeur int pour la fonction main. Un compilateur C90 acceptera void mais certainement pas un compilateur C99 strict. Evite à tout prix <conio.h> qui ne fait pas parti du standard C mais de Borland C++.
/* ma solution */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n1;
int n2;
char operator;
printf("OPERATION:\n\n a operator b = c\n\n");
printf("a = ");
scanf("%i", &n1);
printf("b = ");
scanf("%i", &n2);
printf("operator = ");
scanf("%c", &operator);
switch(operator)
{
case '+':
{
printf("%i + %i = %i\n", n1, n2, n1 + n2);
break;
}
case '-':
{
printf("%i - %i = %i\n", n1, n2, n1 - n2);
break;
}
case '*';
{
printf("%i * %i = %i\n", n1, n2, n1 * n2);
break;
}
case '/':
{
printf("%i / %i = %i\n", n1, n2, n1 / n2);
break;
}
default:
{
printf("unknow operator\n");
}
}
return EXIT_SUCCESS;
}
N'oublie pas de mettre des {}.
Pour les anglophones:
http://rm-f.net/standards/
Salut
j'ai pas lu entierement ton code de facon a le comprendre
donc je sais pas s'il est bon ou pas mais,
tu écrit :
en language C on fait comme ca
l'operateur utilisé pour un test est '==' et non le '=' de l'affectation...
j'ai pas lu entierement ton code de facon a le comprendre
donc je sais pas s'il est bon ou pas mais,
tu écrit :
if (op = '+' )
printf("%d + %d = %d", N1, N2, P=N1+N2);
if (op = '-' )
printf("%d - %d = %d",N1, N2, P=N1-N2);
if (op = '*' )
printf("%d * %d = %d",N1, N2, P=N1*N2);
if (op = '/' )
printf("%d / %d = %d",N1, N2, P=N1/N2);
en language C on fait comme ca
if (op == '/' ) printf("%d / %d = %d",N1, N2, P=N1/N2);
l'operateur utilisé pour un test est '==' et non le '=' de l'affectation...