📄 1.c
字号:
# include<stdio.h>
# include<string.h>
# include<conio.h>
# include<stdlib.h>
# define N 3
# define M 100
int n,m;
void stat();
void enter();
void save(int n);
void order(int f);
void calctensp();
void stat_vote(int n);
void save_sir();
void order_by_sir();
void print_sir();
void save_footballsir();
void check();
void printf_onevote(int j);
void printf_back();
void menu();
int load();
void menu()
{
int n,w;
do
{
puts("\t\t******************MENU********************\n\n");
puts("\t\t\t\t 1.statistic");
puts("\t\t\t\t 2.chek_sir");
puts("\t\t\t\t 3.exit");
puts("\n\n\t\t***************************************\n");
printf("Choice your number(1-3):[]\b\b");
scanf("%d",&n);
if (n<1||n>3)
{
w=1;
getchar();
}
else
w=0;
}
while(w==1);
switch(n)
{case 1:stat();break;
case 2:check();break;
case 3:exit(0);
}
}
int main()
{menu();
}
struct footballsir
{
char num;
int score;
}sir[N];
struct vote
{
char num[3];
}vot[M];
void stat()
{
enter();
calctensp();
}
void enter()
{int i,n;
printf("How many voter(1-%d)?:",M);
scanf("%d",&n);
printf("\n Enter data now:\n\n");
for(i=0;i<n;i++)
{printf("\nInput %dth voter record.\n",i+1);
scanf("%c%c%c",&vot[i].num[0],&vot[i].num[1],&vot[i].num[2]);
if((vot[i].num[0]==vot[i].num[1])||(vot[i].num[1]==vot[i].num[2])||(vot[i].num[0]==vot[i].num[2]))
{printf("该票无效!\n");
i-=1;}
getchar();
}
save(n);
calctensp();
}
void save(int n)
{
FILE *fp;
int i;
if((fp=fopen("vote.txt","w"))==NULL)
{printf("\nCannot open file\n");
}
for(i=0;i<n;i++)
if(fwrite(&vot[i],sizeof(struct vote),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void order(int f)
{
int i;
for(i=f;i<n-1;i++)
vot[i]=vot[i+1];
}
void calctensp()
{
stat_vote(n);
order_by_sir();
print_sir();
}
void stat_vote(int n)
{int i,j;
for(i=0;i<=n;i++)
{for(j=0;j<3;j++)
if(vot[i].num[0]==sir[j].num)
sir[j].score+=5;
if(vot[i].num[1]==sir[j].num)
sir[j].score+=3;
if(vot[i].num[2]==sir[j].num)
sir[j].score+=2;
}
save_sir();
}
void save_sir()
{
FILE *fp;
int i;
if((fp=fopen("sir.txt","w"))==NULL)
{printf("\nCannot open file\n");
}
for(i=0;i<3;i++)
if(fwrite(&sir[i],sizeof(struct footballsir),1,fp)!=1)
printf("\nfile write error\n");
fclose(fp);
}
void order_by_sir()
{
int i,j,k;
struct footballsir s ;
for(i=0;i<2;i++)
{ k=i;
for(j=i+1;j<3;j++)
if(sir[j].score>sir[k].score) k=j;
if(k!=i)
{s=sir[i];
sir[i]=sir[k];
sir[k]=s;}
}
save_sir();
}
void print_sir()
{
if(sir[0].score==sir[1].score)
{printf("\n该轮投票无效!请重新投\n");enter();}
else
{
printf("\n祝贺%c成为足球先生:\n",&sir[0].num);
printf("num, score\n");
printf("%c,%-10d\n",sir[0].num,sir[0].score);
save_footballsir();
}
}
void save_footballsir()
{FILE*fp1;
if((fp1=fopen("footballsir.txt","w"))==NULL)
{printf("\nCannot open file\n");}
fprintf(fp1,"&c &d",sir[0].num,sir[0].score);
fclose(fp1);
}
void check()
{int j,w1;
w1=load();
for(j=0;j<w1;j++)
{if(j%10==0)
{printf("\nPass any key to countiune...");
getchar(); //原为getch()
printf("\n\n");
}
printf_onevote(j);
}
getchar();
}
void printf_onevote(int j)
{int i;
printf("\nThe %dth vote is:\n",j+1);
for(i=0;i<3;i++)
printf("%c",vot[j].num[i]);
}
void printf_back()
{int w;
printf("\n\n\tSuccessful.^_^\n\n");
printf("What do you want to do?\n\n\t1).Exit\t2).Back: []\n\n");
scanf("%d",&w);
if(w==1)exit(0);
else
menu();
}
int load()
{
FILE *fp;
int i;
if((fp=fopen("vote.txt","rb"))==NULL)
{
printf("\nCannot open the file\n");
return(0);
}
for(i=0;!feof(fp);i++)
fread(&vot[i],sizeof(struct vote),1,fp);
fclose(fp);
return(i-1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -