-1
我得到了關於處理其所有關於創建銀行賬戶的文件的任務,然後它告訴您輸入您的賬號,名稱,PIN和初始餘額。我的程序確實有效,但它在文件上打印錯誤。我該怎麼辦?文件處理fprintf錯誤
計劃:
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<ctype.h>
struct accacc
{
char accno[5];
char accna[50];
int accpin[4];
int accba;
};
main()
{
FILE *fp;
struct accacc acc;
char ch;
char t[5];
fp=fopen("Accounts.txt","a");
printf("ENTER ACCOUNT NUMBER:\t");
gets(acc.accno);
printf("ENTER ACCOUNT NAME:\t");
scanf("\n");
gets(acc.accna);
printf("ENTER ACCOUNT PIN:\t");
scanf("%d",&acc.accpin);
printf("ENTER INITIAL BALANCE:\t");
scanf("%d",&acc.accba);
printf("CREATE ANOTHER ONE?:\t");
scanf(" %c",&ch);
fprintf(fp,"%s\t%s\t%d\t%d",acc.accno,acc.accna,acc.accpin,acc.accba);
if(toupper(ch)=='Y')
{
do
{
system("cls");
printf("ENTER ACCOUNT NUMBER:\t");
scanf("\n");
gets(t);
if(strcmp(acc.accno,t)==0)
{
printf("ACCOUNT ALREADY EXISTS!");
}
else
{
printf("ENTER ACCOUNT NAME:\t");
scanf("\n");
gets(acc.accna);
printf("ENTER ACCOUNT PIN:\t");
scanf("%d",&acc.accpin);
printf("ENTER INITIAL BALANCE:\t");
scanf("%d",&acc.accba);
printf("CREATE ANOTHER ONE?:\t");
scanf(" %c",&ch);
fprintf(fp,"%s\t%s\t%d\t\t%d\t\n",t,acc.accna,acc.accpin,acc.accba);
}
}while(toupper(ch)=='Y');
}
else
{
fclose(fp);
}
getch();
}
note'accpin'是'int'的數組。 – BLUEPIXY
你真的需要學習縮進你的代碼。你發佈的是一場噩夢。 –
請提供您的輸入,輸出和預期輸出。不要使用'gets',使用'fgets'。 –