⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.c

📁 三个候选人A、B、C
💻 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 + -