오른쪽 그래서 난 점수가 서로 allign하지 않는 것을 제외하고, 완벽하게 사용자 이름, 암호 및 점수의 데이터베이스를 생성하고 여기에 내 코드 조각이 작동하지 않습니다, 이것은 분명히 때문이다 문제는 문자열 길이 함수를 사용하여 값을 저장하는 임시 변수를 만들려고 시도하고 다른 쓰레기 이동은 더 심하게 만드는 것 같습니다.C 데이터베이스 번호 출력
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void addscores(void);
void intmount(void);
FILE *faa;
FILE *fab;
FILE *fac;
FILE *fu;
FILE *fp;
FILE *fs;
int temp;
int i3=0;
int DataCount=1;
int total=0;
struct store3
{
int def3;
}stock3[128];
int main()
{
faa=fopen("Test 01 Scores.txt","r");
fab=fopen("Test 02 Scores.txt","r");
fac=fopen("Test 03 Scores.txt","r");
struct store
{
char def[128];
}stock[128];
struct store2
{
char def2[128];
}stock2[128];
//int DataCount=1;
int i=0;
int i2=0;
int tick;
fu=fopen("Student Usernames.txt","r");
fscanf(fu,"%127[^\n]%*c", stock[DataCount].def);
for(i=0; stock[DataCount].def[i]!='\0'; ++i);
fp=fopen("Student Passwords.txt","r");
fscanf(fp,"%127[^\n]%*c", stock2[DataCount].def2);
for(i2=0; stock2[DataCount].def2[i2]!='\0'; ++i2);
addscores();
//intmount();
printf("|Username");
printf(" |");
printf("Password");
printf(" |");
printf("Total Score |");
printf("\n+----------------+----------------+----------------+\n");
do
{
printf("|%s", stock[DataCount].def);
i=16-i;
for(tick=0; tick<i;tick++)
{
printf(" ");
}
printf("|%s", stock2[DataCount].def2);
i2=16-i2;
for(tick=0; tick<i2;tick++)
{
printf(" ");
}
printf("|");
i3=16-i3;
for(tick=0; tick<i3;tick++)
{
printf(" ");
}
printf("%d|\n",total);
DataCount=DataCount+1;
fscanf(fu,"%127[^\n]%*c", stock[DataCount].def);
for(i=0; stock[DataCount].def[i]!='\0'; ++i);
fscanf(fp,"%127[^\n]%*c", stock2[DataCount].def2);
for(i2=0; stock2[DataCount].def2[i2]!='\0'; ++i2);
addscores(); //fscanf for scores
//intmount(); //char count for scores
}
while(!feof(fu));
printf("|%s", stock[DataCount].def);
i=16-i;
for(tick=0; tick<i;tick++)
{
printf(" ");
}
printf("|%s", stock2[DataCount].def2);
i2=16-i2;
for(tick=0; tick<i2;tick++)
{
printf(" ");
}
// intmount();
printf("|");
i3=16-i3;
for(tick=0; tick<i3;tick++)
{
printf(" ");
}
printf("%d|\n",total);
DataCount=DataCount+1;
fscanf(fu,"%127[^\n]%*c", stock[DataCount].def);
for(i=0; stock[DataCount].def[i]!='\0'; ++i);
fscanf(fp,"%127[^\n]%*c", stock2[DataCount].def2);
for(i2=0; stock2[DataCount].def2[i2]!='\0'; ++i2);
addscores();
//intmount();
fclose(faa);
fclose(fab);
fclose(fac);
fclose(fu);
fclose(fp);
fclose(fs);
getch();
}
void addscores(void)
{
total=0;
fscanf(faa,"%d", &stock3[DataCount].def3);
total=total+stock3[DataCount].def3;
fscanf(fab,"%d", &stock3[DataCount].def3);
total=total+stock3[DataCount].def3;
fscanf(fac,"%d", &stock3[DataCount].def3);
total=total+stock3[DataCount].def3;
}
void intmount(void)
{
for (i3 = 0; total!=0; i3++, total/=10){}
printf(" Number of digits: %d\n",i3);
}
파일은 다음과 같이 구성 :
Pig
Sheep
Beef
Cat
Wolf
Pork
Wool
Beef
Fish
Bone
1
2
3
4
5
(for all 3 scores)
명 내 파일이나 형식이나 레이아웃에 대해 쓰기 시작하기 전에 내가이 잘못 그런 아마 몇 가지가 있지만 아직 나에게 문제가되지이다 알고 , 내가 필요로하는 공간은 고정되어있다. 그런 다음, 완성 된 멋진 프로그램을 편집 할 것이다.