源代码:
//
//
// Created by 陈振 on 16/9/1.
// Copyright 2016年 zhen7216. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//定义球员结构体
struct Player {
char name[50];
char role[20];
int height;
int weight;
int number;
int wage;
int score;
struct Player *next;
};
typedef struct Player player;
void creat_list(player*, player*, player*);
void print_list(player*);
void password();
void main_menu();
void clea();
void choosemenu(player*, player*, player*, int);
void add (player*);
void query_menu ();
void come_query (player*);
void search_name (player*);
void search_height(player*);
void search_weight (player*);
void search_wage (player*);
void search_score (player*);
void search_number (player*);
void analysis_menu();
void come_analysis (player*);
void come_ave (player*);
void print_height (player*);
void ave_menu();
void print_weight (player*);
void print_wage (player*);
void print_score (player*);
void more_menu();
void came_more (player*);
void more_wage (player*);
void more_score (player*);
void more_height (player*);
void sort_menu ();
void came_sort (player*);
void sort_score(player*);
void sort_height(player*);
void sort_wage(player*);
int main()
{
int iChoice;
player *head;
player *q;
player *p;
head = (player *)malloc(sizeof(player));
if (NULL == head) {
printf("申请失败\n");
exit(0);
}
q = NULL;
p = NULL;
head->next = NULL;
password();
main_menu();
while (scanf("%d",&iChoice) != EOF) {
choosemenu(head,p,q,iChoice);
main_menu();
}
free(head);
return 0;
}
//输入密码操作
void password() {
int iPass;
int iCount = 3;
printf(" -------------------------------\n");
printf("*** --|NBA湖人队球员管理系统登陆界面|-- ***\n");
printf("| ------------------------------- |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("*---- 登陆 ---*\n");
printf("*---- 注册 ---*\n");
printf("*---- 请输入管理员密码 ---*\n");
printf("| ------------------ |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("+------------------------------------------------+\n");
scanf("%d", &iPass);
while (iPass!=12345)
{
iCount--;
if (iCount == 0)
exit(0);
clea();
printf("密码错误,您还有%d机会\n",iCount);
printf("请输入管理员密码:");
scanf("%d", &iPass);
}
clea();
printf("您已成功登陆\n");
return;
}
//主菜单
void main_menu() {
fflush(stdin);
//clea();
printf(" -------------------------------\n");
printf("*** --| NBA湖人队球员管理系统界面 |-- ***\n");
printf(" -------------------------------\n");
printf("*** 1.输入所有球员信息 ***\n");
printf("*** 2.补录球员信息 ***\n");
printf("*** 3.输出球员所有信息 ***\n");
printf("*** 4.查询子系统 ***\n");
printf("*** 5.统计汇总子系统 ***\n");
printf("*** 6.排序子系统 ***\n");
printf("**************************************************\n");
printf("*** 0.退出 ***\n");
printf("**************************************************\n");
printf("请输入(0-6):");
return;
}
//进入主菜单选项
void choosemenu(player *head, player *p, player *q, int iChoice) {
fflush(stdin);
switch(iChoice)
{
case 1:
creat_list(head, p, q);
break;
case 2:
add(head);
break;
case 3:
clea();
print_list(head);
break;
case 4:
clea();
query_menu();
come_query(head);
break;
case 5:
analysis_menu();
come_analysis (head);
break;
case 6:
sort_menu ();
came_sort (head);
break;
case 0:
printf("湖人最强. \n");
exit(0);
}
}
//清屏函数
void clea() {
system("cls");
return;
}
//创建链表
void creat_list(player *head, player *p, player *q) {
char name [100];
q = head;
fflush(stdin);
printf(