学生成绩管理系统课程设计.docx
- 文档编号:1424155
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:18
- 大小:83.45KB
学生成绩管理系统课程设计.docx
《学生成绩管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
学生成绩管理系统课程设计
C语言实验报告
题目:
学生成绩管理系统
院系名称
电子工程学院
专业名称
电子信息工程
班级
学号
学生姓名
指导教师
时间
2010年6月7日至2010年6月18日
三、需求分析
可以实现学生成绩数据的录入,保存,浏览,查找,添加,删除,排序,使学生成绩信息一目了然。
三、课程设计目的
加深对C语言课程所学知识的理解,进一步巩固C语言语法规则。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,使学生通过系统分析、系统设计、编程调试、,写实验报告等环节,初步掌握软件系统设计的方法和步骤,训练灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平,培养必要的工程实践动手能力。
四、程序内容
数据的录入,数据存储、数据读写,数据添加,数据删除,数据查询,数据统计,数据排序数据打印.
五、详细设计及运行结果
1
1输入信息模块:
函数名为shuru,。
②显示模块:
函数名为xianshi,分别打印出输入所有学生的:
代号,姓名以及三科成绩。
③查询模块:
函数名为chaxun,输入学生的代号,显示学生信息。
④添加信息模块:
函数名为tianjia,输入学生信息,插入信息后,显示添加信息后的学生数量。
⑤删除模块:
函数名为shanchu,。
输入要删除的学生代号,删除信息后显示学生数量。
排序模块:
函数名为paixu,按学生代号进行排序。
⑧.保存文件:
函数名为baocun。
将学生信息保存到指定位置.
⑨:
从文件读取信息:
函数名为duru,从保存的文件中读入学生信息.
⑩main函数:
调用以上各功能模块,实现程序功能。
六、调试情况,设计技巧及体会
调试情况:
心得体会:
通过这次课程设计,我对C语言有了更深刻的了解,增强了程序的编写能力,巩固了专业知识,对程序的模块化观念也又模糊逐渐变的清晰了。
在程序的运行与调试过程中出现了很多错误,通过反复地复习课本上的相关知识,不停地修改与调试,我终于完成了这段程序。
在调试过程中,我认识到了C语言的灵活性与严谨性,同一个功能可以由不同的语句来实现,但编写程序时要特别注意细节方面的问题,因为一个小小的疏忽就能导致整个程序不能运行。
当然我也认识到了自己的薄弱之处,如对链表相关知识的欠缺,文件运用的不熟练,在以后的学习中我要集中精力、端正态度,争取把知识学得更扎实、更全面。
八、附录:
源代码
#include
#include
#include
#defineNsizeof(structmengtu)
#include
intn,k;
structmengtu
{intdaihao;
charmingzi[10];
intneili;
intdaofa;
intbufa;
structmengtu*next;};
structmengtu*creat(void)
{structmengtu*p1,*p2,*head;
n=0;
p1=p2=(structmengtu*)malloc(N);
system("cls");
printf("请输入资料,输0退出!
\n");
while
(1)
{if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(structmengtu*)malloc(N);
printf("请输入代号:
");
scanf("%d",&p1->daihao);
if(p1->daihao==0)
break;
printf("请输入名字:
");
scanf("%s",&p1->mingzi);
printf("请输入内力成绩:
");
scanf("%d",&p1->neili);
printf("请输入刀法成绩:
");
scanf("%d",&p1->daofa);
printf("请输入步法成绩:
");
scanf("%d",&p1->bufa);
n++;}
p2->next=NULL;
printf("输入的学生数为:
%d个!
\n",n);
printf("按任意键返回主菜单...");
getchar();
return(head);}
baocun(structmengtu*p1)
{FILE*fp;
chardizhi[20];
system("cls");
printf("请输入文件路径及文件名:
");
scanf("%s",dizhi);
if((fp=fopen(dizhi,"w+"))==NULL)
{printf("不能打开文件!
\n");
return0;}
while(p1!
=NULL)
{fprintf(fp,"%d\t%s\t%d\t%d\t%d\t\n",p1->daihao,p1->mingzi,p1->neili,p1->daofa,p1->bufa);
p1=p1->next;}
fclose(fp);
printf("文件已经保存!
\n");
fflush(stdin);
printf("按任意键返回主菜单...");
getchar();
return0;}
duru(structmengtu*head)
{structmengtu*p1,*p2;
chardizhi[10];
FILE*fp;
system("cls");
printf("请输入文件路径及文件名:
");
scanf("%s",dizhi);
if((fp=fopen(dizhi,"r+"))==NULL)
{printf("不能打开文件!
\n");
return0;}
printf("-----------------------------------------\n");
printf("|代号\t\t|名字\t\t|内力\t|刀法\t|步法\t|\n");
printf("-----------------------------------------\n");
p1=(structmengtu*)malloc(N);
p2=(structmengtu*)malloc(N);
fscanf(fp,"%d%s%d%d%d",&p1->daihao,p1->mingzi,&p1->neili,&p1->daofa,&p1->bufa);
printf("|%d\t|%s\t|%d\t|%d\t|%d\t|\n",p1->daihao,p1->mingzi,p1->neili,p1->daofa,p1->bufa);
head=NULL;
while(!
feof(fp))
{n++;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(structmengtu*)malloc(N);
fscanf(fp,"%d%s%d%d%d\n",&p1->daihao,p1->mingzi,&p1->neili,&p1->daofa,&p1->bufa);
printf("|%d\t|%s\t|%d\t|%d\t|%d\t|\n",p1->daihao,p1->mingzi,p1->neili,p1->daofa,p1->bufa);}
p2->next=p1;
p1->next=NULL;
n++;
printf("-----------------------------------------\n");
fclose(fp);
fflush(stdin);
printf("成功读取%d个学生信息!
\n",n);
printf("按任意键返回主菜单...");
getchar();
return(head);}
shanchu(structmengtu*head)
{structmengtu*p1,*p2;
intdaihao;
system("cls");
printf("输入要删除学徒的代号:
");
scanf("%d",&daihao);
getchar();
p1=head;
while(daihao!
=p1->daihao&&p1->next!
=NULL)
{p2=p1;
p1=p1->next;}
if(daihao==p1->daihao)
{if(p1==head)
head=p1->next;
else
p2->next=p1->next;
printf("已删除:
%d\n",daihao);
n=n-1;}
else
printf("%d不存在!
\n",daihao);
printf("现在数为:
%d个!
\n",n);
fflush(stdin);
printf("按任意键返回主菜单...");
getchar();
return(head);}
tianjia(structmengtu*head,structmengtu*stu)
{structmengtu*p0,*p1;
stu=(structmengtu*)malloc(N);
system("cls");
printf("\n输入要增加的学徒的资料!
\n");
printf("请输入代号:
");scanf("%d",&stu->daihao);
printf("输入名字:
");scanf("%s",stu->mingzi);
printf("请输入内力成绩:
");scanf("%d",&stu->neili);
printf("请输入刀法成绩:
");scanf("%d",&stu->daofa);
printf("请输入步法成绩:
");scanf("%d",&stu->bufa);
p1=head;p0=stu;
if(p1->next==NULL)
{p1->next=p0;
p0->next=NULL;}
else
{while(p1->next!
=NULL)
{p1=p1->next;}
p1->next=p0;
p0->next=NULL;}
n++;
printf(",添加完成!
现在门徒数为:
%d个!
\n",n);
fflush(stdin);
printf("按任意键返回主菜单...");
getchar();
return(head);}
voidxianshi(structmengtu*head)
{structmengtu*p;
system("cls");
printf("-----------------------------------------\n");
printf("|代号\t\t|名字\t\t|内力\t|刀法\t|步法\t|\n");
printf("-----------------------------------------\n");
p=head;
while(p!
=NULL)
{printf("|%d\t|%s\t|%d\t|%d\t|%d\t|\n",p->daihao,p->mingzi,p->neili,p->daofa,p->bufa);
printf("-----------------------------------------\n");
p=p->next;}
fflush(stdin);
printf("按任意键返回主菜单...");getchar();}
chaxun(structmengtu*head)
{intdaihao;
structmengtu*p1;
system("cls");
printf("输入要查询的门徒的代号:
");
scanf("%d",&daihao);
while(daihao!
=0)
{p1=head;
while(daihao!
=p1->daihao&&p1->next!
=NULL)
p1=p1->next;
if(daihao==p1->daihao)
{printf("-----------------------------------------\n");
printf("|代号\t\t|名字\t\t|内力\t|刀法\t|步法\t|\n");
printf("-----------------------------------------\n");
printf("|%d\t|%s\t|%d\t|%d\t|%d\t|\n",p1->daihao,p1->mingzi,p1->neili,p1->daofa,p1->bufa);
printf("-----------------------------------------\n");}
elseprintf("%d门徒不存在!
\n",daihao);
printf("输入要查询的门徒的代号:
");
scanf("%d",&daihao);}
fflush(stdin);
printf("按任意键返回主菜单...");
getchar();}
tongji(structmengtu*head)
{intsum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0;
structmengtu*p;
inty=0,i=0;
p=head;
system("cls");
printf("---------------------------------------------------------\n");
printf("|代号\t\t|名字\t\t|内力\t|刀法\t|步法\t|总分\t|平均分\t|\n");
printf("---------------------------------------------------------\n");
while(p!
=NULL)
{sum1=p->neili+p->daofa+p->bufa;
ave1=sum1/3;
printf("|%d\t|%s\t|%d\t|%d\t|%d\t|%d\t|%d\t|\n",p->daihao,p->mingzi,p->neili,p->daofa,p->bufa,sum1,ave1);
printf("---------------------------------------------------------\n");
p=p->next;}
fflush(stdin);
printf("按任意键返回主菜单...");getchar();
return(head);}
paixu(structmengtu*head)
{structmengtu*p,*max;
inti,j;intfen;chart[10];
max=p=head;
for(i=1;i {for(j=i+1;j<=n;j++) {max=p; p=p->next; if(max->daihao>p->daihao) {k=max->daihao; max->daihao=p->daihao; p->daihao=k; strcpy(t,max->mingzi); strcpy(max->mingzi,p->mingzi); strcpy(p->mingzi,t); fen=max->neili; max->neili=p->neili; p->neili=fen; fen=max->neili; max->daofa=p->daofa; p->daofa=fen; fen=max->bufa; max->bufa=p->bufa; p->bufa=fen;}} max=head; p=head;} fflush(stdin); system("cls"); printf("排序已经完成...\n"); printf("按任意键返回主菜单...");getchar(); return(head);} intmenu(k) {inti; system("cls"); printf("\t\t\t吕氏刀门学徒成绩管理系统\n"); printf("\t\t\t作者: lpf学号: 05091044\n"); for(i=0;i<80;i++) printf("*"); printf("*1输入学徒的资料\t\t*2从文件调入资料\t\t*3查询学徒的成绩\n"); printf("*4删除学徒的资料\t\t*5追加学徒的资料\t\t*6显示学徒的成绩\n"); printf("*7统计学徒的成绩\t\t*8保存输入的资料\t\t*9对成绩进行排序\n"); for(i=0;i<80;i++)printf("*"); printf("欢迎进入吕氏刀门管理系统,请选择您所要的操作(选择(0)退出): ");scanf("%d",&k); return(k);} charpassword[10]="900118"; main() {structmengtu*head=0,*stu=0; chars[10];intflag=0;intn=3; do {printf("请您输入刀门密令: \n"); scanf("%s",s); if(! strcmp(s,password)) {system("cls"); printf("恭喜你成功登陆吕氏门徒成绩管理系统\n\n\n"); fflush(stdin);printf("按任意键继续...");getchar(); flag=1;break;} else {printf("密令错误! 请重新输入: \n"); n--;}} while(n>0); if(! flag) {printf("输入次数已到...\n"); exit(0);} while (1) {k=menu(k); switch(k) {case1: head=creat();break; case2: head=duru(head);break; case3: head=chaxun(head);break; case4: head=shanchu(head);break; case5: head=tianjia(head,stu);break; case6: xianshi(head);break; case7: tongji(head);break; case8: baocun(head);break; case9: head=paixu(head);break; case0: exit(0); default: printf("输入错误,请重试! \n");}}}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 课程设计
文档标签
- 学生成绩管理系统设计实践
- VC课程设计学生成绩管理系统
- 课程设计说明书学生成绩管理系统
- 学生成绩管理系统设计
- 课程设计成绩记录
- 成绩管理系统设计
- 课程设计学生成绩管理系统学生成绩管理系统
- 课程设计学生成绩管理系统
- 课程设计学生选课成绩管理系统
- 学生成绩管理系统MIS课程设计
- 学生成绩管理系统总体设计
- 学生成绩管理系统课程分析
- 学生选课成绩管理系统设计
- UML课程设计学生成绩管理系统
- 课程设计ASP学生成绩管理系统
- JSP课程设计学生成绩管理系统
- 学生成绩管理系统学生成绩管理系统课程设计
- 学生成绩管理系统JAVA课程设计
- vfp课程设计学生成绩管理系统
- 系统设计实践创新
- 学生成绩管理系统设计实现
- 学生成绩管理系统设计实现
- 学生成绩管理系统设计实现
- 系统设计实践创新
- 学生成绩管理系统设计实现
- 学生成绩管理系统实现设计