Функция editA cc () не печатает должным образом значения, хранящиеся в файле - PullRequest
0 голосов
/ 01 марта 2020

Сама структура

typedef struct
{
    int roll;
    int number;
    char name[30];
    float balance;
}account;

Эта функция создает файл, в котором хранится значение всех созданных учетных записей, в этом случае также создается учетная запись

int addAcc()
{   

получает значение общих счетов

    FILE *frecord;
    frecord=fopen("fileRecord.txt","r");
    fscanf(frecord,"%d",&maxAcc);
    fclose(frecord);
    maxAcc++;
    frecord=fopen("fileRecord.txt","w+");
    fprintf(frecord,"%d",maxAcc);
    fclose(frecord);    

использует значение общих счетов

    FILE *fatm;
    fatm=fopen("fileAtm.txt","a+"); 
    gotoxy(50,19);
    printf("-----New Account-----");

попросить пользователя ввести необходимые значения

    Record[maxAcc].roll=maxAcc;
    fprintf(fatm," %d",Record[maxAcc].roll);

    gotoxy(50,20);
    printf("Name: ");
    scanf("%s",&Record[maxAcc].name);
    fprintf(fatm," %s",Record[maxAcc].name);

    gotoxy(50,21);
    printf("Account Number: ");
    scanf("%d",&Record[maxAcc].number);
    fprintf(fatm," %d",Record[maxAcc].number);

    gotoxy(50,22);
    printf("Balance: ");
    scanf("%f",&Record[maxAcc].balance);
    fprintf(fatm," %f",Record[maxAcc].balance);

    gotoxy(50,19);
    printf("                                                                      ");
    gotoxy(50,20);
    printf("                                                                      ");
    gotoxy(50,21);
    printf("                                                                      ");
    gotoxy(50,22);
    printf("                                                                      ");
    fclose(fatm);
    supervisor();
}

Эта функция предназначена для открытия предыдущего файла, в котором хранится количество существующих учетных записей, а также выводится на консоль. все детали сделанных счетов

int editAcc()//Search/Print does not work properly; possibly of function addAcc
{
    FILE *frecord;
    frecord=fopen("fileRecord.txt","r");
    fscanf(frecord,"%d",&maxAcc);
    fclose(frecord);

    gotoxy(50,5);
    printf("Total number of existing accounts: %d",maxAcc); 

    FILE *fatm;
    fatm=fopen("fileATM.txt","r");
    gotoxy(50,8);
    printf("-----Edit Account-----");
    gotoxy(50,9);
    printf("#");
    gotoxy(53,9);
    printf("Name");
    gotoxy(90,9);
    printf("Account Number");
    gotoxy(110,9);
    printf("Balance");

распечатывает содержимое файла

    for(counter=0;counter<maxAcc;counter++);
    {
        fscanf(fatm,"%d",&Record[counter].roll);
        fscanf(fatm,"%s",&Record[counter].name);
        fscanf(fatm,"%d",&Record[counter].number);
        fscanf(fatm,"%f",&Record[counter].balance);
        gotoxy(50,10+counter);
        printf("%d",Record[counter].roll);
        gotoxy(53,10+counter);
        printf("%s",Record[counter].name);
        gotoxy(90,10+counter);
        printf("%d",Record[counter].number);
        gotoxy(110,10+counter);
        printf("%0.2f",Record[counter].balance);        
    }

очищает экран

    getch();
    for(counter=0;counter<20;counter++);
    {
        gotoxy(50,5+counter);
        printf("                                                                      ");
    }
    fclose(fatm);
    supervisor();
}
...