C语言课程设计学校运动会管理系统含调试图计算机演示教学Word文档格式.docx
《C语言课程设计学校运动会管理系统含调试图计算机演示教学Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学校运动会管理系统含调试图计算机演示教学Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
5结论与心得
由于对较为复杂的系统程序不能很灵活地开发,在整个过程中遇到了不少的困难;
但整个实践过程使我们在C编程方面有了更好的了解,同时在程序开发方面的能力得到了一定的提高,而且还增强了我们对于各种实践的兴趣。
整个实践过程让我们认识到:
勤奋与实践最能挺升自身的能力。
6参考文献
[1]谭浩强,《C程序设计(第四版)》,北京:
清华大学出版社,2010.6
7致谢
能够完成这次课程设计要感谢c语言课程的老师,他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。
这篇论文是在老师的精心指导和大力支持下才完成的。
最后还要感谢各位同学的帮助。
8附源代码
#include<
iostream>
fstream>
string>
usingnamespacestd;
voidfun1()
{
cout<
<
"
******************************"
endl;
******学校运动会管理系统******"
----数据录入请按:
1----"
----数据修改请按:
2----"
----数据删除请按:
3----"
----数据查询请按:
4----"
----数据显示请按:
5----"
----退出系统请按:
6----"
*******************************"
*****请输入一个数据,并按回车键!
*****"
}
classMatch
public:
Match*next;
//为创建链表做准备
intnumber;
//比赛项目编号
charcall[10];
//比赛项目名称
chartime[10];
//比赛时间
charplace[20];
//比赛地点
friendvoidinput1();
};
voidinput1()
ofstreamfout("
e:
\\比赛项目.dat"
ios:
:
app);
charch;
Matcha;
do{cout<
请分别输入比赛项目编号、名称、比赛时间、比赛地点."
cin>
>
a.number>
a.call>
a.place>
a.time;
a.next=NULL;
fout.write((char*)&
a,sizeof(Match));
是否继续输入,如果继续键入Y|y"
cin>
ch;
}
while(ch=='
y'
||ch=='
Y'
);
fout.close();
Match*head1;
voidcreat()
head1=NULL;
Match*p,*q=head1;
ifstreamfin("
in);
if(!
fin)
文件打开失败!
exit(0);
p=newMatch;
fin.read((char*)p,sizeof(Match));
while(!
fin.eof())
{
if(head1==NULL)head1=p;
elseq->
next=p;
q=p;
fin.close();
}intchange1()//对比赛项目相关信息修改
{cout<
您正在进行修改比赛项目有关事项操作!
creat();
Match*p1;
p1=head1;
请输入要修改比赛项目的编号:
intnumber1;
//要修改的比赛项目编号intsign=0;
//设置的标记变量cin>
number1;
while(p1!
=NULL)
{if(p1->
number==number1){sign=1;
break;
p1=p1->
next;
}
if(sign==0)cout<
没有找到要修改的记录!
else
请选择要修改比赛项目的那些信息"
------修改比赛项目的编号----1"
------修改比赛项目的名称----2"
------修改比赛时间----3"
------修改比赛地点----4"
请输入对应信息的编号"
inta;
intnu;
//新的整形数据charinfo[20];
//新的字符数组cin>
a;
switch(a){case1:
cout<
请输入新的比赛编号:
nu;
p1->
number=nu;
比赛项目编号修改成功!
case2:
请输入新的比赛项目名称:
info;
strcpy(p1->
call,info);
比赛项目名称修改成功!
break;
case3:
请输入新的比赛时间:
time,info);
比赛项目时间修改成功!
case4:
请输入新的比赛地点:
place,info);
比赛项目地点修改成功!
out);
p1=head1;
fout.write((char*)p1,sizeof(Match));
p1=p1->
fout.close();
return0;
intdelete1()//对比赛项目相关信息进行删除
Match*p1,*p2;
p2=p1=head1;
请选择要删除比赛项目的那些信息"
------删除比赛项目的编号----1"
------删除比赛项目的名称----2"
intn;
n;
intnum,flag=0;
charcal[10];
switch(n){case1:
num;
=NULL)
if(p1->
number==num)
{
flag=1;
}
p2=p1;
if(flag==0)cout<
没有找到要删除的记录!
else
p2->
next=p1->
cal;
{
strcmp(p1->
call,cal))
}p2=p1;
}ofstreamfout("
fout.write((char*)p1,sizeof(Match));
voidprint1()
Match*p1=head1;
请分别输出比赛项目编号、名称、比赛时间、比赛地点."
if(p1->
p2=p1;
elsep2->
}fout.close();
voidprint1()
while(p1!
p1->
number<
'
\t'
call<
time<
place<
voidfind1()
creat();
Match*p1;
intsign=0;
//设置的标记变量cout<
请选择要查询比赛项目的哪些信息"
------按比赛项目的编号查询----1"
------按比赛项目的名称查询----2"
------按比赛时间查询----3"
------按比赛地点查询----4"
//查询整形数据条件
charinfo[20];
//查询字符型数据条件cin>
switch(a)
case1:
请输入要查询的比赛编号:
number==nu)
sign=1;
if(sign==0)cout<
没有找到要查询的记录!
elsecout<
请输入要查询的比赛项目名称:
infowhile(p1!
=NULL){if(p1->
call==info){sign=1;
}p1=p1->
请输入要查询的比赛时间:
time,info)){sign=1;
else
请输入要查询的比赛地点:
place,info))
p1=p1->
classAthlet
Athlete*next;
//运动员的编号charname[10];
//运动员的姓名charpart[20];
//运动员所属工作单位或省份charsex[20];
//运动员性别intage;
//运动员年龄friendvoidinput2();
voidinput2()
ofstreamfout("
\\运动员.dat"
Athleteb;
do
请分别输入运动员编号、姓名、性别、年龄、所属省份或工作单位."
b.number>
b.name>
b.sex>
b.age>
b.part;
b.next=NULL;
b,sizeof(Athlete));
}while(ch=='
Athlete*head4;
voidcreat2()
head4=NULL;
Athlete*p,*q=head4;
}p=newAthlete;
fin.read((char*)p,sizeof(Athlete));
fin.eof())
{if(head4==NULL)head4=p;
next=p
p=newAthlete;
intchange2()//对运动员相关信息修改
您正在进行修改运动员基本信息操作!
creat2();
Athlete*p1;
p1=head4;
请输入要修改运动员的编号:
//要修改的运动员编号intsign=0;
number==number1)
请选择要修改运动员的哪些信息"
------修改运动员的编号----1"
------修改运动员的姓名----2"
------修改运动员所属工作单位或省份----3"
------修改运动员性别----4"
------修改运动员年龄----4"
case1:
请输入新的运动员编号:
运动员的编号修改成功!
请输入新的运动员姓名:
name,info);
运动员姓名修改成功!
请输入新的运动员所属工作单位或省份:
strcpy(p1->
part,info);
运动员所属工作单位或省份修改成功!
请输入新的性别:
sex,info);
运动员性别修改成功!
case5:
请输入新的年龄:
age=nu,cout<
运动员年龄修改成功!
fout.write((char*)p1,sizeof(Athlete));
p1=p1->
intdelete2()//对运动员相关信息进行删除
Athlete*p1,*p2;
p2=p1=head4;
请选择要删除运动员的哪些信息"
------删除运动员的编号----1"
------删除运动员的姓名----2"
intn;
charna[10];
switch(n){case