#include "stdio.h"
/*****************************************************************************/
/* */
/* main */
/* */
/*****************************************************************************/
int main()
{
FILE * fi;
char nom[80];
char article[80];
int nombre,prix;
if ((fi = fopen("exer6.data","r")) == NULL)
printf("Impossible d'ouvrir le fichier exer6.data\n");
else
{
while(fscanf(fi,"%s %s %d %d",nom,article,&nombre,&prix) != EOF)
printf("%s %s %d\n",nom,article,nombre * prix);
fclose(fi);
}
}
#include <stdio.h>
enum {FAUX, VRAI};
/*****************************************************************************/
/* */
/* main */
/* */
/*****************************************************************************/
int main()
{
int i,j,r; /* les opérandes */
char c; /* l'opérateur */
char imp; /* booléen de demande d'impression du résultat */
int ret; /* code de retour de scanf */
char buf_err[80];
while (1)
{
if ((ret = scanf("%d %c %d",&i,&c,&j)) != 3)
{
if (ret == EOF) exit(0);
scanf("%[^\n]",buf_err); /* on mange la partie erronée */
printf("Erreur de syntaxe : %s\n",buf_err);
continue;
}
imp = VRAI;
switch (c)
{
case '+' : r = i + j; break;
case '-' : r = i - j; break;
case '*' : r = i * j; break;
case '/' :
if ( j == 0)
{
printf("Division par zéro\n");
imp = FAUX;
}
else r = i / j;
break;
case '%' : r = i % j; break;
default : printf("l'opérateur %c est incorrect\n",c); imp = FAUX;
} /* fin du switch */
if (imp) printf("%d\n",r);
}
}