h"
ncompare()
{
char s[100];
char key[100]="haha";
while(1)
{
printf("请è¾å
¥å¯ç è¿è¡éªè¯:");
there: scanf("%s",s);
if(strcmp(s,key)==0)
{
printf("å¯ç éªè¯æ£ç¡®ï¼è¿å
¥çé¢ç³»ç»........\n");
break;
}
else
{
printf("å¯ç é误ï¼è¯·éæ°è¾å
¥:");
goto there;
}
}
}
//èå
menu_list()
{
int c;
printf(" *******************主èå**********************\n");
printf(" 1 è¿å
¥çé¢\n");
printf(" 2 å½å
¥æ°çè¯é¢\n");
printf(" 3 å é¤è®°å½è¯é¢\n");
printf(" 4 æå
¥è¯é¢å°æå®ä½ç½®\n");
printf(" 5 ä¿åè¯é¢å°ææ¬\n");
printf(" 6 å¤æè¯é¢ï¼æ¥çæ绩\n");
printf(" 7 è¾åºä¾é¢ä»¥åçæ¡\n");
printf(" 8 è½½å
¥è¯é¢åº\n");
printf(" 9 éåºçé¢ç³»ç»\n");
printf(" ***********************************************\n");
printf(" 请éæ©ä½ æ³è¦çæä½(1-9):");
scanf("%d",&c);
if(c<1||c>9)
{
printf("æä½æ°æ®é误!请éæ°è¾å
¥é项:\n");
return 0;
}
else
return c;
}
//çé¢ç³»ç»
test_test(struct test *p,int n)
{
int j;
int num;
int i;
int th=0;
int tem[100];
if(n==0)
printf("ç®åé¢åºä¸è¿æ²¡æé¢ç®ï¼è¯·è½½å
¥é¢åºåå¨è¿è¡æä½\n");
else
{
printf("é¦å
请è¾å
¥ä½ å¸ææµè¯çé¢ç®ä¸ªæ°,ç³»ç»ä¼éæºåé
ä½ è¾å
¥ä¸ªæ°çé¢ç®(ç®åæ»é¢ç®ä¸ªæ°ä¸º%d)\n请è¾å
¥è¦æµè¯çé¢ç®ä¸ªæ°:",n);
scanf("%d",&num);
for(i=0;i<num;i++)
{
here: th=rand()%n;
tem[i]=th;
for(j=0;j<i;j++)
if(tem[j]==tem[i])
{
goto here;
}
printf(" =============================================\n");
printf(" é¢ç®:%s\n",p[th].tm);
for(j=0;j<4;j++)
{
printf(" é项:%s\n",p[th].xx[j]);
}
printf(" 请è¾å
¥ä½ ççæ¡(注ææ¯å¤§å°å,大å°åé误记é¶å):");
scanf("%s",p[th].as);
printf(" =============================================\n");
}
}
}
//è¯é¢å½å
¥
test_in(struct test *p,int n)
{
int i,j=0;
char sign='y';
while(sign=='Y'||sign=='y')
{
printf("===========请ææ示è¾å
¥æ°æ®===========\n");
printf("请è¾å
¥é¢ç®:");
getchar();
aa: gets(p[n+j].tm);
for(i=0;i<n+j;i++)
if(p[n+j].tm[0]==p[i].tm[0])
{
printf("å·²æé¢å·ï¼è¯·éæ°è¾å
¥!\né¢å·:");
goto aa;
}
for(i=1;i<=4;i++)
{
printf("请è¾å
¥ç¬¬%d个é项:",i);
gets(p[n+j].xx[i-1]);
}
printf("请è¾å
¥æ£ç¡®çæ¡:");
scanf("%s",p[n+j].da);
printf("====>æ示æ¯å¦ç»§ç»å½å
¥è¯é¢(Y or y继ç»,ä»»æé®éåº):\n");
getchar();
scanf("%c",&sign);
j++;
}
printf(" ===============转å°ä¸»èå==================\n");
return n+j;
}
//æ件ä¿å
void save(struct test *ts,int n)
{
FILE *fp;
int i=0;
char filename[50];
printf("请è¾å
¥å¯¼åºæ件夹ï¼åå¦:G:\\f1\\score.txt\n");
scanf("%s",filename);
if((fp=fopen(filename,"w+"))==NULL)
{
printf("æ件ä¿å失败!");
exit(1);
}
while(i<n)
{
fwrite(&ts[i],sizeof(struct test),1,fp);
i++;
}
fclose(fp);
printf("------è®°å½å·²ä¿åå°æ件ä¸-------\n");
}
//è¯åç³»ç»
test_compare(struct test *p,int n)
{
int i;
int temp=0;
int count=0;
if(n==0)
{
printf("ç®åé¢åºä¸è¿æ²¡æé¢ç®ï¼è¯·è½½å
¥é¢åºåå¨è¿è¡æä½\n");
return 0;
}
else
{
for(i=0;i<n;i++)
{
if(!strcmp(p[i].da,p[i].as))
{
count++;
}
}
printf("ä½ ç对çæ»é¢æ°æ¯%d\n",count);
return n;
}
}
//ä¾é¢ä»¥åçæ¡
test_out(struct test *p,int n)
{
int i=0,j=0;
if(n==0)
{
printf("å¾æ±æï¼è¯é¢åºä¸ææ¶æ²¡æä»»ä½è¯é¢!\n");
printf(" ===============转å°ä¸»èå==================\n");
}
else
while(i<n)
{
printf(" =============================================\n");
printf(" é¢ç®:%s\n",p[i].tm);
for(j=0;j<4;j++)
{
printf(" é项:%s\n",p[i].xx[j]);
}
printf(" æ£ç¡®çæ¡:%s\n",p[i].da);
printf(" =============================================\n");
i++;
}
}
//è¯é¢åºè½½å
¥
test_under(struct test *p)
{
int i;
FILE *fp;
char filename[20];
printf("请è¾å
¥ä½ è¦å¯¼å
¥çæ件ååè·¯å¾:");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("æ件æå¼å¤±è´¥!\n");
return 0;
}
i=0;
while(!feof(fp))
{
if(1!=fread(&p[i],sizeof(struct test),1,fp))
break;
i++;
}
fclose(fp);
printf("å·²ç»æåä»æ件%s导å
¥æ°æ®!\n",filename);
return i;
}
//主å½æ°
main()
{
int n=0;
struct test ts[100];
system("color 1f");
ncompare();
while(1)
{
switch(menu_list())
{
case 1: test_test(ts,n);break;
case 2: n=test_in(ts,n);break;
case 3: n=delete1(ts,n);break;
case 4: n=insert(ts,n);break;
case 5: save(ts,n);break;
case 6: test_compare(ts,n);break;
case 7: test_out(ts,n);break;
case 8: n=test_under(ts);break;
case 9: exit(0);
}
}
}
温馨提示:答案为网友推荐,仅供参考