Bonjour à tous!
Voila je me remet (encore) à vous pour un problème que j'ai en langage de programmation C.
Voici mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float retrait(float montant, float nombre )
{
float resultatR = 0;
resultatR = montant - nombre;
return resultatR;
}
float ajout(float montant, float nombre)
{
float resultatA = 0;
resultatA = montant + nombre;
return resultatA;
}
int main(int argc, char *argv[])
{
FILE *P_FICHIER; //pointeur sur file
char NOM_FICHIER[30], libelle[100];
float montanttotal, montant;
int reponse, operation;
printf("Assistant de gestion de vos comptes \n");
printf("Avez vous deja un fichier texte cree pour votre compte? 1 pour OUI, 2 pour NON \n");
scanf("%d", &reponse);
if (reponse == 2)
{
printf("Premiere partie : Creation du fichier de stockage des informations... \n");
printf("Saisir le nom complet du fichier .txt a creer. Exemple: Gestion.txt\n");
printf("Nom du fichier: ");
scanf("%s", NOM_FICHIER);
printf("Saississez le montant actuel de votre compte. \n");
printf("Montant = ");
scanf("%f", &montanttotal);
P_FICHIER = fopen(NOM_FICHIER, "w"); // Crée le fichier
fprintf(P_FICHIER, "%.2f ", montanttotal);
}
if (reponse == 1)
{
printf("Nom de votre fichier: ");
scanf("%s", NOM_FICHIER);
P_FICHIER = fopen(NOM_FICHIER, "a"); //ouvre le fichier en ecriture
}
printf("Quelle operation voulez vous effectuer ? (1 pour Ajout, 2 pour Retrait) \n");
scanf("%d", &operation);
if (operation == 1)
{
printf("Quelle somme voulez-vous ajouter? \n");
scanf("%f", &montant);
printf("Description de l'operation effectuee (sans espace): ");
scanf("%s", &libelle);
printf("Vous avez maintenant %.2f Euros sur votre compte \n", ajout(montanttotal, montant)); //exécute la fonction ajout()
fprintf(P_FICHIER, "+ ");
fprintf(P_FICHIER, "%.2f", montant);
fprintf(P_FICHIER, " = ");
fprintf(P_FICHIER, "%.2f Euros ", ajout(montanttotal, montant));
fprintf(P_FICHIER, "( %s ) \n", libelle);
}
if (operation == 2)
{
printf("Quelle somme voulez-vous retirer? \n");
scanf("%f", &montant);
printf("Description de l'operation effectuee (sans espace): ");
scanf("%s", &libelle);
printf("Vous avez maintenant %.2f Euros sur votre compte \n", retrait(montanttotal, montant)); //exécute la fonction retrait()
fprintf(P_FICHIER, "- ");
fprintf(P_FICHIER, "%.2f", montant);
fprintf(P_FICHIER, " = ");
fprintf(P_FICHIER, "%.2f Euros ", retrait(montanttotal, montant));
fprintf(P_FICHIER, "( %s ) \n", libelle);
}
system("PAUSE");
}
Et voici le problème:
Je voudrai que ma variable "montanttotal" dans le Main prenne la valeur de resultatA qui se trouve dans la fonction "ajout" afin de la placer dans le if (operation == 1)
De même, je voudrai que "montanttotal" prenne la valeur de resultatR pour la placer dans le if (operation ==2)
J'ai essayé plusieurs solutions dont:
montanttotal = ajout();
montanttotal = ajout(float montant, float nombre);
Ca ne fonctionne pas...
Des idées?
Merci d'avance !