一 题目要求
课题:校运动会管理系统的设计与实现 具体要求:
(1)信息初始化,依次输入:
N—参赛学校总数 M—男子竞赛项目数 W—女子竞赛项目总数 各项目名次取法有以下几种:
①取前五名:第一名得分7分,第二名得分5分,第三名得分3分,第四名2分,第五名得分1分。
②取前三名:第一名得分5分,第二名得分3分,第三名得分2分。 ③用户自定义:各名次权值由用户定义。
(2)提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。
二 需求分析
根据题目要求,将学校的信息和比赛项目等信息存放到指定的文件中,并能实现相关信息的浏览功能,故在程序中应提供输入,输出,显示,查找,排序等操作。
三 总体设计
由需求分析可讲系统分为信息输入模块,比赛录入模块和查询模块三个模块,并追加一些辅助模块以增加程序的功能,方便使用。
四 详细设计
1
主函数
主要通过main()函数及choose()函数实现.
void main() /***************主函数**************/ {
int choos
printf(\"\\n\\n * * * 运动会分数统计 * * *\\n\\n\\n\"); printf(\"共有多少个学校参赛:\");
scanf(\"%d\ while(a<=0||a>20) {
if(a<=0) {
printf(\"\\n 参赛学校个数不能是负数或零\\n\\n\");
printf(\"共有多少个学校参赛:\"); scanf(\"%d\ }
if(a>20) {
printf(\"\\n 参赛学校个数不能大于20\\n\\n\"); printf(\"共有多少个学校参赛:\"); scanf(\"%d\ } }
printf(\"有几个男子组:\");
scanf(\"%d\ printf(\"有几个女子组:\"); scanf(\"%d\ for(i=0;i<=a;i++) {
f[i]=(struct node *)malloc(sizeof(struct node)*(c+d+3)); for(j=0;j<=c+d+2;j++) f[i][j].num=0; }
choos=choose();
while(1) {
while(choos<0||choos>8) choos=choose(); (*g[choos])(); printf(\"\\n\"); choos=choose(); } }
int choose() {
int choo;
printf(\"\\n\\n 1*输入成绩\\n\"); printf(\" 2*统计各学校的总分\\n\"); printf(\" 3*按学校编号排序输出\\n\"); printf(\" 4*按学校总分排序输出\\n\"); printf(\" 5*按男团体总分排序输出\\n\"); printf(\" 6*按女团体总分排序输出\\n\");
printf(\" 7*按学校编号查询学校某个项目的成绩\\n\");
printf(\" 8*按项目编号查询取得前三或前五名的学校\\n\"); printf(\" 9*退出\\n\\n\"); printf(\"请选择:\"); scanf(\"%d\
图1 主函数流程图
}
2 成绩输入
开始 输入运动项目代号 是否在范围 输入评分制度 是否为三或五 依次输入获奖学校 结束 图2 运动会成绩输入流程图
当选择1 时进行成绩的输入.实现的功能函数为input(),相关实现如下:
{ void input()
int ab,ac,ae,af,g=1,get[5]={0,0,0,0,0}; printf(\"\\n请输入项目代号:\"); ale:scanf(\"%d\if(ab>c+d||ab<1)
{
printf(\"\\n此项目代号不存在,重新输入\\n\"); goto ale; } ae=0;
for(i=0;i<=a;i++) {
if(f[i][ab].num!=0) { ae=1; break; } }
if(ae==1)
{
al2: printf(\"\\n此项目成绩曾经已被录入过,是否要重新录入(您输入的项目代号可能有误,强烈建议您查证后再录入):\\n\");
printf(\" 1++++重新录入(若重新录入,以前的该项目成绩将被删除)\\n\"); printf(\" 2++++不要,待查证后再录入\\n\\n\"); scanf(\"%d\ if(af==2) {
printf(\"您已取消录入!!!!!\\n\"); return; }
else if(af==1) {
for(i=1;i<=a;i++) {
if(f[i][ab].num!=0) {
f[i][0].num=f[i][0].num-f[i][ab].num;
if(ab<=c)
f[i][c+d+1].num=f[i][c+d+1].num-f[i][ab].num; else
f[i][c+d+2].num=f[i][c+d+2].num-f[i][ab].num; }
f[i][ab].num=0; }
}
else
goto al2; }
al: printf(\"\\n此项目是以前几名为胜出者:\\n\\n\"); printf(\" 3-------以前三名\\n\"); printf(\" 5-------以前五名\\n\\n\"); scanf(\"%d\if(ac==3) {
printf(\"\\n请依次输入获胜学校代号:\"); af=5;
for(i=0;i<3;i++) {
alq: scanf(\"%d\ if(ae>a||ae<1)
{
printf(\"%d学校代号不存在,重新输入第%d名的学校代号\\n\
goto alq; }
for(b=0;b<5;b++) {
if(ae==get[b]) {
printf(\"同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号!!!\\n\ goto alq; } else
get[b]=ae; }
f[ae][0].num=f[ae][0].num+af; f[ae][ab].num=af;
if(ab<=c)
f[ae][c+d+1].num=f[ae][c+d+1].num+af; else
f[ae][c+d+2].num=f[ae][c+d+2].num+af; if(af>3) af=af-2; else af--; g++; }
}
else if(ac==5) {
printf(\"请依次输入获胜学校代号:\"); af=7; for(i=0;i<5;i++) {
alw: scanf(\"%d\ if(ae>a||ae<1) {
printf(\"%d学校代号不存在,重新输入第%d名的学校代号\\n\ goto alw; }
for(b=0;b<5;b++) {
if(ae==get[b])
{
printf(\"同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号!!!\\n\ goto alw; }
else
get[b]=ae; }
f[ae][0].num=f[ae][0].num+af; f[ae][ab].num=af; if(ab<=c)
f[ae][c+d+1].num=f[ae][c+d+1].num+af; else
f[ae][c+d+2].num=f[ae][c+d+2].num+af; if(af>3) af=af-2; else af--; g++; } }
else
goto al;
printf(\"\\n\\n 输入完成 ! ! ! ! \\n\"); }
3 成绩统计
当选择2 时进行成绩的输入.实现的功能函数为each (),相关实现如下:
void each()
{
printf(\"\\n 对应的格式为:\\n 学校代号:团体总成绩\\n\\n \"); for(i=1;i<=a;i++) {
printf(\"%2d:%3d \if(i%3==0)
printf(\"\\n \"); }
4 按照各种方式输出
主要有按学校编号输出,按学校总分输出,按男团输出,按女团输出.相关实现分别如下: void biaohao() {
printf(\"\\n项目代号 \"); for(i=1;i<=c+d;i++) {
if(i>9)
printf(\"%4d \ else
printf(\"%5d \ }
printf(\"\\n\");
printf(\"学校代号 \\n\"); for(i=1;i<=a;i++) {
printf(\" %d \ for(b=1;b<=c+d;b++) {
if(f[i][b].num>9)
printf(\"%4d\ else
printf(\"%5d\ } printf(\"\\n\"); } }
void zongfen()
{
struct nod {
int ke; int num; }; int ha;
struct nod *de;
de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(\"\\n 按学校编号排序输出\\n\\n\"); printf(\" 学校代号 总分\\n\\n\"); for(i=1;i<=a;i++) {
de[i].ke=i;
de[i].num=f[i][0].num; }
for(i=1;i<=a;i++) {
for(b=i;b<=a;b++) {
if(de[b].num>de[i].num) {
ha=de[b].ke;
de[b].ke=de[i].ke; de[i].ke=ha; ha=de[b].num; de[b].num=de[i].num; de[i].num=ha; } }
}
for(i=1;i<=a;i++)
{
printf(\"%13d%8d\\n\ } }
void nanzong() {
struct nod {
int ke; int num; };
int ha;
struct nod *de;
de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(\"\\n 按男子团体总分排序输出\\n\\n\"); printf(\" 学校代号 男子团体总分\\n\\n\"); for(i=1;i<=a;i++) {
de[i].ke=i;
de[i].num=f[i][c+d+1].num; }
for(i=1;i<=a;i++) {
for(b=i;b<=a;b++) {
if(de[b].num>de[i].num) {
ha=de[b].ke;
de[b].ke=de[i].ke; de[i].ke=ha; ha=de[b].num; de[b].num=de[i].num; de[i].num=ha; } } }
for(i=1;i<=a;i++) {
printf(\"%13d%12d\\n\ } }
void nvzong() {
struct nod { int ke; int num; }; int ha; struct nod *de;
de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(\" 按女子团体总分排序输出\\n\\n\"); printf(\" 学校代号 女子团体总分\\n\\n\");
for(i=1;i<=a;i++)
{
de[i].ke=i;
de[i].num=f[i][c+d+2].num; }
for(i=1;i<=a;i++) {
for(b=i;b<=a;b++) {
if(de[b].num>de[i].num) {
ha=de[b].ke; de[b].ke=de[i].ke; de[i].ke=ha;
ha=de[b].num;
de[b].num=de[i].num; de[i].num=ha; } } }
for(i=1;i<=a;i++)
{
printf(\"%15d%13d\\n\ } }
void xuexiao() {
int dr,dt;
printf(\"\\n请输入您要查询的学校代号:\"); aly:scanf(\"%d\
if(dr>a||dr<1) {
printf(\"学校代号不存在,重新输入\\n\"); goto aly;
}
printf(\"请输入您要查询的项目代号:\"); alo:scanf(\"%d\
if(dt>c+d||dt<1)
{
printf(\"项目代号不存在,重新输入\\n\");
goto alo; }
printf(\"\\n\\n %3d 学校的%3d 项目成绩为%3d\\n\
}
5查询功能
开始 输入学校编号查询 输入项目编号查询 是否符合要求 是否符合要求 输入要查询项目代号 输入要查询学校代号 是否符合要求 是否符合要求 继续查询或返回主菜单 继续查询或返回主菜单 结束 图3 查询流程图
按学校编号查询学校某个项目的成绩以xuexiao()及按项目编号查询取得前三或前五名的学校
void xuexiao()
{
int dr,dt;
printf(\"\\n请输入您要查询的学校代号:\"); aly:scanf(\"%d\if(dr>a||dr<1) {
printf(\"学校代号不存在,重新输入\\n\"); goto aly; }
printf(\"请输入您要查询的项目代号:\"); alo:scanf(\"%d\if(dt>c+d||dt<1) {
printf(\"项目代号不存在,重新输入\\n\"); goto alo;
}
printf(\"\\n\\n %3d 学校的%3d 项目成绩为%3d\\n\}
void xiangmu() {
int ge,sedy=0;
printf(\"\\n 请输入您要查询的项目代号:\"); all:scanf(\"%d\printf(\"\\n\"); if(ge>c+d||ge<1) {
printf(\"没有此项目代号,重新输入\\n\"); goto all; }
for(i=1;i<=a;i++) {
if(f[b][ge].num==2) sedy=1; }
if(sedy==0) {
printf(\"此项目没有录入成绩\\n\"); return; }
for(i=1;i<=a;i++) {
if(f[i][ge].num==7) {
printf(\" 此项目取前5名获奖者\\n\"); break; } }
if(i==a+1)
printf(\" 此项目取前3名获奖者\\n\");
printf(\"\\n 获胜名单由成绩高到低依次为:\\n\\n \"); for(i=7;i>0;i--) {
for(b=1;b<=a;b++) {
if(f[b][ge].num==i) printf(\"%5d\ } }
6 保存退出
void exit0() {
FILE *fp; int k;
alp:if((fp=fopen(\"sore.txt\ {
printf(\"创建文件失败\\n\"); printf(\" 1*****重试\\n\");
printf(\" 2*****强制退出(数据将不会保存到文件)\\n\"); printf(\" 3*****回到主菜单\\n\"); alj: scanf(\"%d\ if(k==1) goto alp; else if(k==2) exit(0); else if(k==3) return; else {
printf(\"输入错误,请重新输入:\"); goto alj; } }
fprintf(fp,\"\\n\\n\");
fprintf(fp,\"运动会分数统计表\\n\\n\\n\"); fprintf(fp,\"项目代号\"); for(i=1;i<=c+d;i++)
fprintf(fp,\"%5d\
fprintf(fp,\" \");
fprintf(fp,\"\\n 学校代号\\n\"); for(i=1;i<=a;i++) {
fprintf(fp,\"%10d\for(b=1;b<=c+d;b++)
{
fprintf(fp,\"%5d\}
fprintf(fp,\"\\n\"); }
fprintf(fp,\"\\n\\n\");
fprintf(fp,\" 注:本次运动会有%d个学校参赛\\n\\n\
fprintf(fp,\" 其中1 ~ %d组是男子组,%d ~ %d组是女子组\\n\printf(\"\\n比赛成绩已保存到当前路径下的sore.txt文件中\\n\\n\"); fclose(fp); exit(1); }
五 原程序代码
#include int num; }; struct node *f[22]; void exit0() /*******************保存退出*******************/ { FILE *fp; int k; alp:if((fp=fopen(\"sore.txt\ { printf(\"创建文件失败\\n\"); printf(\" 1*****重试\\n\"); printf(\" 2*****强制退出(数据将不会保存到文件)\\n\"); printf(\" 3*****回到主菜单\\n\"); alj: scanf(\"%d\ if(k==1) goto alp; else if(k==2) exit(0); else if(k==3) return; else { printf(\"输入错误,请重新输入:\"); goto alj; } } fprintf(fp,\"\\n\\n\"); fprintf(fp,\"*************运动会分数统计表************\\n\\n\"); fprintf(fp,\"*************************统计者:可输入个人姓名\"); fprintf(fp,\"项目代号 \"); for(i=1;i<=c+d;i++) fprintf(fp,\" %d\ fprintf(fp,\" \"); fprintf(fp,\"\\n学校代号\\n\"); for(i=1;i<=a;i++) { fprintf(fp,\"%10d\ for(b=1;b<=c+d;b++) { fprintf(fp,\"%5d\ } fprintf(fp,\"\\n\"); } fprintf(fp,\"\\n\\n\"); fprintf(fp,\" 注:本次运动会有%d个学校参赛\\n\\n\ fprintf(fp,\" 其中1 ~ %d组是男子组,%d ~ %d组是女子组\\n\ printf(\"\\n比赛成绩已保存到当前路径下的sore.txt文件中\\n\\n\"); fclose(fp); exit(1); } int choose() /**************进行项目选择***************/ { int choo; printf(\"\\n\\n 1*输入成绩\\n\"); printf(\" 2*统计各学校的总分\\n\"); printf(\" 3*按学校编号排序输出\\n\"); printf(\" 4*按学校总分排序输出\\n\"); printf(\" 5*按男团体总分排序输出\\n\"); printf(\" 6*按女团体总分排序输出\\n\"); printf(\" 7*按学校编号查询学校某个项目的成绩\\n\"); printf(\" 8*按项目编号查询取得前三或前五名的学校\\n\"); printf(\" 9*退出\\n\\n\"); printf(\"请选择:\"); scanf(\"%d\ return(choo-1); } void input() /****************输入成绩****************/ { int ab,ac,ae,af,g=1,get[5]={0,0,0,0,0}; printf(\"\\n请输入项目代号:\"); ale:scanf(\"%d\ if(ab>c+d||ab<1) { printf(\"\\n此项目代号不存在,重新输入\\n\"); goto ale; } ae=0; for(i=0;i<=a;i++) { if(f[i][ab].num!=0) { ae=1; break; } } if(ae==1) { al2: printf(\"\\n此项目成绩曾经已被录入过,是否要重新录入(您输入的项目代号可能有误,强烈建议您查证后再录入):\\n\"); printf(\" 1++++重新录入(若重新录入,以前的该项目成绩将被删除)\\n\"); printf(\" 2++++不要,待查证后再录入\\n\\n\"); scanf(\"%d\ if(af==2) { printf(\"您已取消录入!!!!!\\n\"); return; } else if(af==1) { for(i=1;i<=a;i++) { if(f[i][ab].num!=0) { f[i][0].num=f[i][0].num-f[i][ab].num; if(ab<=c) f[i][c+d+1].num=f[i][c+d+1].num-f[i][ab].num; else f[i][c+d+2].num=f[i][c+d+2].num-f[i][ab].num; } f[i][ab].num=0; } } else goto al2; } al: printf(\"\\n此项目是以前几名为胜出者:\\n\\n\"); printf(\" 3-------以前三名\\n\"); printf(\" 5-------以前五名\\n\\n\"); scanf(\"%d\ if(ac==3) { printf(\"\\n请依次输入获胜学校代号:\"); af=5; for(i=0;i<3;i++) { alq: scanf(\"%d\ if(ae>a||ae<1) { printf(\"%d学校代号不存在,重新输入第%d名的学校代号\\n\ goto alq; } for(b=0;b<5;b++) { if(ae==get[b]) { printf(\"同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号!!!\\n\ goto alq; } else get[b]=ae; } f[ae][0].num=f[ae][0].num+af; f[ae][ab].num=af; if(ab<=c) f[ae][c+d+1].num=f[ae][c+d+1].num+af; else f[ae][c+d+2].num=f[ae][c+d+2].num+af; if(af>3) af=af-2; else af--; g++; } } else if(ac==5) { printf(\"请依次输入获胜学校代号:\"); af=7; for(i=0;i<5;i++) { alw: scanf(\"%d\ if(ae>a||ae<1) { printf(\"%d学校代号不存在,重新输入第%d名的学校代号\\n\ goto alw; } for(b=0;b<5;b++) { if(ae==get[b]) { printf(\"同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号!!!\\n\ goto alw; } else get[b]=ae; } f[ae][0].num=f[ae][0].num+af; f[ae][ab].num=af; if(ab<=c) f[ae][c+d+1].num=f[ae][c+d+1].num+af; else f[ae][c+d+2].num=f[ae][c+d+2].num+af; if(af>3) af=af-2; else af--; g++; } } else goto al; printf(\"\\n\\n 输入完成 ! ! ! ! \\n\"); } void each() /***************输出各个学校的成绩*****************/ { printf(\"\\n 对应的格式为:\\n 学校代号:团体总成绩\\n\\n \"); for(i=1;i<=a;i++) { printf(\"%2d:%3d \ if(i%3==0) printf(\"\\n \"); } } void biaohao() { printf(\"\\n项目代号 \"); for(i=1;i<=c+d;i++) { if(i>9) printf(\"%4d \ else printf(\"%5d \ } printf(\"\\n\"); printf(\"学校代号 \\n\"); for(i=1;i<=a;i++) { printf(\" %d \ for(b=1;b<=c+d;b++) { if(f[i][b].num>9) printf(\"%4d\ else printf(\"%5d\ } printf(\"\\n\"); } } void zongfen() /*******************按学校编号顺序输出成绩******************/ { struct nod { int ke; int num; }; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(\"\\n 按学校编号排序输出\\n\\n\"); printf(\" 学校代号 总分\\n\\n\"); for(i=1;i<=a;i++) { de[i].ke=i; de[i].num=f[i][0].num; } for(i=1;i<=a;i++) { for(b=i;b<=a;b++) { if(de[b].num>de[i].num) { ha=de[b].ke; de[b].ke=de[i].ke; de[i].ke=ha; ha=de[b].num; de[b].num=de[i].num; de[i].num=ha; } } } for(i=1;i<=a;i++) { printf(\"%13d%8d\\n\ } } void nanzong() /*******************按男子团体总成绩排名输出********************/ { struct nod { int ke; int num; }; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(\"\\n 按男子团体总分排序输出\\n\\n\"); printf(\" 学校代号 男子团体总分\\n\\n\"); for(i=1;i<=a;i++) { de[i].ke=i; de[i].num=f[i][c+d+1].num; } for(i=1;i<=a;i++) { for(b=i;b<=a;b++) { if(de[b].num>de[i].num) { ha=de[b].ke; de[b].ke=de[i].ke; de[i].ke=ha; ha=de[b].num; de[b].num=de[i].num; de[i].num=ha; } } } for(i=1;i<=a;i++) { printf(\"%13d%12d\\n\ } } void nvzong() /*****************按女子总成绩排名输出********************/ { struct nod { int ke; int num; }; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(\" 按女子团体总分排序输出\\n\\n\"); printf(\" 学校代号 女子团体总分\\n\\n\"); for(i=1;i<=a;i++) { de[i].ke=i; de[i].num=f[i][c+d+2].num; } for(i=1;i<=a;i++) { for(b=i;b<=a;b++) { if(de[b].num>de[i].num) { ha=de[b].ke; de[b].ke=de[i].ke; de[i].ke=ha; ha=de[b].num; de[b].num=de[i].num; de[i].num=ha; } } } for(i=1;i<=a;i++) { printf(\"%15d%13d\\n\ } } void xuexiao() /******************按学校代号查询相关项目的成绩*********************/ { int dr,dt; printf(\"\\n请输入您要查询的学校代号:\"); aly:scanf(\"%d\ if(dr>a||dr<1) { printf(\"学校代号不存在,重新输入\\n\"); goto aly; } printf(\"请输入您要查询的项目代号:\"); alo:scanf(\"%d\ if(dt>c+d||dt<1) { printf(\"项目代号不存在,重新输入\\n\"); goto alo; } printf(\"\\n\\n %3d 学校的%3d 项目成绩为%3d\\n\ } void xiangmu() /**********************按一定的项目查找前几名获奖者************************/ { int ge,sedy=0; printf(\"\\n 请输入您要查询的项目代号:\"); all:scanf(\"%d\ printf(\"\\n\"); if(ge>c+d||ge<1) { printf(\"没有此项目代号,重新输入\\n\"); goto all; } for(i=1;i<=a;i++) { if(f[b][ge].num==2) sedy=1; } if(sedy==0) { printf(\"此项目没有录入成绩\\n\"); return; } for(i=1;i<=a;i++) { if(f[i][ge].num==7) { printf(\" 此项目取前5名获奖者\\n\"); break; } } if(i==a+1) printf(\" 此项目取前3名获奖者\\n\"); printf(\"\\n 获胜名单由成绩高到低依次为:\\n\\n \"); for(i=7;i>0;i--) { for(b=1;b<=a;b++) { if(f[b][ge].num==i) printf(\"%5d\ } } } void(*g[])()={input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0}; void main() /*****************主函数**********************/ { int choos; printf(\"\\n\\n * * * * * * * * * * * * *运动会分数统计 * * * * * * * * * * * * *\\n\\n\\n\"); printf(\"* * * * * * * * * * * * * * * * * * * *统计者:072085 可输入自己的姓名* * * * * * \\n\\n\\n\"); printf(\"共有多少个学校参赛:\"); scanf(\"%d\ while(a<=0||a>20) { if(a<=0) { printf(\"\\n 参赛学校个数不能是负数或零\\n\\n\"); printf(\"共有多少个学校参赛:\"); scanf(\"%d\ } if(a>20) { printf(\"\\n 参赛学校个数不能大于20\\n\\n\"); printf(\"共有多少个学校参赛:\"); scanf(\"%d\ } } printf(\"有几个男子组:\"); scanf(\"%d\ printf(\"有几个女子组:\"); scanf(\"%d\ for(i=0;i<=a;i++) { f[i]=(struct node *)malloc(sizeof(struct node)*(c+d+3)); for(j=0;j<=c+d+2;j++) f[i][j].num=0; } choos=choose(); while(1) { while(choos<0||choos>8) choos=choose(); (*g[choos])(); printf(\"\\n\"); choos=choose(); } } 六 程序测试 1 主菜单函数效果图: 输入学校参赛信息后如图: 2 输入模块 输入相应的学校和比赛项目成绩后的效果图: 3 追加模块 (1)统计各学校的总分 (2)按学校编号输出成绩: (3)按学校总分排序输出: (4)按男团体总分排序输出: (5)按女团体总分输出: 4 查询模块: (1) 按学校编号查询学校的某个项目的成绩: (2) 按项目编号查询取得前三名或前五名的学校: 5 保存文件: 八 总结 经过上学期对《C程序设计》的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的进一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来的学习成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。 课程设计主要任务是以C语言为基础,掌握程序设计方法,为进一步的学习奠定良好基础;同时培养我们的分析能力、设计能力和整体设计思想,以提高我们的科学研究素质和在实际操作中的具体应用能力。课程设计内容和基本要求,首先课程设计内容是利用学到的编程知识和编程技巧,通过布置具有一定难度的程序设计题目,帮助我们熟悉程序编写,及时查究错误,独立完成。这次C语言有很多题目,而我的任务是完成校际运动会的管理系统的设计和实现,这项任务看似简单只需要有信息输入,成绩录入,查询三个模块,但是在相关的细节上却很繁琐,无论是在主函数还是在调用函数都需要运用多重选择和多重循环,这样就很容易产生错误。 编程是一件很需要耐心的事情,需要我们静下心来理清思路,明确自己的任务,找到最佳的解决方案。在编程的过程中,也同时需要细心和耐心并存,每一步每一个细节都要细心认真对待。这过程虽然很繁琐,但是编程成功完成并得到很好的运行后所带来的成就感和开心却是真真实实的,就会觉得所有的付出都是值得的。课程设计实习结束在即,但是学习的路途依然漫长,“学海无涯苦做舟,书山有路勤为径”,这句话将一直都游荡在我的脑海中。在现实社会中 知识是永无止境的,在知识中我们可以学习前人丰富的思想喝经验,以熏陶自己的灵魂,增进自己的情感,领略知识世界的无穷魅力。 因篇幅问题不能全部显示,请点此查看更多更全内容