(计算机学院)

高级语言课程设计报告

题 目:NBA球星管理系统

专业名称:电子信息科学与技术

设计起止时间:2020年2月27日——2020年3月6日一. 设计目的

c对语言的一个综合使用,对数据库统计信息的初步认识

二. 设计内容

NBA球星管理系统是对里面球员的一些基本信息的统计及了解

三.概要设计

利用c语言的结构体为中心,先构造一个主菜单并分几个模块,构建他们的函数

在对各个模块进行信息的填充,以此完成整个系统。

1.功能模块图

a.注册新球员,b.显示球员信息,

c.查询球员信息,d..修改球员信息,

e.删除球员,f.借入借出球员。

2.各个模块详细的功能描述四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图3.重点设计及编码

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<conio.h>

//定义结构体

struct play

{

int id;

char name[31];

char dengji[27];

char qiudui[31];

int store;

int total;

int user[10];

int days[10];

}plays[100];

//显示整体标题标题函数

void page_title(char *menu_item)

{

printf("\t\t********NBA球星管理管理系统********\n\n-%s-\n\n",menu_item);

}

//等待返回函数

void return_confirm()

{

printf("\n请按任意键返回……\n");

getch();

}

play_add()

{

int i;

system("cls");

page_title("注册新球员");

for(i=0;i<2;i )

{

printf("序号:");

scanf("%d",&plays[i].id);

printf("分类(明星球员,普通球员):");

scanf("%s",&plays[i].name);

printf("等级:");

scanf("%s",&plays[i].dengji);

printf("球队:");

scanf("%s",&plays[i].qiudui);

printf("数量:");

scanf("%d",&plays[i].total);

plays[i].store=plays[i].total;

printf("\n");

}

}

play_show()

{

int i,flag=0;

system("cls");

for(i=0;i<100;i )

{

if(strlen(plays[i].qiudui)!=0)

{

printf("序号:%d\t ",plays[i].id);

printf("分类:%s\t ",plays[i].name);

printf("等级:%s\t ",plays[i].dengji);

printf("球队:%s\t ",plays[i].qiudui);

printf("在役:%d\t",plays[i].store);

printf("退役:%d\n\n",plays[i].total);

flag=1;

}

}

if(flag==0)

{

printf("没有找到相关球员\n");

}

getch();

return i;

}

int play_search()

{

int n,i,flag=0;

char nam[30];

system("cls");

printf("请输入分类:");

scanf("%s",&nam);

for(i=0;i<100;i )

{

if(strcmp(plays[i].name,nam)==0)

{

printf("序号:%d\t ",plays[i].id);

printf("分类:%s\t ",plays[i].name);

printf("等级:%s\t ",plays[i].dengji);

printf("球队:%s\t ",plays[i].qiudui);

printf("在役:%d\t",plays[i].store);

printf("退役:%d\n",plays[i].total);

n=i;

flag=1;

getch();

break;

}

}

if(flag==0)

{

printf("\n没有找到相关球员\n");

getch();

return -1;

}

return n;

}

play_edit()

{

int i,id_change;

system("cls");

page_title("修改球员信息:");

printf("输入要修改的球员id:");

scanf("%d",&id_change);

for(i=0;i<100;i )

{

if(plays[i].id==id_change)

{

printf("修改分类:");

scanf("%s",&plays[i].name);

printf("修改等级:");

scanf("%s",&plays[i].dengji);

printf("修改球队:");

scanf("%s",&plays[i].qiudui);

printf("修改数量:");

scanf("%d",&plays[i].total);

printf("修改球员信息成功\n");

plays[i].store=plays[i].total;

return i;

}

}

printf("\n没有找到相关信息\n");

getch();

return -1;

}

int play_del()

{

int i,num,j;

system("cls");

page_title("删除球员");

printf("输入所要删除的球员的id:");

scanf("%d",&num);

for(i=0;i<100;i )

{

if(plays[i].id==num)

{

for(j=i;j<100;j )

{

plays[j].id=plays[j 1].id;

strcpy(plays[j].name,plays[j 1].name);

strcpy(plays[j].qiudui,plays[j 1].qiudui);

printf("该球员已经删除了!!!\n");

getch();

return i;

}

}

}

printf("未找到相关记录\n");

getch();

return -1;

}

play_out()

{

int n,s,i,d;

system("cls");

page_title("借出球员");

n=play_search();

if(n!=-1&&plays[n].store>0)

{

for(i=0;i<10;i )

{

plays[n].user[i]=0;

plays[n].days[i]=0;

}

printf("借球员序号:");

scanf("%d",&s);

printf("输入可借天数:");

scanf("%d",&d);

plays[n].user[0]=s;

plays[n].days[0]=d;

plays[n].store--;

}

else if(n!=-1&&plays[n].store==0)

{

printf("此类球员已经借出\n\n");

getch();

}

else

;

return_confirm();

}

main()

{

system("color 3f");

char user[10] = "admin\0";

char key[10] = "123\0";

char user2[100], key2[100];

printf("请输入用户名:\n");

scanf("%s", &user2);

printf("请输入密码:\n");

scanf("%s", &key2);

if (strcmp(user, user2) != 0 || strcmp(key, key2) != 0)

{

//非法输入!

printf("非法输入!用户名或密码错误!\n");

return 0;

system("pause");

}

else

{

do{

system("cls");

printf("操作选单\n");

printf("用数字选择操作\n\n");

printf("\t\t1注册新球员\t\t2显示球员信息\n");

printf("\t\t3查询球员信息\t\t4修改球员信息\n");

printf("\t\t5删除球员\t\t6借出球员\n");

printf("\t\t0退出系统\n");

printf("请按数字键:\n");

switch(getchar())

{

case'1': play_add();break;

case'2': play_show();break;

case'3': play_search();break;

case'4': play_edit();break;

case'5': play_del();break;

case'6': play_out();break;

case'0': exit(0);

}

}while(1);

}

}

五.测试数据及运行结果1.正常测试数据和运行结果

提供重要功能对应的3组正常测试数据和运行结果

高级语言程序课程的发展历程(高级语言课程设计报告)(1)

高级语言程序课程的发展历程(高级语言课程设计报告)(2)

高级语言程序课程的发展历程(高级语言课程设计报告)(3)

高级语言程序课程的发展历程(高级语言课程设计报告)(4)

2.异常测试数据及运行结果

提供重要功能对应的2组异常测试数据和运行结果

高级语言程序课程的发展历程(高级语言课程设计报告)(5)

高级语言程序课程的发展历程(高级语言课程设计报告)(6)

六.调试情况,设计技巧及体会1.改进方案

缺少排序等方法,内容过于简单,没有对知识进行总的应用。

2.体会

对设计及调试过程的心得体会

简单的小系统的编写无法独立自主地完成,需要借助网络和他人的帮助,对知识掌握的不熟练,第一次编写这么长的代码,从开始都认为无法完成,不过在帮助下,还是尽最大努力完成了,尽管看起来只有一点点,内容简单,但能成功运行就是成功。

七.参考文献,