• 大小: 6KB
    文件类型: .cpp
    金币: 2
    下载: 1 次
    发布日期: 2021-07-25
  • 语言: C/C++
  • 标签: c++  小程序  

资源简介

大家可以看看源码,自己做参考,其中有可能写的比较乱,不过里面的一些技术都有所体现,源码可可以执行,歌手评分系统初步是基于c++的带链表和文件存储,大家可以试试看,很好用大家可以看看源码,自己做参考,其中有可能写的比较乱,不过里面的一些技术都有所体现,源码可可以执行,歌手评分系统初步是基于c++的带链表和文件存储,大家可以试试看,很好用

资源截图

代码片段和文件信息

#include
#include
#define len sizeof(geshou)

typedef struct booke
{
int xvhao;
char name[100];
int pingfen[9];
int paiming;
double  defen;
struct booke *next;
}geshou;
geshou *last=NULL;
geshou e[20];
geshou * newput(geshou *p)
{
geshou *h;
char namename[50]=“ “;
int i;

h=(geshou*)malloc((len));
h->xvhao=p->xvhao+1;

printf(“输入歌手信息\n“);
scanf(“%s“&namename);
p->next=h;
for(i=0;i<=50;i++)
h->name[i]=namename[i];
for(i=0;i<9;i++)
h->pingfen[i]=0;
h->defen=0;
h->paiming=0;

h->next=NULL;
return h;
}
geshou * shanchu(geshou *pgeshou *last)
{
int k;geshou *h*g*yu;
geshou *qw=last;
h=p;
printf(“输入删除歌手的编号:\n“);
scanf(“%d“&k);
while(2)
{
if(h->xvhao==k)
break;
g=h;
h=h->next;

}
if(h->xvhao==qw->xvhao)
qw=g;
g->next=h->next;

yu=g->next;


while(yu)
{
if(yu->next==NULL)
qw=yu;
yu->xvhao--;
yu=yu->next;
}
return qw;
}
void pingfen(geshou *p)
{
int t;geshou *h;
printf(“要给第几号歌手打分?“);
scanf(“%d“&t);

h=p;
while(2)
{
if(h->xvhao==t)
{
printf(“请输入九位评委打分:“);
scanf(“%d%d%d%d%d%d%d%d%d“&h->pingfen[0]&h->pingfen[1]&h->pingfen[2]&h->pingfen[3]&h->pingfen[4]&h->pingfen[5]&h->pingfen[6]&h->pingfen[7]&h->pingfen[8]);

break;
}
h=h->next;
}    

}
  void yuanshi(geshou *hgeshou *last)
 {
FILE *file=fopen(“singerOriginal.dat““wb“);
  geshou *p;int qqyy=last->xvhao;
  p=h->next;
  
fwrite(&last->xvhaosizeof(int)1file);
  while(p)
  {
  

   qq=fwrite(plen1file);
p=p->next;
  }
  if(qq==0)
  printf(“异常!存储失败\n“);
  else 
  printf(“歌手初始记录已经存储!\n“);
  fclose(file);
 }
 void defen(geshou *p)
 {
 int ijlinshi;
 geshou *h;
 h=p->next;
 while(h)
 {
for(i=8;i>1;i--)
{
 for(j=0;j<=i-1;j++)
 {
if((h->pingfen[j])>(h->pingfen[j+1]))
{
linshi=h->pingfen[j+1];h->pingfen[j+1]=h->pingfen[j];h->pingfen[j]=linshi;
}
 }
}
h->defen=(h->pingfen[1]+h->pingfen[2]+h->pingfen[3]+h->pingfen[4]+h->pingfen[5]+h->pingfen[6]+h->pingfen[7])/7.0;
h=h->next;
 }
 }
void paiming1(geshou *pgeshou *ii)
{
int b=1;
 geshou *h;
 geshou *qa;
 h=p->next;qa=p->next;
 while(b<=ii->xvhao)
 {
 while(h)
 {
 while(qa->paiming!=0||h->paiming!=0)
 {
if(h->paiming!=0&&qa->paiming!=0)
{h=h->next;qa=h;}
if(h->paiming!=0&&qa->paiming==0&&h->xvhao!=ii->xvhao)
h=h->next;
 if(h->paiming!=0&&h->xvhao==ii->xvhao)
break;}
if(h->paiming!=0&&h->xvhao==ii->xvhao)
break;

if((qa->defen)<=(h->defen))
qa=h; 

h=h->next;
 }
 qa->paiming=b;
qa=p->next;h=p->next;
b++;

}
 


 
}
void zuizhongpaiming(geshou *pgeshou *last)
{ FILE *file=fopen(“singerFianl.dat““wb“);
int yu=0i=1;
 geshou *h;
 h=p->next;
 fwrite(&last->xvhaosizeof(int)1file);
 for(y=1;yxvhao+1;y++)
 {
 while(h)
 {

if(h->paiming==i)
u=fwrite(hlen1file);


h=h->next;
 }
 h=p->next;
i++;
 }
 if(u==0)
 printf(“错误!最终排名存档失败

评论

共有 条评论