(計算機學院)
高級語言課程設計報告
題 目: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("tt********NBA球星管理管理系統********nn-%s-nn",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("序号:%dt ",plays[i].id);
printf("分類:%st ",plays[i].name);
printf("等級:%st ",plays[i].dengji);
printf("球隊:%st ",plays[i].qiudui);
printf("在役:%dt",plays[i].store);
printf("退役:%dnn",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("序号:%dt ",plays[i].id);
printf("分類:%st ",plays[i].name);
printf("等級:%st ",plays[i].dengji);
printf("球隊:%st ",plays[i].qiudui);
printf("在役:%dt",plays[i].store);
printf("退役:%dn",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("此類球員已經借出nn");
getch();
}
else
;
return_confirm();
}
main()
{
system("color 3f");
char user[10] = "admin ";
char key[10] = "123 ";
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("用數字選擇操作nn");
printf("tt1注冊新球員tt2顯示球員信息n");
printf("tt3查詢球員信息tt4修改球員信息n");
printf("tt5删除球員tt6借出球員n");
printf("tt0退出系統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組正常測試數據和運行結果
2.異常測試數據及運行結果
提供重要功能對應的2組異常測試數據和運行結果
六.調試情況,設計技巧及體會1.改進方案
缺少排序等方法,内容過于簡單,沒有對知識進行總的應用。
2.體會對設計及調試過程的心得體會
簡單的小系統的編寫無法獨立自主地完成,需要借助網絡和他人的幫助,對知識掌握的不熟練,第一次編寫這麼長的代碼,從開始都認為無法完成,不過在幫助下,還是盡最大努力完成了,盡管看起來隻有一點點,内容簡單,但能成功運行就是成功。
七.參考文獻,