C语言链表实现歌手评分系统语言链表实现歌手评分系统
本文实例为大家分享了C语言链表实现歌手评分系统的具体代码,供大家参考,具体内容如下
此程序可以添加文件操作用于保存歌手得分等信息,此程序实现了链表的增删查和链表冒泡排序交换节点功能
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//创建结构体及其成员
typedef struct Node
{
int num;//编号
char name[20];//姓名
float grade[10];//评委评分
float sum;//总分
float ave;//平均分
struct Node *next;//指针域
}S;//结构体定义为S
//各函数定义
void menu(); //菜单函数
S *create();//创建链表函数
void print(S *);//输出链表函数
void insert(S *);//插入节点函数
void del(S *);//删除节点函数
void search(S *);//查找节点函数
void sort(S *);//节点排序函数
void cal(S *);//计算选手数据函数
//主函数
int main()
{
S *head;
int n,a=1;//n用来控制选择操作类型,a控制循环,以-1终止
while(a>0)
{
menu();//显示菜单
printf("you want to do:");
scanf("%d",&n);//选择操作
switch(n)//各操作数字对应菜单数字,通过n确定操作类型
{
case 1://创建
head=create();
print(head);
break;
case 2://计算
cal(head);
print(head);
break;
case 3://插入
insert(head);
print(head);
break;
case 4://删除
del(head);
print(head);
break;
case 5://查找
search(head);
break;
case 6://排序
sort(head);
print(head);
break;
case 7://保存
save(head);
break;
case 8:
read();//读取
print(head);
break;
default:
a=-1;//跳出循环条件
break;
}
}
return 0;
}
评论0