C语言编程达人请进 编程达人请进~~前途问题啊~~

\uff1d\uff0b\uff08-:)? C\u8bed\u8a00\u8fbe\u4eba\u8bf7\u8fdb!$$$$$

\u521a\u770b\u9519\u4e86,\u7ed9\u6210C++\u7684\u4e86
\u5e95\u4e0b\u8fd9\u4e2a\u4ee3\u7801\u7b80\u5355,\u597d\u660e\u767d,\u4f46\u662f\u7a0b\u5e8f\u5b8c\u6574\u6027\u4e0d\u597d
\u540e\u9762\u518d\u7ed9\u4e00\u4e2a\u8fd8\u53ef\u4ee5\u7684\u628a

#include
#include

#define STU_NUM 3//\u5b66\u751f\u6570
#define SCORE_NUM 5//\u6bcf\u4e2a\u5b66\u751f\u7684\u79d1\u76ee\u6570

typedef struct /*\u5b9a\u4e49\u7ed3\u6784\u4f53\u6570\u7ec4*/
{
char num[20]; /*\u5b66\u53f7*/
int age; /*\u5e74\u9f84*/
char name[20]; /*\u59d3\u540d*/
char sex[5]; /*\u6027\u522b*/
float score[SCORE_NUM]; /*\u6210\u7ee9*/
float total;//\u603b\u5206
float average;//\u5e73\u5747\u5206
} Student;

Student stu[STU_NUM];

