J'ai travaillé sur un programme de groupe pour une classe de programmation système qui exécutera des fonctions que quelqu'un utiliserait dans une banque. Ces fonctions incluent l'ajout de clients bancaires, le solde de sortie d'un client, etc. Le problème réside dans l'ajout de la fonction client.Le programme C se compile dans xcode, mais exécute une boucle infinie dans le terminal
Cette fonction s'exécute dans une boucle infinie dans le terminal et Putty, mais quand je l'exécute comme un programme autonome dans XCode la boucle se ferme. Y a-t-il quelque chose qui ne va pas avec le programme que moi, les membres de mon groupe ET notre professeur négligeons?
#include <stdio.h>
#include <string.h>
#include "./bank.h"
void add(FILE *fp)
{
int i=0;
char firstName[20];
char lastName[20];
float camount;
int prompt;
float samount;
float mamount;
fseek(fp,0,2);
do
{
printf("\nEnter first name: ");
scanf("%s", firstName);
strcpy(bank[i].firstName, firstName);
printf("\nEnter last name: ");
scanf("%s",lastName);
strcpy(bank[i].lastName, lastName);
printf("\nEnter checking account balance: ");
scanf("%f", &camount);
bank[i].checking = camount;
printf("\nEnter savings account balance: ");
scanf("%f", &samount);
bank[i].savings = samount;
printf("\nEnter money market account balance: ");
scanf("%f", &mamount);
bank[i].moneyMarket = mamount;
fwrite(&bank[i],1, sizeof(struct BankInfo),fp);
i++;
printf("Enter 1 to enter another name and 0 to quit: ");
scanf("%d", &prompt);
printf("%d\n", prompt);
} while(prompt == 1);
fclose(fp);
return;
}
Capture d'écran de sortie une fois Makefile est exécuté:
Sidenote: Cette fonction n'écrire sur le fichier que nous passons ce qui est génial, mais nous avons encore besoin pour elle de sortir de la boucle.
EDIT: Code pour la fonction principale: #include #include #include #include "bank.h" #include "definitions.h"
int main()
{
FILE *fp;
int selection;
fp=fopen("bankInfo.dat","ab+");
selection=menu();
while(selection !=6)
{
switch(selection)
{
case 1:
add(fp);
break;
case 2:
// outputBalance(fp);
break;
case 3:
delete(fp);
break;
case 4:
update(fp);
break;
case 5:
// display(fp);
break;
case 6:
exit(0);
break;
default:
printf("Invalid selection\n");
break;
}
}
fclose(fp);
return 0;
}
Est-il possible que quelque chose d'autre qui appelle la fonction d'ajout soit dans une boucle? –
Veuillez indiquer le code dans lequel vous appelez cette fonction 'Add'. – Ari0nhh
Je viens d'ajouter la fonction principale à ma question – mimiholli