//\u8f93\u5165\u5b66\u751f\u4fe1\u606f
void input()
{
int i,j;

printf("\u8bf7\u8f93\u5165%d\u4e2a\u5b66\u751f\u7684\u4fe1\u606f\uff1a\n",STU_NUM);
for(i=0;i<STU_NUM;i++)
{
printf("\u5b66\u53f7\uff1a");
scanf("%s",&stu[i].num);
printf("\u59d3\u540d\uff1a");
scanf("%s",&stu[i].name);
printf("\u5e74\u9f84\uff1a");
scanf("%d",&stu[i].age);
printf("\u6027\u522b\uff1a",&stu[i].sex);
scanf("%s",&stu[i].sex);
for(j=0;j<SCORE_NUM;j++)
{
printf("\u79d1\u76ee%d\u7684\u6210\u7ee9\uff1a",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}

//\u8f93\u51fa\u5b66\u751f\u4fe1\u606f
void output(int i)
{
int j;

printf("\u5b66\u751f\u7684\u4fe1\u606f\u5982\u4e0b\uff1a\n");
printf("\u5b66\u53f7\uff1a%s",stu[i].num);
printf("\u59d3\u540d\uff1a%s",stu[i].name);
printf("\u5e74\u9f84\uff1a%d",stu[i].age);
printf("\u6027\u522b\uff1a%s\n",stu[i].sex);
for(j=0;j<SCORE_NUM;j++)
{
printf("\u79d1\u76ee%d\uff1a%f\n",j+1,stu[i].score[j]);
}
printf("\u603b\u5206\uff1a%f\n",stu[i].total);
printf("\u5e73\u5747\u5206\uff1a%f\n",stu[i].average);
}

//\u8ba1\u7b97\u603b\u5206\u548c\u5e73\u5747\u5206
void process()
{
int i,j;

for(i=0;i<STU_NUM;i++)
{
stu[i].total=0;
for(j=0;j<SCORE_NUM;j++)
{
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}

//\u6392\u5e8f\u5e76\u8f93\u51fa
void sort()
{
Student tStu;
int i,j;

for(i=0;i<STU_NUM;i++)
{
for(j=STU_NUM-1;j>i;j--)
{
if(stu[j].total>stu[j-1].total)
{
tStu=stu[j];
stu[j]=stu[i];
stu[i]=tStu;
}
}
}
for(i=0;i<STU_NUM;i++)
{
output(i);
}
}

//\u6839\u636e\u5b66\u53f7\u67e5\u627e
void find(char *no)
{
int i;

for(i=0;i<STU_NUM;i++)
{
if(strcmp(stu[i].num,no)==0)
{
output(i);
return;
}
}
printf("\u6ca1\u6709\u627e\u5230!\n");
}

void main()
{
input();
process();
sort();
find("1");
}


\u7ed9\u7684\u7b2c\u4e8c\u4e2a\u7a0b\u5e8f

#include
#include
#include
#include
#include
#include

#define LEN1 sizeof(struct student)
#define NULL 0

struct student
{
char num[15]; //\u8bb0\u5f55\u5b66\u53f7\u3002
char name[15];//\u8bb0\u5f55\u59d3\u540d\u3002
char sex[6]; //\u8bb0\u5f55\u6027\u522b\u3002
struct student *next;
};



int toint(char string[4]) //\u5b9a\u4e49\u4e00\u4e2a\u51fd\u6570\uff0c\u628a\u6570\u5b57\u5b57\u7b26\u4e32\u8f6c\u5316\u4e3a\u6574\u6570\u3002
{
int length,sum=0;

length=strlen(string);

for(int i=0;i<length;i++)
sum=(sum+string[i]-48)*10;

return sum/10;
}


int subject(FILE *fp) //\u5b9a\u4e49\u4e00\u4e2a\u51fd\u6570,\u6765\u901a\u8fc7\u6587\u4ef6\u627e\u51fa\u79d1\u76ee\u6570\u3002
{
int n=0;
char str[40];

rewind(fp);//\u628a\u6587\u4ef6\u6307\u9488\u8fd4\u56de\u5230\u6587\u4ef6\u7684\u5f00\u5934\u3002

do
{
fscanf(fp,"%s",str);
n++;
}while(strcmp(str,"total")!=0);

return n-6;
}

int judgefile(FILE *fp)//\u5224\u65ad\u6587\u4ef6\u662f\u5426\u662f\u4e0a\u6b21\u5f55\u5165\u7684\u6587\u4ef6\u3002
{
char str[40];
int i=0;
char c;

while(!feof(fp))
if(isprint(c=fgetc(fp))&&(c!=32))
i=1;
rewind(fp);
do
{
fscanf(fp,"%s",str);
if(strcmp("total",str)==0)
i=2;
}while(!feof(fp));
switch(i)
{
case 0:printf("\n\u6b64\u6587\u4ef6\u662f\u7a7a\u7684\uff01\n\n");return 0;
case 1:printf("\n\u6b64\u6587\u4ef6\u4e0d\u662f\u6210\u7ee9\u8bb0\u5f55\u6587\u4ef6\uff01\n\n");return 0;
}
return 1;
}



int main(void)
{
void record(void); //\u6210\u7ee9\u5f55\u5165
void research(void); //\u6210\u7ee9\u67e5\u8be2
void putchievement(void); //\u6210\u7ee9\u8f93\u51fa
void statistic(void); //\u6210\u7ee9\u7edf\u8ba1

char a,a1;

printf("\n\t\t ********\u6b22\u8fce\u4f7f\u7528\u672c\u7cfb\u7edf******** \n");
printf("\t\t\t \u4f5c\u8005:\u6c38\u4e45\u6307\u9488\n");

while(1)
{
printf("\n\t1.\u6210\u7ee9\u5f55\u5165 ");
printf("\t\t\t\t 2.\u6210\u7ee9\u67e5\u8be2\n");
printf("\t3.\u6210\u7ee9\u7edf\u8ba1");
printf("\t\t\t\t 4.\u6210\u7ee9\u8f93\u51fa\n");
printf("\t5.\u6e05\u7406\u5c4f\u5e55");
printf("\t\t\t\t 6.\u7cfb\u7edf\u9000\u51fa\n");
printf("\t\t\t \u8bf7\u60a8\u8f93\u5165:");


while(1)
{
while((a=getch())!='\r')
{
if(isprint(a))
{
putchar(a);
putchar('\b');
}

a1=a;
}


if(a1=='1'||a1=='2'||a1=='3'||a1=='4'||a1=='5'||a1=='6')
{
putchar('\n');
break;
}
else printf("\n\t\t\t \u8f93\u5165\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165:");
}


switch(a1)
{
case '1':record(); while(getchar()!='\n');break;
case '2':research(); break;
case '3':statistic();break;
case '4':putchievement();break;
case '5':system("cls");break;
case '6':exit(0);
}
}


return 0;
}




void record(void)
{


int subjects=0,total=0;
char a,a1;


printf("1.\u91cd\u65b0\u5f55\u5165\u30022.\u7ee7\u7eed\u5f55\u5165\u3002\n\u8bf7\u8f93\u5165:");
while(1)
{
while((a=getch())!='\r')
{
if(isprint(a))
{
putchar(a);
putchar('\b');
}
a1=a;
}


if(a1=='1'||a1=='2')
{
putchar('\n');
break;
}
else printf("\n\t\t\t \u8f93\u5165\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165:");
}



char file[30];

FILE *fp;


if('1'==a1)
{
printf("\u8bf7\u60a8\u8f93\u5165\u6587\u4ef6\u540d\u548c\u8def\u5f84\uff08\u5982\u8f93\u5165\u9519\u8bef\u62161\u5219\u9ed8\u8ba4d:\\chengji.txt\uff09:");
scanf("%s",file);
if((fp=fopen(file,"w"))==NULL||strcmp(file,"1")==0) //\u8fd9\u91cc\u8981\u5927\u62ec\u53f7\uff01
{
printf("\u6587\u4ef6\u540d\u548c\u8def\u5f84\u5df2\u7ecf\u9ed8\u8ba4\u3002\n\n");
fp=fopen("d:\\chengji.txt","w");
}



fprintf(fp,"\t\t\t ***********\u6210\u7ee9\u7edf\u8ba1\u8868***********\n");
fprintf(fp,"NUMBER NAME SEX");

char discipline[25];//\u7528\u6765\u8bb0\u5f55\u79d1\u76ee\u3002

printf("\u8bf7\u60a8\u4f9d\u6b21\u8f93\u5165\u8981\u5f55\u5165\u7684\u6210\u7ee9\u79d1\u76ee\uff08\u5982C_language Chinese,\u5f53\u8f93\u5165\u201c-\u201d\u65f6\u8868\u8f93\u5165\u7ed3\u675f\u3002\uff09:\n");
while(1)
{
scanf("%24s",discipline);


if(strcmp(discipline,"-")!=0) //\u5224\u65ad\u79d1\u76ee\u8f93\u5165\u662f\u5426\u7ed3\u675f\u3002
fprintf(fp,"%16s",discipline);//\u5728\u6587\u4ef6\u4e2d\u76f8\u5e94\u7684\u6253\u5370\u51fa\u6765\u3002

else
{
fprintf(fp," average total\n");//\u518d\u5728\u79d1\u76ee\u540e\u9762\u52a0\u4e0a\u5e73\u5747\u5206\u548c\u603b\u5206\u3002

printf("\u60a8\u5df2\u7ecf\u8f93\u5165\u5b8c\u6bd5\uff01\n");
break;
}
}
}


else
{
while(1)
{
printf("\u8bf7\u60a8\u8f93\u5165\u6587\u4ef6\u540d\u548c\u8def\u5f84\uff08\u5982\u8f93\u5165\u9519\u8bef\u62161\u5219\u9ed8\u8ba4d:\\chengji.txt\uff09:");
scanf("%s",file);

if((fp=fopen(file,"r+"))==NULL||strcmp(file,"1")==0)
{
printf("\u6587\u4ef6\u540d\u548c\u8def\u5f84\u5df2\u7ecf\u9ed8\u8ba4\u3002\n\n");

fp=fopen("d:\\chengji.txt","r+");
}

if(judgefile(fp))//\u8c03\u7528\u51fd\u6570\u5224\u65ad\u6587\u4ef6\u662f\u5426\u662f\u4e0a\u6b21\u5f55\u5165\u7684\u6587\u4ef6\u3002
break;
}
}

subjects=subject(fp); //\u8c03\u7528\u51fd\u6570\u5f97\u5230\u6587\u4ef6\u4e2d\u7684\u79d1\u76ee\u6570\u3002
fseek(fp,0L,2); //\u628a\u6587\u4ef6\u6307\u9488\u79fb\u52a8\u5230\u6587\u4ef6\u5f00\u5934\u3002


struct student *head1;
struct student *p1,*p2;

head1=p1=(struct student *)malloc(LEN1);

int score;//\u7528\u6765\u8bb0\u5f55\u5206\u6570\u3002

printf("\u8bf7\u60a8\u4f9d\u6b21\u8f93\u5165\u5b66\u751f\u7684\u5b66\u53f7\uff0c\u59d3\u540d\uff0c\u6027\u522b\uff08m\u6216w\uff09\u548c\u5404\u79d1\u7684\u6210\u7ee9\uff08\u5f53\u5b66\u53f7\u4e3a\u201c-\u201d\u65f6\u8868\u8f93\u5165\u7ed3\u675f\u3002\uff09:\n");
while(1)
{
total=0;


scanf("%s",p1->num); //\u8f93\u5165\u5b66\u53f7\u3002
if(strcmp(p1->num,"-")!=0) //\u5224\u65ad\u662f\u5426\u8f93\u5165\u7ed3\u675f\u3002
{
scanf("%s%s",p1->name,p1->sex); //\u8f93\u5165\u59d3\u540d\u548c\u6027\u522b\u3002
fprintf(fp,"%-12s%-12s%-7s ",p1->num,p1->name,p1->sex);


int i=subjects;
while(1)
{
if(i>0)
{
i--;

scanf("%d",&score); //\u5f55\u5165\u8be5\u751f\u5206\u6570\u3002
total+=score; //\u6c42\u8be5\u751f\u7684\u603b\u5206\u3002

fprintf(fp,"%-12d",score);
}


else
{
fprintf(fp,"%-12.2f%-12d\n",(float)total/subjects,total); //\u6c42\u5e73\u5747\u5206\uff0c\u518d\u5728\u6587\u4ef6\u4e2d\u6253\u5370\u5e73\u5747\u5206\u548c\u603b\u5206\u3002
break;
}
}


p2=(struct student *)malloc(LEN1);
p1->next=p2;
p1=p2;
}


else
{
p1->next=NULL;

free(head1);

printf("\u60a8\u5df2\u7ecf\u8f93\u5165\u5b8c\u6bd5\uff01\n");
fclose(fp);
break;
}
}

}





void research(void)
{
int subjects,stringnum=0,flag,flag1=0;
char p='0',p1,file[50];//\u7528\u4e8e\u8bb0\u5f55\u8def\u5f84\u548c\u6587\u4ef6\u540d\u3002

FILE *fp;

while(1)
{
printf("\u8bf7\u60a8\u8f93\u5165\u4e0a\u6b21\u4fdd\u5b58\u7684\u6587\u4ef6\u8def\u5f84\u548c\u6587\u4ef6\u540d\uff08\u5982\u8f93\u5165\u9519\u8bef\u62161\u5219\u8868\u793a\u9ed8\u8ba4d:\\chengji.txt\uff09:");
scanf("%50s",file);
while(getchar()!='\n');//\u8fc7\u6ee4\u591a\u4f59\u7684\u5b57\u7b26\u6d41\u3002

if((fp=fopen(file,"r"))==NULL||strcmp(file,"1")==0)
{
printf("\u6587\u4ef6\u540d\u548c\u8def\u5f84\u5df2\u7ecf\u9ed8\u8ba4\u3002\n");
fp=fopen("d:\\chengji.txt","r");
}

if(judgefile(fp))//\u8c03\u7528\u51fd\u6570\u5224\u65ad\u6587\u4ef6\u662f\u5426\u662f\u4e0a\u6b21\u5f55\u5165\u7684\u6587\u4ef6\u3002
break;
}


subjects=subject(fp);
rewind(fp);


char filestring[20],getnumorname[20];


printf("\n\u8bf7\u60a8\u9009\u62e9\u67e5\u8be2\u65b9\u5f0f:\n");
printf("\u6309\u5b66\u53f7\u67e5\u627e\u8bf7\u8f93\u51651,\u6309\u59d3\u540d\u67e5\u627e\u8bf7\u8f93\u51652,\u9000\u51fa\u8bf7\u8f93\u5165\u5176\u4ed6\u952e.\n");
printf("\u8bf7\u8f93\u5165:");


p=getch();
do
{
p1=p;
if(isprint(p))
{
putchar(p);
putchar('\b');
}
}while((p=getch())!='\r');

int flag2;//\u7528\u4e8e\u63a7\u5236\u4e0b\u9762\u8f93\u51fa.

if('1'==p1)
{
putchar('\n');

flag2=0;

while(1)
{
int q=-1;//\u4e0b\u9762\u6709\u7528\u3002
flag=0;//\u901a\u8fc7\u5b83\u7684\u503c\u6765\u5224\u65ad\u5728\u6587\u4ef6\u4e2d\u662f\u5426\u6709\u6b64\u4eba\u3002
stringnum=0;//\u8bb0\u5f55\u5728\u6587\u4ef6\u4e2d\u5df2\u7ecf\u67e5\u8be2\u4e86\u7684\u5b57\u7b26\u4e32\u6570\u3002

flag2++;

if(1==flag2)
printf("\u8bf7\u60a8\u8f93\u5165\u8981\u67e5\u8be2\u7684\u5b66\u53f7\uff08\u9000\u51fa\u8bf7\u8f93\u5165\u201c-\u201d\uff09:\n");//\u8f93\u5165\u8981\u67e5\u8be2\u7684\u5b66\u53f7\u3002




while(q<20)
{
q++;

if((getnumorname[q]=getch())!='\r')
{
if(0==q) // \u628a"\u8bf7\u60a8\u8f93\u5165\u8981\u67e5\u8be2\u7684\u5b66\u53f7\uff08\u9000\u51fa\u8bf7\u8f93\u5165\u201c-\u201d\uff09:"\u6216"\u67e5\u65e0\u6b64\u4eba\uff0c\u8bf7\u7ee7\u7eed\u6216\u8f93\u5165'-'\u9000\u51fa:"\u8986\u76d6\u6389\u3002
{
putchar('\r');
printf(" ");
putchar('\r');
}

putchar(getnumorname[q]);

if(getnumorname[q]==8)
{
putchar(' ');
putchar(8);
q-=2;
if(q<-1)
q=-1;
}
}

else break;
}

getnumorname[q]='\0';
putchar('\r');


if(strcmp(getnumorname,"-")==0)//\u5224\u65ad\u662f\u5426\u67e5\u8be2\u7ed3\u675f\u3002
return;


fseek(fp,43L,0);//\u6ee4\u8fc7\u5b57\u7b26\u4e32***********\u6210\u7ee9\u7edf\u8ba1\u8868***********\uff0c\u4ee5\u514dfilestring\u5b9a\u5f97\u592a\u5927\u3002


while(!feof(fp))
{
fscanf(fp,"%s",filestring);
stringnum++;

if(1==flag2&&stringnum>0&&stringnum<subjects+6)//\u7528\u4e8e\u4e00\u5f00\u59cb\u5c31\u603b\u662f\u8f93\u5165\u9519\u8bef\u800c\u5bfc\u81f4\u7684\u8fc7\u591a\u8f93\u51fa\u6587\u4ef6\u4e2d\u8bfb\u7684\u9879\u76ee\u3002
{
printf("%-12s",filestring);
if(stringnum==subjects+5) printf("\n");
}

if(stringnum>0&&stringnum29) //\u628a\u4ece\u6587\u4ef6\u4e2d\u8bfb\u7684\u9879\u76ee\u8f93\u51fa\u5230\u5c4f\u5e55\u4e0a\u3002
{
printf("%-12s",filestring);
if(stringnum==subjects+5) printf("\n");
}


if((stringnum-1)%(subjects+5)==0&&strcmp(filestring,getnumorname)==0) //\u627e\u5230\u8be5\u751f\u7684\u6761\u4ef6\u3002
{
flag=1;//\u4f7f\u503c\u4e3a1\uff0c\u8868\u660e\u5b58\u5728\u8be5\u751f\u3002
flag1++;//\u8bb0\u5f55\u4f7f\u7528\u8005\u67e5\u8be2\u6210\u529f\u7684\u6b21\u6570\u3002


for(int b=subjects+5;b>0;b--) //\u82e5\u627e\u5230\u5219\u8f93\u51fa\u8be5\u751f\u7684\u4fe1\u606f\u3002
{
printf("%-12s ",filestring);

if(b!=1)
{
fscanf(fp,"%s",filestring);
stringnum++;
}
}

printf("\n");
break;
}

else continue; //\u627e\u4e0d\u5230\u5219\u7ee7\u7eed\u3002
}


if(flag==0)
printf("\u67e5\u65e0\u6b64\u4eba\uff0c\u8bf7\u7ee7\u7eed\u6216\u9000\u51fa:");
}
}


else if(p1=='2')
{
char getnum[26];//\u7528\u4e8e\u8bb0\u5f55\u6587\u4ef6\u4e2d\u7684\u5b66\u53f7\u3002
putchar('\n');

flag=0;
flag2=0;

while(1)
{
int q=-1;//\u4e0b\u9762\u6709\u7528\u3002
flag=0;//\u901a\u8fc7\u5b83\u7684\u503c\u6765\u5224\u65ad\u5728\u6587\u4ef6\u4e2d\u662f\u5426\u6709\u6b64\u4eba\u3002
stringnum=0;//\u8bb0\u5f55\u5728\u6587\u4ef6\u4e2d\u5df2\u7ecf\u67e5\u8be2\u4e86\u7684\u5b57\u7b26\u4e32\u6570\u3002

flag2++;

if(1==flag2)
printf("\u8bf7\u60a8\u8f93\u5165\u8981\u67e5\u8be2\u7684\u59d3\u540d\uff08\u9000\u51fa\u8bf7\u8f93\u5165\u201c-\u201d\uff09:\n");

while(q<20)
{
q++;

if((getnumorname[q]=getch())!='\r')
{
if(0==q) // \u628a"\u8bf7\u60a8\u8f93\u5165\u8981\u67e5\u8be2\u7684\u5b66\u53f7\uff08\u9000\u51fa\u8bf7\u8f93\u5165\u201c-\u201d\uff09:"\u6216"\u67e5\u65e0\u6b64\u4eba\uff0c\u8bf7\u7ee7\u7eed\u6216\u8f93\u5165'-'\u9000\u51fa:"\u8986\u76d6\u6389\u3002
{
putchar('\r');
printf(" ");
putchar('\r');
}

putchar(getnumorname[q]);

if(getnumorname[q]==8)
{
putchar(' ');
putchar(8);
q-=2;
if(q<-1)
q=-1;
}
}

else break;
}

getnumorname[q]='\0';
putchar('\r');

if(strcmp(getnumorname,"-")==0)//\u5224\u65ad\u662f\u5426\u67e5\u8be2\u7ed3\u675f\u3002
return;


fseek(fp,43L,0); //\u6ee4\u8fc7\u5b57\u7b26\u4e32***********\u6210\u7ee9\u7edf\u8ba1\u8868***********\uff0c\u4ee5\u514dnum\u5b9a\u7684\u592a\u5927\u3002


while(!feof(fp))
{
fscanf(fp,"%s",filestring);
stringnum++;


if(1==flag2&&stringnum>0&&stringnum<subjects+6)//\u7528\u4e8e\u4e00\u5f00\u59cb\u5c31\u603b\u662f\u8f93\u5165\u9519\u8bef\u800c\u5bfc\u81f4\u7684\u8fc7\u591a\u8f93\u51fa\u6587\u4ef6\u4e2d\u8bfb\u7684\u9879\u76ee\u3002
{
printf("%-15s",filestring);
if(stringnum==subjects+5) printf("\n");
}


if(stringnum>0&&stringnum29)
{
printf("%-15s",filestring);
if(stringnum==subjects+5)
printf("\n");
}


if(stringnum%(subjects+5)==1&&stringnum>(subjects+5))
strcpy(getnum,filestring);


if((stringnum-2)%(subjects+5)==0&&strcmp(filestring,getnumorname)==0)//\u6709\u6b64\u4eba\u7684\u6761\u4ef6\u3002
{
flag=1;//\u4f7f\u503c\u4e3a1\uff0c\u8868\u660e\u5b58\u5728\u8be5\u751f\u3002
flag1++;//\u8bb0\u5f55\u4f7f\u7528\u8005\u67e5\u8be2\u6210\u529f\u7684\u6b21\u6570\u3002

for(int b=subjects+4;b>0;b--)
{
if(b==subjects+4)
printf("%-15s",getnum);
printf("%-15s",filestring);


if(b!=1)
{
fscanf(fp,"%s",filestring);
stringnum++;
}
}
printf("\n");
}


else continue;
}


if(flag==0)
printf("\u67e5\u65e0\u6b64\u4eba\uff0c\u8bf7\u7ee7\u7eed\u6216\u9000\u51fa:");
}
}

else return;
}



void statistic(void)
{
char file[30];
char subjectnum[4],a;
int b;

FILE *fp;
while(1)
{
printf("\u8bf7\u60a8\u8f93\u5165\u4e0a\u6b21\u4fdd\u5b58\u7684\u6587\u4ef6\u8def\u5f84\u548c\u6587\u4ef6\u540d\uff08\u5982\u8f93\u5165\u9519\u8bef\u62161\u5219\u8868\u793a\u9ed8\u8ba4d:\\chengji.txt\uff09:");
scanf("%s",file);
while(getchar()!='\n');



if((fp=fopen(file,"r"))==NULL||strcmp(file,"1")==0)
{
printf("\u6587\u4ef6\u540d\u548c\u8def\u5f84\u5df2\u7ecf\u9ed8\u8ba4\u3002\n");
fp=fopen("d:\\chengji.txt","r");
}

if(judgefile(fp))//\u8c03\u7528\u51fd\u6570\u5224\u65ad\u6587\u4ef6\u662f\u5426\u662f\u4e0a\u6b21\u5f55\u5165\u7684\u6587\u4ef6\u3002
break;
}

char filestring[25],*p; //num\u4e0d\u80fd\u5c0f\u4e8e"***********\u6210\u7ee9\u7edf\u8ba1\u8868***********"\u7684\u957f\u5ea6\uff0c\u5426\u5219\u8f93\u51fa"***********\u6210\u7ee9\u7edf\u8ba1\u8868**********************\u6210\u7ee9\u7edf\u8ba1\u8868***********".
int num1[3][20]={0};
int i,stringnum=0,q,j,num2,excellentmark,passmark;


p=filestring;
i=subject(fp); //\u7edf\u8ba1\u6587\u4ef6\u7684\u79d1\u76ee\u4e66\u6570\u3002
rewind(fp);


printf("\u8bf7\u60a8\u8f93\u5165\u4f18\u79c0\u5206\u6570\u7ebf:");
while(1)
{
b=0;


while((a=getch())!='\r')
{
if(isdigit(a)&&(b<3))
{
putchar(a);
subjectnum[b]=a;
b++;
}

if(8==a)
{
if(--b>=0)
{putchar('\b');putchar(' ');putchar('\b');}
else b++;
}
}


subjectnum[b]='\0';


if((excellentmark=toint(subjectnum))<=0)
printf("\n\u8f93\u5165\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165:");
else {putchar('\n'); break;}
}


printf("\u8bf7\u60a8\u8f93\u5165\u53ca\u683c\u5206\u6570\u7ebf:");
while(1)
{
b=0;


while((a=getch())!='\r')
{
if(isdigit(a)&&(b<3))
{
putchar(a);
subjectnum[b]=a;
b++;
}
if(8==a)
{
if(--b>=0)
{putchar('\b');putchar(' ');putchar('\b');}
else b++;
}
}


subjectnum[b]='\0';


if((passmark=toint(subjectnum))excellentmark)
printf("\n\u8f93\u5165\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165:");
else {putchar('\n'); break;}
}

fseek(fp,43L,0);//\u6ee4\u8fc7\u5b57\u7b26\u4e32***********\u6210\u7ee9\u7edf\u8ba1\u8868***********\uff0c\u4ee5\u514dnum\u5b9a\u7684\u592a\u5927\u3002


while(!feof(fp))
{
stringnum++;


if(stringnum>3&&stringnum<4+i)
{
fscanf(fp,"%s",filestring);

if(stringnum==4)
printf("\t ");

printf("%15s",filestring);

if(stringnum==i+3)
printf("\n");
}


else if(stringnum%(i+5)>3&&stringnum%(i+5)<(i+4))
{
fscanf(fp,"%d",&num2);

if(num2>=excellentmark)
num1[0][(stringnum%(5+i))-4]++;

else if(num2>=passmark)
num1[1][(stringnum%(5+i))-4]++;

else
num1[2][(stringnum%(5+i))-4]++;
}


else fscanf(fp,"%s",filestring);
}
for(j=0;j<3;j++)
{
switch(j)
{
case 0: printf("\u4f18\u79c0\u6bb5 \uff08%d~ \uff09 ",excellentmark);break;
case 1: printf("\u53ca\u683c\u6bb5 \uff08%d~%d\uff09 ",excellentmark,passmark);break;
case 2: printf("\u4e0d\u53ca\u683c\u6bb5\uff080 ~%d\uff09 ",passmark);break;
}


for(q=0;q<i;q++)
printf(" %-12d",num1[j][q]);
printf("\n");
}


for(j=0;j<2;j++)
{

switch(j)
{
case 0:printf("\u4f18\u79c0\u7387 ");break;
case 1:printf("\u53ca\u683c\u7387 ");break;
}


if(j==0)
for(q=0;q<i;q++)
{
printf(" %-4.2f%% ",100*(float)(i+5)*num1[j][q]/(stringnum-6-i));
if(q==i-1)
printf("\n");
}


if(j==1)
for(q=0;q<i;q++)
printf(" %-4.2f%% ",100*(float)(i+5)*(num1[j][q]+num1[0][q])/(stringnum-6-i));
}
}



void putchievement(void)
{
char choice,a;
char file[60],filestr[26];
int subjectnum,flag=0,totalstudent=0;

FILE *fp;

while(1)
{
printf("\u8bf7\u60a8\u8f93\u5165\u4e0a\u6b21\u4fdd\u5b58\u7684\u6587\u4ef6\u8def\u5f84\u548c\u6587\u4ef6\u540d\uff08\u5982\u8f93\u5165\u9519\u8bef\u62161\u5219\u8868\u793a\u9ed8\u8ba4d:\\chengji.txt\uff09:");
scanf("%60s",file);
while(getchar()!='\n');


if((fp=fopen(file,"r"))==NULL||strcmp(file,"1")==0)
{
printf("\u6587\u4ef6\u540d\u548c\u8def\u5f84\u5df2\u7ecf\u9ed8\u8ba4\u3002\n\n");
fp=fopen("d:\\chengji.txt","r");
}

if(judgefile(fp))//\u8c03\u7528\u51fd\u6570\u5224\u65ad\u6587\u4ef6\u662f\u5426\u662f\u4e0a\u6b21\u5f55\u5165\u7684\u6587\u4ef6\u3002
break;
}

subjectnum=subject(fp);
rewind(fp);


printf("1.\u6309\u5b66\u53f7\u8f93\u51fa\t\t 2.\u6309\u603b\u5206\u8f93\u51fa\t\t 3.\u9000\u51fa\n");
printf("\u8bf7\u8f93\u5165:");


while(1) //\u9632\u4e00\u4e0b\u6f0f\u6d1e\uff01
{
choice='\r';

while((a=getch())!='\r')
{
if(a>48&&a<52)
{
putchar(a);
putchar('\b');
}

choice=a;
}

if(choice!='\r')
{
putchar('\n');
break;
}
}


if('3'==choice)
exit(0);


fseek(fp,43L,0); //\u6ee4\u8fc7\u5b57\u7b26\u4e32***********\u6210\u7ee9\u7edf\u8ba1\u8868***********\uff0c\u4ee5\u514dfilestr\u5b9a\u7684\u592a\u5927\u3002

flag=subjectnum;
while(flag-->-5) //\u8f93\u51fa\u201cNUMBER NAME...\u201d\u7b49\u9879\u3002
{
fscanf(fp,"%s",filestr);
printf("%-15s",filestr);
}



if('1'==choice)
{
flag=0;

struct row_preface
{
char studentnum[20];
long position; //\u7528\u6765\u8bb0\u5f55\u8bfb\u53d6\u8be5\u5b66\u53f7\u540e\u6587\u4ef6\u6307\u9488\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5230\u65f6\u5019\u8f93\u51fa\u8be5\u5b66\u53f7\u540e\u9762\u7684\u9879\u3002
struct row_preface *next;
};

struct row_preface *head,*p1,*p2;

int len=sizeof(struct row_preface);
head=p1=(struct row_preface *)malloc(len);


while(!feof(fp))
{
fscanf(fp,"%s",filestr);
flag++;

if(flag%(subjectnum+5)==1)
{
totalstudent++;//\u7528\u4e8e\u8bb0\u5f55\u5b66\u751f\u7684\u4eba\u6570\u3002


strcpy(p1->studentnum,filestr);
p1->position=ftell(fp);


p2=(struct row_preface *)malloc(len);
p1->next=p2;
p1=p2;
}
}

p2->next=NULL;


long transition;
char storge[20];
totalstudent=totalstudent-2; //\u8ba1\u7b97\u51fa\u7edf\u8ba1\u7684\u4eba\u6570\u3002


for(int i=totalstudent;i>1;i--)
{
p1=head;

for(int j=i;j>0;j--)
{
p2=p1->next;

if(strcmp(p1->studentnum,p2->studentnum)>0)
{
strcpy(storge,p1->studentnum);
strcpy(p1->studentnum,p2->studentnum);
strcpy(p2->studentnum,storge);

transition=p1->position;
p1->position=p2->position;
p2->position=transition;
}

p1=p2;
}
}





p1=head;
while(p1->next->next!=NULL)
{
flag=subjectnum;
p2=p1->next;


printf("\n%-15s",p1->studentnum);

fseek(fp,p1->position,0);//\u4f7f\u6307\u9488\u6307\u5230\u6587\u4ef6\u4e2d\u7684\u8be5\u5b66\u53f7\u540e\u9762\u3002
while((flag--)>-4) //\u8f93\u51fa\u5b66\u53f7\u540e\u9762\u7684\u9879\u3002
{
fscanf(fp,"%s",filestr);
printf("%-15s",filestr);
}

p1=p2;
}
free(head);
}


if('2'==choice)
{
flag=0;
struct row_preface
{
int totalnum; //\u7528\u6765\u8bb0\u5f55\u603b\u5206\u3002
long position; //\u7528\u6765\u8bb0\u5f55\u8bfb\u53d6\u8be5\u5b66\u53f7\u524d\u6587\u4ef6\u6307\u9488\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5230\u65f6\u5019\u8f93\u51fa\u8be5\u5b66\u53f7\u548c\u540e\u9762\u7684\u9879\u3002
struct row_preface *next;
};


struct row_preface *head,*p1,*p2;

int len=sizeof(struct row_preface);
head=p1=(struct row_preface *)malloc(len);

p1->position=ftell(fp);


while(!feof(fp))
{
flag++;

if(flag%(subjectnum+5)!=0)
fscanf(fp,"%s",filestr);


if(flag%(subjectnum+5)==0)
{
totalstudent++;//\u7528\u4e8e\u8bb0\u5f55\u5b66\u751f\u7684\u4eba\u6570\u3002
fscanf(fp,"%d",&p1->totalnum);

p2=(struct row_preface *)malloc(len);
p1->next=p2;

p2->position=ftell(fp);

p1=p2;
}
}

p2->next=NULL;


long transition;

totalstudent=totalstudent-2; //\u8ba1\u7b97\u51fa\u7edf\u8ba1\u7684\u4eba\u6570\u3002

for(int i=totalstudent;i>1;i--)
{
p1=head;

for(int j=i;j>0;j--)
{
p2=p1->next;

if(p1->totalnumtotalnum)
{
transition=p1->totalnum; //\u4ea4\u6362\u603b\u5206\u3002
p1->totalnum=p2->totalnum;
p2->totalnum=transition;

transition=p1->position; //\u4ea4\u6362\u6307\u9488\u4f4d\u7f6e\u3002
p1->position=p2->position;
p2->position=transition;
}

p1=p2;
}
}


flag=subjectnum;


putchar('\n');

p1=head;
while(p1->next->next!=NULL)
{
p2=p1->next;

fseek(fp,p1->position,0);//\u4f7f\u6307\u9488\u6307\u5230\u6587\u4ef6\u4e2d\u7684\u8be5\u5b66\u53f7\u524d\u9762\u3002
flag=subjectnum+5;
while(flag--)
{
fscanf(fp,"%s",filestr);
printf("%-15s",filestr);
}

putchar('\n');
p1=p2;
}

free(head);
}
}

\u600e\u6837\u5b66\u7f16\u7a0b

1.\u660e\u786e\u5b66\u4e60\u76ee\u7684

\u5b66\u4e60\u7f16\u7a0b\u5bf9\u5927\u591a\u6570IT\u4e1a\u4eba\u5458\u6765\u8bf4\u90fd\u662f\u975e\u5e38\u6709\u7528\u7684\u3002\u5b66\u7f16\u7a0b\uff0c\u505a\u4e00\u540d\u7f16\u7a0b\u4eba\u5458\uff0c\u4ece\u4e2a\u4eba\u89d2\u5ea6\u8bb2\uff0c\u53ef\u4ee5\u89e3\u51b3\u5728\u8f6f\u4ef6\u4f7f\u7528\u4e2d\u6240\u9047\u5230\u7684\u95ee\u9898\uff0c\u6539\u8fdb\u73b0\u6709\u8f6f\u4ef6\uff0c\u53ef\u4ee5\u4e3a\u81ea\u5df1\u627e\u5230\u4e00\u4efd\u7406\u60f3\u7684\u5de5\u4f5c\u6dfb\u52a0\u91cd\u8981\u5f97\u781d\u7801\uff0c\u6709\u5229\u4e8e\u5728\u6c42\u804c\u9053\u8def\u4e0a\u8c0b\u5f97\u4e00\u4e2a\u597d\u7684\u804c\u4f4d\uff1b\u4ece\u56fd\u5bb6\u7684\u89d2\u5ea6\uff0c\u53ef\u4ee5\u4e3a\u4e2d\u56fd\u7684\u8f6f\u4ef6\u4ea7\u4e1a\u505a\u51fa\u5e94\u6709\u7684\u8d21\u732e\uff0c\u4e00\u540d\u4f18\u79c0\u7684\u7a0b\u5e8f\u5458\u6c38\u8fdc\u662f\u88ab\u4e89\u593a\u7684\u5bf9\u8c61\u3002\u5b66\u4e60\u7f16\u7a0b\u8fd8\u80fd \u953b\u70bc\u601d\u7ef4\uff0c\u4f7f\u6211\u4eec\u7684\u903b\u8f91\u601d\u7ef4\u66f4\u52a0\u4e25\u5bc6\uff1b\u80fd\u591f\u4e0d\u65ad\u4eab\u53d7\u5230\u521b\u65b0\u7684\u4e50\u8da3\uff0c\u5c06\u4e00\u76f4\u6709\u673a\u4f1a\u8d70\u5728\u9ad8\u79d1\u6280\u7684\u524d\u6cbf\uff0c\u56e0\u4e3a\u7a0b\u5e8f\u8bbe\u8ba1\u672c\u8eab\u662f\u4e00\u79cd\u521b\u9020\u6027\u7684\u5de5\u4f5c\u3002\u77e5\u8bc6\u7ecf\u6d4e\u65f6\u4ee3\u7ed9\u6211\u4eec\u5e26\u6765\u4e86\u65e0\u9650\u7684\u673a\u4f1a\uff0c\u8981\u60f3\u771f\u6b63\u638c\u63e1\u8ba1\u7b97\u673a\u6280\u672f\uff0c\u5e76\u5728IT\u884c\u4e1a\u91cc\u5e72\u51fa\u4e00\u756a\u4e8b\u4e1a\u6765\uff0c\u6709\u6240\u4f5c\u4e3a\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80fd\u529b\u662f\u4e00\u4e2a\u57fa\u672c\u6761\u4ef6\u548c\u8981\u6c42\u3002

2.\u6253\u597d\u57fa\u7840

\u5b66\u7f16\u7a0b\u8981\u5177\u5907\u4e00\u5b9a\u7684\u57fa\u7840\uff0c\u603b\u7ed3\u4e4b\u6709\u4ee5\u4e0b\u51e0\u65b9\u9762\uff1a
\uff081\uff09\u6570\u5b66\u57fa\u7840 \u4ece\u8ba1\u7b97\u673a\u53d1\u5c55\u548c\u5e94\u7528\u7684\u5386\u53f2\u6765\u770b\u8ba1\u7b97\u673a\u7684\u6570\u5b66\u6a21\u578b\u548c\u4f53\u7cfb\u7ed3\u6784\u7b49\u90fd\u662f\u6709\u6570\u5b66\u5bb6\u63d0\u51fa\u7684\uff0c\u6700\u65e9\u7684\u8ba1\u7b97\u673a\u4e5f\u662f\u4e3a\u6570\u503c\u8ba1\u7b97\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\uff0c\u8981\u5b66\u597d\u8ba1\u7b97\u673a\u5c31\u8981\u6709\u4e00\u5b9a\u7684\u6570\u5b66\u57fa\u7840\uff0c\u51fa\u5b66\u8005\u6709\u9ad8\u4e2d\u6c34\u5e73\u5c31\u5dee\u4e0d\u591a\u4e86\u3002
\uff082\uff09\u903b\u8f91\u601d\u7ef4\u80fd\u529b\u7684\u57f9\u517b \u5b66\u7a0b\u5e8f\u8bbe\u8ba1\u8981\u6709\u4e00\u5b9a\u7684\u903b\u8f91\u601d\u7ef4\u80fd\u529b\uff0c\u201c\u903b\u601d\u529b\u201d\u7684\u57f9\u517b\u8981\u957f\u65f6\u95f4\u7684\u5b9e\u8df5\u953b\u70bc\u3002\u8981\u60f3\u6210\u4e3a\u4e00\u540d\u4f18\u79c0\u7684\u7a0b\u5e8f\u5458\uff0c\u6700\u91cd\u8981\u7684\u662f\u638c\u63e1\u7f16\u7a0b\u601d\u60f3\u3002\u8981\u505a\u5230\u8fd9\u4e00\u70b9\u5fc5\u987b\u5728\u53cd\u590d\u7684\u5b9e\u8df5\u3001\u89c2\u5bdf\u3001\u5206\u6790\u3001\u6bd4\u8f83\u3001\u603b\u7ed3\u4e2d\u9010\u6e10\u5730\u79ef\u7d2f\u3002\u56e0\u6b64\u5728\u5b66\u4e60\u7f16\u7a0b\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4e0d\u5fc5\u7b49\u5230\u4ec0\u4e48\u90fd\u5b8c\u5168\u660e\u767d\u4e86\u624d\u53bb\u52a8\u624b\u5b9e\u8df5\uff0c\u53ea\u8981\u660e\u767d\u4e86\u5927\u6982\uff0c\u5c31\u8981\u6562\u4e8e\u81ea\u5df1\u52a8\u624b\u53bb\u4f53\u9a8c\u3002\u8c01\u90fd\u6709\u7b2c\u4e00\u6b21\u3002\u6709\u4e9b\u95ee\u9898\u53ea\u6709\u901a\u8fc7\u5b9e\u8df5\u540e\u624d\u80fd\u660e\u767d\uff0c\u4e5f\u53ea\u6709\u5b9e\u8df5\u624d\u80fd\u628a\u8001\u5e08\u548c\u4e66\u4e0a\u7684\u77e5\u8bc6\u53d8\u6210\u81ea\u5df1\u7684\uff0c\u9ad8\u624b\u90fd\u662f\u8fd9\u6837\u6210\u6750\u7684\u3002
\uff083\uff09\u9009\u62e9\u4e00\u79cd\u5408\u9002\u7684\u5165\u95e8\u8bed\u8a00 \u9762\u5bf9\u5404\u79cd\u5404\u6837\u7684\u8bed\u8a00\uff0c\u5e94\u6309\u4ec0\u4e48\u6837\u7684\u987a\u5e8f\u5b66\u5462\uff1f\u7a0b\u5e8f\u8bbe\u8ba1\u5de5\u5177\u4e0d\u5916\u4e4e\u5982\u4e0b\u51e0\u7c7b\uff1a 1\uff09\u672c\u5730\u5f00\u53d1 \u5e94\u7528\u8f6f\u4ef6\u5f00\u53d1\u7684\u5de5\u5177\u6709\uff1aVisual Basic \u3001Delphi \u3001VC++ ( C++ Builder ) \u7b49\uff1b\u6570\u636e\u5e93\u5f00\u53d1\u5de5\u5177\u6709\uff1aVisual Foxpro \u3001Oracle Developer \u3001Power Builder \u7b49\u3002 2\uff09\u8de8\u5e73\u53f0\u5f00\u53d1 \u5f00\u53d1\u5de5\u5177\u5982 Java \u7b49\u3002 3\uff09\u7f51\u7edc\u5f00\u53d1 \u5bf9\u5ba2\u6237\u7aef\u5f00\u53d1\u5de5\u5177\u5982\uff1aJava Script \u7b49\uff1b\u5bf9\u670d\u52a1\u5668\u5f00\u53d1\u5de5\u5177\u5982\uff1aPHP \u3001ASP \u3001JSP \u3001ISAPI \u3001NSAPI \u3001CGI \u7b49\u3002 \u4ee5\u4e0a\u4e0d\u540c\u7684\u73af\u5883\u4e0b\u51e0\u79cd\u5f00\u53d1\u5de5\u5177\u4e2d VB \u6cd5\u7b80\u5355\u5e76\u5bb9\u6613\u7406\u89e3\uff0c\u754c\u9762\u8bbe\u8ba1\u662f\u53ef\u8bbe\u5316\u7684\uff0c\u6613\u5b66\u3001\u6613\u7528\u3002\u9009 VB \u4f5c\u4e3a\u5165\u95e8\u7684\u65b9\u5411\u5bf9\u51fa\u5b66\u8005\u662f\u8f83\u4e3a\u9002\u5408\u7684\u3002

3. \u6ce8\u610f\u7406\u89e3\u4e00\u4e9b\u91cd\u8981\u6982\u5ff5

\u4e00\u672c\u7a0b\u5e8f\u8bbe\u8ba1\u7684\u4e66\u770b\u5230\u7684\u65e0\u975e\u5c31\u662f\u53d8\u91cf\u3001\u51fd\u6570\u3001\u6761\u4ef6\u8bed\u53e5\u3001\u5faa\u73af\u8bed\u53e5\u7b49\u6982\u5ff5\uff0c\u4f46\u8981\u771f\u6b63\u80fd\u8fdb\u884c\u7f16\u7a0b\u5e94\u7528\uff0c\u9700\u8981\u6df1\u5165\u7406\u89e3\u8fd9\u4e9b\u6982\u5ff5\uff0c\u5728\u7406\u89e3\u7684\u57fa\u7840\u4e0a\u5e94\u7528\uff0c\u4e0d\u8981\u53ea\u7b80\u5355\u5730\u5b66\u4e60\u8bed\u6cd5\u3001\u7ed3\u6784\uff0c\u800c\u8981\u5403\u900f\u9488\u5bf9\u8fd9\u4e9b\u8bed\u6cd5\u3001\u7ed3\u6784\u7684\u5e94\u7528\u4f8b\u5b50\uff0c\u505a\u5230\u4e3e\u4e00\u53cd\u4e09\uff0c\u89e6\u7c7b\u65c1\u901a\u3002

4.\u638c\u63e1\u7f16\u7a0b\u601d\u60f3

\u5b66\u4e60\u4e00\u95e8\u8bed\u8a00\u6216\u5f00\u53d1\u5de5\u5177\uff0c\u8bed\u6cd5\u7ed3\u6784\u3001\u529f\u80fd\u8c03\u7528\u662f\u6b21\u8981\u7684\uff0c\u6700\u4e3b\u8981\u662f\u5b66\u4e60\u5b83\u7684\u601d\u60f3\u3002\u4f8b\u5982\u5b66\u4e60 VC \u5c31\u8981\u5b66\u4e60 Windows \u7684\u5185\u5728\u673a\u7406\u3001\u4ec0\u4e48\u662f\u7ebf\u7a0b......\uff1b\u5b66\u4e60 COM \u5c31\u8981\u77e5\u9053 VTALBE \u3001\u7c7b\u5382\u3001\u63a5\u53e3\u3001idl......\uff0c\u5173\u952e\u662f\u5b66\u4e00\u79cd\u601d\u60f3\uff0c\u6709\u4e86\u601d\u60f3\uff0c\u90a3\u4e48\u6211\u4eec\u5c31\u53ef\u4ee5\u89e6\u7c7b\u65c1\u901a\u3002

5.\u591a\u5b9e\u8df5\u3001\u591a\u4ea4\u6d41

\u638c\u63e1\u7f16\u7a0b\u601d\u60f3\u5fc5\u987b\u5728\u7f16\u7a0b\u5b9e\u9645\u5de5\u4f5c\u4e2d\u53bb\u5b9e\u8df5\u548c\u4f53\u4f1a\u3002\u7f16\u7a0b\u8d77\u6b65\u9636\u6bb5\u8981\u7ecf\u5e38\u81ea\u5df1\u52a8\u624b\u8bbe\u8ba1\u7a0b\u5e8f\uff0c\u5177\u4f53\u8bbe\u8ba1\u65f6\u4e0d\u8981\u62d8\u6ce5\u4e8e\u56fa\u5b9a\u7684\u601d\u7ef4\u65b9\u5f0f\uff0c\u9047\u5230\u95ee\u9898\u8981\u591a\u60f3\u51e0\u79cd\u89e3\u51b3\u7684\u65b9\u6848\u3002\u8fd9\u5c31\u8981\u591a\u4ea4\u6d41\uff0c\u5404\u4eba\u7684\u601d\u7ef4\u65b9\u5f0f\u4e0d\u540c\u3001\u89d2\u5ea6\u5404\u5f02\uff0c\u5404\u6709\u9ad8\u62db\uff0c\u901a\u8fc7\u4ea4\u6d41\u53ef\u4e0d\u65ad\u5438\u6536\u522b\u4eba\u7684\u957f\u5904\uff0c\u4e30\u5bcc\u7f16\u7a0b\u5b9e\u8df5\uff0c\u5e2e\u52a9\u81ea\u5df1\u63d0\u9ad8\u6c34\u5e73\u3002\u4eb2\u81ea\u52a8\u624b\u8fdb\u884c\u7a0b\u5e8f\u8bbe\u8ba1\u662f\u521b\u9020\u6027\u601d\u7ef4\u5e94\u7528\u7684\u4f53\u73b0\uff0c\u4e5f\u662f\u57f9\u517b\u903b\u8f91\u601d\u7ef4\u7684\u597d\u65b9\u6cd5\u3002

6.\u517b\u6210\u826f\u597d\u7684\u7f16\u7a0b\u4e60\u60ef

\u7f16\u7a0b\u5165\u95e8\u4e0d\u96be\uff0c\u4f46\u5165\u95e8\u540e\u4e0d\u65ad\u5b66\u4e60\u662f\u5341\u5206\u91cd\u8981\u7684\uff0c\u76f8\u5bf9\u6765\u8bf4\u8f83\u4e3a\u6f2b\u957f\u3002\u5728\u6b64\u671f\u95f4\u8981\u6ce8\u610f\u517b\u6210\u4e00\u4e9b\u826f\u597d\u7684\u7f16\u7a0b\u4e60\u60ef\u3002\u7f16\u7a0b\u98ce\u683c\u7684\u597d\u574f\u5f88\u5927\u7a0b\u5ea6\u5f71\u54cd\u7a0b\u5e8f\u8d28\u91cf\u3002\u826f\u597d\u7684\u7f16\u7a0b\u98ce\u683c\u53ef\u4ee5\u4f7f\u7a0b\u5e8f\u7ed3\u6784\u6e05\u6670\u5408\u7406\uff0c\u4e14\u4f7f\u7a0b\u5e8f\u4ee3\u7801\u4fbf\u4e8e\u7ef4\u62a4\u3002\u5982\u4ee3\u7801\u7684\u7f29\u8fdb\u7f16\u6392\u3001\u53d8\u91cf\u547d\u4ee4\u89c4\u5219\u7684\u4e00\u81f4\u6027\u3001\u4ee3\u7801\u7684\u6ce8\u91ca\u7b49\u3002

7.\u4e0a\u7f51\u5b66\u7f16\u7a0b

\u5728\u7f51\u4e0a\u53ef\u4ee5\u5b66\u5230\u5f88\u591a\u4e0d\u540c\u7684\u7f16\u7a0b\u601d\u60f3\u3001\u65b9\u6cd5\u3001\u7ecf\u9a8c\u548c\u6280\u5de7\uff0c\u6709\u5927\u91cf\u7684\u5de5\u5177\u548c\u4f5c\u54c1\u53ca\u76f8\u5173\u7684\u8f85\u5bfc\u6750\u6599\u4f9b\u4e0b\u8f7d\u3002\u4f8b\u5982\u7f51\u7ad9\u201c\u7f16\u7a0b\u8bfe\u5802\u201d\uff08http://best.yeah.net/\uff09\u4e3b\u8981\u4ee5 VB \u548c Delph\uff1b\u6559\u5b66\u548c\u4ea4\u6d41\u4e3a\u4e3b\uff0c\u63d0\u4f9b\u5927\u91cf\u5b9e\u7528\u6280\u5de7\uff1b\u7f51\u7ad9\u201c\u73b0\u5728\u65f6\u7f16\u7a0b\u5b66\u56ed\u201d\uff08http://pshool.yeah.net/\uff09\u662f\u4e13\u95e8\u4ecb\u7ecdC\u3001VC\u3001VB\u3001Delphi \u7b49\u7684\u7efc\u5408\u7f16\u7a0b\u7f51\u7ad9\uff1b\u7f51\u7ad9\u201c VB \u7f16\u7a0b\u4e50\u56ed \u201d\uff08http://www.vbeden.com/\uff09\u63d0\u4f9b\u5185\u5bb9\u4e30\u5bcc\u800c\u4e14\u5b9e\u7528\u7684\u7f16\u7a0b\u6280\u672f\u6587\u7ae0\u3001\u7cbe\u9009\u63a7\u4ef6\u3001\u6e90\u4ee3\u7801\u4e0b\u8f7d\u3001\u8ba1\u7b97\u673a\u8003\u8bd5\u3001\u76f8\u5173\u8f6f\u4ef6\u4ee5\u53ca\u7f16\u7a0b\u4e66\u7c4d\u63a8\u8350\u7b49\u7b49\u3002

8.\u52a0\u5f3a\u8ba1\u7b97\u673a\u7406\u8bba\u77e5\u8bc6\u7684\u518d\u5b66\u4e60

\u5b66\u7f16\u7a0b\u662f\u7b26\u5408\u201c\u7406\u8bba\u2192\u5b9e\u8df5\u2192\u518d\u7406\u8bba\u2192\u518d\u5b9e\u8df5\u201d\u7684\u4e00\u4e2a\u8ba4\u8bc6\u8fc7\u7a0b\u3002\u4e00\u5f00\u59cb\u8981\u5177\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7406\u8bba\u57fa\u7840\u77e5\u8bc6\uff0c\u5305\u62ec\u7f16\u7a0b\u6240\u9700\u7684\u6570\u5b66\u57fa\u7840\u77e5\u8bc6\uff0c\u5177\u5907\u4e86\u5165\u95e8\u7684\u6761\u4ef6\uff0c\u5c31\u53ef\u4ee5\u5f00\u59cb\u7f16\u7a0b\u7684\u5b9e\u8df5\uff0c\u4ece\u5b9e\u8df5\u4e2d\u53ef\u4ee5\u53d1\u73b0\u95ee\u9898\u9700\u8981\u52a0\u5f3a\u8ba1\u7b97\u673a\u7406\u8bba\u77e5\u8bc6\u7684\u518d\u5b66\u4e60\u3002\u7a0b\u5e8f\u4eba\u4eba\u7686\u53ef\u7f16\uff0c\u4f46\u5f53\u4f60\u53d1\u73b0\u7f16\u5230\u4e00\u5b9a\u7a0b\u5ea6\u5f88\u96be\u518d\u63d0\u9ad8\u7684\u65f6\u5019\uff0c\u5c31\u8981\u56de\u5934\u6765\u5b66\u4e60\u4e00\u4e9b\u8ba1\u7b97\u673a\u79d1\u5b66\u548c\u6570\u5b66\u57fa\u7840\u7406\u8bba\u3002\u5b66\u8fc7\u4e4b\u540e\uff0c\u5f88\u591a\u4ee5\u524d\u9047\u5230\u7684\u95ee\u9898\u90fd\u4f1a\u8fce\u5203\u800c\u89e3\uff0c\u4f7f\u4eba\u6709\u8c41\u7136\u5f00\u6717\u4e4b\u611f\u3002\u56e0\u6b64\u5728\u5b66\u4e60\u7f16\u7a0b\u7684\u8fc7\u7a0b\u4e2d\u8981\u4e0d\u65ad\u5730\u9488\u5bf9\u5e94\u7528\u4e2d\u7684\u56f0\u60d1\u548c\u95ee\u9898\u6df1\u5165\u5b66\u4e60\u6570\u636e\u7ed3\u6784\u3001\u7b97\u6cd5\u3001\u8ba1\u7b97\u673a\u539f\u7406\u3001\u7f16\u8bd1\u539f\u7406\u3001\u64cd\u4f5c\u7cfb\u7edf\u539f\u7406\u3001\u8f6f\u4ef6\u5de5\u7a0b\u7b49\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u7406\u8bba\u57fa\u7840\u548c\u6570\u7406\u903b\u8f91\u3001\u4ee3\u6570\u7cfb\u7edf\u3001\u56fe\u8bba\u3001\u79bb\u6563\u6570\u5b66\u7b49\u6570\u5b66\u7406\u8bba\u57fa\u7840\u77e5\u8bc6\u3002\u8fd9\u6837\u7ecf\u8fc7\u4e0d\u65ad\u7684\u5b66\u4e60\uff0c\u518d\u52aa\u529b\u5730\u5b9e\u8df5\uff0c\u7f16\u7a0b\u6c34\u5e73\u4e00\u5b9a\u4f1a\u4e0d\u65ad\u63d0\u9ad8\u5230\u4e00\u4e2a\u65b0\u9ad8\u5ea6\u3002

看这一句:
fwrite(&arr,sizeof(int),1,fp);
sizeof(int)表示你写入的一块的大小,你用的是一个int大小。
1表示你要写入的块的数目。

显然在你机器上一个int是4个字节,而arr的类型是char *,一个char是1个字节,所以你写入4个字节大小的数据时就会写入四个字符。
如果你要写入全部字符,改成
fwrite(&arr,sizeof(char),10,fp);

fwrite(&arr,sizeof(int),1,fp);
第二个参数sizeof(int)为4, 也就是说只能写入四个字节,
这里应该改成数组的大小
fwrite(arr,strlen(arr),1,fp);

arr作为参数是一个指针, 不用再加取地址符&
这样就可以了.

其实你写入的是二进制, 因为你写如的都是ascii码, 都占用一个字符, 所以看起来和文本数据一样, 如果你输入一个汉字就看出来了

fwrite(&arr,sizeof(int),1,fp);
应该改成:
fwrite(&arr,strlen(arr),1,fp);
而且还需要在头文件中加入
#include "string.h"就可以了

楼上的很对!

  • C璇█缂栫▼杈句汉璇疯繘
    绛旓細1琛ㄧず浣犺鍐欏叆鐨勫潡鐨勬暟鐩傛樉鐒跺湪浣犳満鍣ㄤ笂涓涓猧nt鏄4涓瓧鑺傦紝鑰宎rr鐨勭被鍨嬫槸char *锛屼竴涓猚har鏄1涓瓧鑺傦紝鎵浠ヤ綘鍐欏叆4涓瓧鑺傚ぇ灏忕殑鏁版嵁鏃跺氨浼氬啓鍏ュ洓涓瓧绗︺傚鏋滀綘瑕佸啓鍏ュ叏閮ㄥ瓧绗︼紝鏀规垚 fwrite(&arr,sizeof(char),10,fp);
  • 璇C璇█缂栫▼杈句汉甯繖缂栧啓涓娈电▼搴
    绛旓細l.current=(Employee*)malloc(sizeof(Employee));printf("璇疯緭鍏ヨ亴宸ュ鍚嶏細");scanf("%s",l.current->name);printf("璇疯緭鍏ヨ亴宸ュ彿锛");scanf("%d",&l.current->id );printf("璇疯緭鍏ヨ亴宸ラ儴闂細");scanf("%s",l.current->department);printf("璇疯緭鍏ヨ亴宸ヨ亴浣嶏細");scanf("%s",l.current->...
  • 姹傚姪C璇█杈句汉:缂栫▼杈撳嚭100鍒200闂磋兘琚7鏁撮櫎鐨勬暣鏁,瑕佹眰姣忚杈撳嚭5涓暟...
    绛旓細鍏堜粠100寮濮嬪1瀵绘眰绗竴涓7鏁撮櫎鐨勬暟锛岀劧鍚庝粠杩欎釜鏁板紑濮嬪7閫愪竴杈撳嚭锛岀洿鍒板ぇ浜200鍋滄銆傚彟鐢ㄤ竴鍙橀噺浠0寮濮嬫瘡杈撳嚭涓涓暟澧1锛岃兘琚5鏁存椂澧炲姞杈撳嚭涓涓洖杞﹀氨鑳芥弧瓒抽鐩姹傘備唬鐮佸涓嬶細include "stdio.h"int main(int argc,char *argv[]){int i,t;for(i=100;i%7;i++);//浠100寮濮嬪1绌蜂妇...
  • 姹傚姪C璇█杈句汉:缂栫▼杈撳嚭100鍒200闂磋兘琚7鏁撮櫎鐨勬暣鏁,瑕佹眰姣忚杈撳嚭5涓暟...
    绛旓細include <stdio.h>int main(void){ int i,n=1; for(i=100;i<=200;i++) if(!(i%7)) printf(n++%5?"%5d":"%5d\n",i); printf("\n"); return 0;}
  • 璺眰C璇█缂栫▼杈句汉瑙e喅鏂囦欢鍔犲瘑瑙e瘑闂
    绛旓細绋嬪簭寰堢畝鍗,寤鸿浣犺嚜宸卞疄鐜颁竴閬,鏃犻潪鏄袱鍧.涓鏄晫闈㈠疄鐜,鍏跺疄灏辨槸鎶婂嚑涓潯浠跺垎鏀鍙ユ斁鍦ㄤ竴涓ぇ寰幆涓屽凡.浜屾槸鍔犲瘑绠楁硶,棰樼洰涓彁绀虹殑宸茬粡寰堟竻妤氫簡,鍞竴瑕佹敞鎰忕殑鏄"49632873"杩欎覆鏁板瓧,浣犲彲浠ュ厛鑾峰彇瀹冪殑闀垮害len,鍔犲瘑鏃,鐢(i+1)%len鏉ュ彇杩欎覆鏁板瓧鐨勪笅鏍囧嵆鍙 ...
  • 姹C璇█缂栫▼:杈撳嚭1-100涔嬮棿鎵鏈夌殑鍚堟暟
    绛旓細include<stdio.h> void main(){ int num,i;for(num=2;num<100;num++){ for(i=2;i<num;i++)//娉ㄦ剰鏄痠<num,涓嶅寘鎷湰韬玭um { if(num%i==0){ printf("%d\n",num);break;//鍙婊¤冻涓涓潯浠跺氨break } } } } 绋嬪簭宸查氳繃缂栬瘧娴嬭瘯銆傚洖绛斿畬姣曪紝濡傛灉瑙夊緱鍥炵瓟寰楀ソ锛岃閲囩撼涓烘渶浣崇瓟妗堛
  • 璇峰ぇ瀹跺府鎴戝仛涓涓嬭繖閬C璇█缂栫▼鐨勯!
    绛旓細璇峰ぇ瀹跺府鎴戝仛涓涓嬭繖閬C璇█缂栫▼鐨勯! 瀛︾敓鎴愮哗绠$悊绯荤粺瀛︾敓淇℃伅鍖呮嫭瀛﹀彿銆佸鍚嶃3闂ㄨ冭瘯鎴愮哗銆傝瘯璁捐涓瀛︾敓鎴愮哗绠$悊绯荤粺,浣夸箣鑳芥彁渚涗互涓嬪姛鑳:1銆佸鐢熸垚缁╁綍鍏ュ姛鑳2銆佺粺璁:1)杈撳叆瀛︾敓鐨勫鍙风粺璁¤鐢熺殑鎬诲垎鍙婂钩鍧囧垎;2)... 瀛︾敓鎴愮哗绠$悊绯荤粺瀛︾敓淇℃伅鍖呮嫭瀛﹀彿銆佸鍚嶃3闂ㄨ冭瘯鎴愮哗銆傝瘯璁捐涓瀛︾敓鎴愮哗绠$悊绯荤粺,浣夸箣鑳...
  • 鐢C璇█缂栫▼:缂栧啓绋嬪簭,瑕佹眰鍦ㄦ棤搴忔暟缁勪腑鏌ユ壘缁欏畾鍊奸娆″嚭鐜扮殑浣嶇疆...
    绛旓細缂栧啓绋嬪簭,瑕佹眰鍦ㄦ棤搴忔暟缁勪腑鏌ユ壘缁欏畾鍊奸娆″嚭鐜扮殑浣嶇疆銆備緥濡,鏁扮粍涓:a[10]=10 1 20 39 9 4 12 43 33 4,瑕佹煡鎵剧殑鏁:4,杈撳嚭:鍏朵綅缃:5,鑻ュ湪鏁扮粍涓病鎵惧埌璇ユ暟,鍒欒緭鍑:4鍦ㄨ鏁扮粍涓笉瀛樺湪銆俵kyku2009 | 娴忚988 娆 |涓炬姤 鎴戞湁鏇村ソ鐨勭瓟妗堟帹鑽愪簬2017-12-16 18:08:28 鏈浣崇瓟妗 int find(int *a,int...
  • 鍏充簬瀛︿範鐢佃剳C++C璇█!
    绛旓細瀛︿範缂栫▼閫氬父闇瑕佷竴浜涘ソ鐨勫涔犺祫鏂,鍖呮嫭绾歌川鐨勪功绫,瑙嗛鏁欑▼,璇句欢,椤圭洰缁冧範,浠g爜銆傞浂鍩虹鍏ラ棬鐨勪功绫嶆帹鑽愩婃槑瑙C璇█銆嬨併奀 Primer Plus銆,杩樻湁涓鏈潪甯哥壒鍒殑姹囩紪鍜孋璇█姝e悜閫嗗悜缁撳悎鐨勪功缂栫▼杈句汉鍐呴儴鏁欐潗銆婃眹缂栥丆璇█鍩虹鏁欑▼銆嬩篃闈炲父涓嶉敊,璁茶В姹囩紪鍜孋璇█鐨勬湰璐ㄩ潪甯搁忓交,闈炲父缁嗚嚧銆傝棰戣祫鏂欎篃鏄壒鍒浜,鍚勭瑙嗛...
  • c璇█缂栫▼闂:瀵10涓暣褰㈡暟鎺掑垪骞剁粺璁″叾涓礌鏁扮殑涓暟(瑕佹眰10涓暣鏁颁粠...
    绛旓細void main(void){ int a[10],i,j,k,temp,m,n=0;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){ for(j=0;j<9-i;j++)//j++ if(a[j]>a[j+1]){ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } printf("the ...
  • 扩展阅读:少儿编程网站入口 ... 《请进来》课件 ... 少儿编程十大品牌 ... cnc加工中心代码大全 ... javascript免费网站 ... 免费ug编程自学网站 ... 编程猫少儿编程可靠吗 ... c++入门程序代码 ... 免费的少儿编程自学网站 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网