c语言课程设计报告成绩管理系统 2.docx

上传人:b****3 文档编号:27264836 上传时间:2023-06-28 格式:DOCX 页数:17 大小:28.93KB
下载 相关 举报
c语言课程设计报告成绩管理系统 2.docx_第1页
第1页 / 共17页
c语言课程设计报告成绩管理系统 2.docx_第2页
第2页 / 共17页
c语言课程设计报告成绩管理系统 2.docx_第3页
第3页 / 共17页
c语言课程设计报告成绩管理系统 2.docx_第4页
第4页 / 共17页
c语言课程设计报告成绩管理系统 2.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告成绩管理系统 2.docx

《c语言课程设计报告成绩管理系统 2.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告成绩管理系统 2.docx(17页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告成绩管理系统 2.docx

c语言课程设计报告成绩管理系统2

 

课程设计任务书

 

设计题目成绩管理系统

系别计算机工程系

专业计算机科学玉技术

班级

学号

姓名

指导教师

 

设计任务下达日期2011年12月24日

设计时间2011年12月26日至2010年12月30日

指 导 教 师 评 语

 

成绩评定:

              指导教师签字:

                年  月  日

 

课程设计任务书

一、目的和意义

本课程设计是《C语言程序设计》课程的后继教学环节,通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。

本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。

二、题目(可从下面题目中任选一个)

1、C语言的图形编程应用

设计实现如菜单、图形的显示,再如动画和小游戏。

2、简易电子琴模拟程序的实现

为实现在键盘模拟电子琴设计的程序。

由学生自行设计并且实现。

3、成绩管理程序

学生本人设计具体方案,然后改进和编码实现。

三、课程设计报告书应包括的主要内容

1、介绍概要的思路和设计方案,程序的总体功能和模块划分。

2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。

3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。

四、进度要求

1、设计时间:

2011年12月19日至2011年12月25日

2、编写课程设计报告书:

2011年12月26日至2011年12月29日

3、提交报告及答辩时间:

2011年12月30日

专科

四、进度要求

1、设计时间:

2011年12月26日至2011年12月28日

2、编写课程设计报告书:

2011年12月29日

3、提交报告及答辩时间:

2011年12月30日

一、设计概要;

1、系统结构图:

 

2、功能说明:

进入主界面后有1—7个选项,1是录入,2是输出,3是查找,4是增加,4是修改,5是修改,6是排序,7是退出。

输入每个数字后按回车就进入该菜单,就可以进行各项操作。

二、运行情况:

1、主界面

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\

※※\

※欢迎来到学生信息管理系统※\

※※\

※系部:

专业:

※\

※姓名:

学号:

※\

※班内序号:

指导老师:

※\

※※\

※主菜单※\

※※\

※▲1.录入数据▲※\

※▲2.输出数据▲※\

※▲3.查找数据▲※\

※▲4.增加数据▲※\

※▲5.修改数据▲※\

※▲6.成绩排序▲※\

※▲7.退出系统▲※\

※※\

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\

2、录入成绩

3、输出成绩

4、查找成绩

5、修改成绩

 

6、增加成绩

7、成绩排序

以上这些操作可以通过实际运行来展示

三、程序源代码:

#include"stdio.h"

#defineSIZE100000

#include"string.h"

#include"stdlib.h"

#include"conio.h"

structstudent

{intn;

intnum;

charname[10];

intC;

intMaths;

intEn;

floatave;

}stu[SIZE];

/*录入数据(向文件fp中录入信息)*/

voidfinput()

{

FILE*fp;

inti,p;

fp=fopen("fstu","wb");

for(i=0;i

{

printf("i=%d输入序号i(当输入i=-1时,返回),i=",++i);

scanf("%d",&i);

if(i==-1)

{

fclose(fp);

return;

}

else

{

printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:

");

scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En);

stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0;

stu[i].n=i;

fwrite(&stu[i],sizeof(structstudent),1,fp);

}

}

fclose(fp);

}

/*输出文件fp中的数据*/

voidflist()

{

FILE*fp;

inti;

fp=fopen("fstu","rb");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("成绩列表\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++)

{

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

}

printf("-----------------------------------------------------------\n\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

fclose(fp);

}

/*查找数据*/

voidfsearch()

{

FILE*fp;

inti,num;

fp=fopen("fstu","rb");

rewind(fp);

printf("请输入要查找的学号:

");

scanf("%d",&num);

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("查询结果\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

for(i=0;i<=SIZE;i++)

if(stu[i].num==num)

{

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

}

printf("-----------------------------------------------------------\n\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n");

fclose(fp);

}

/*增加文件fp中的数据*/

voidfadden()

{

inti,s;

FILE*fp;

fp=fopen("fstu","ab+");

rewind(fp);

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("成绩列表\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++)

{

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

}

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

s=i;

for(i=s;i

{

printf("i=%d输入序号i(当输入i=-1时,返回),i=",i+1);

scanf("%d",&i);

if(i==-1)

{

fclose(fp);

return;

}

else

{

printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:

");

stu[i].n=i+1;

scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En);

stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0;

fwrite(&stu[i],sizeof(structstudent),1,fp);

}

}

fclose(fp);

}

/*修改文件fp中的数据*/

voidfchange()

{

FILE*fp;

inti,num,n;

intflag=0;

printf("请输入要修改学生的学号:

");

scanf("%d",&num);

for(i=0;i<=SIZE;i++)

if(stu[i].num==num)

{

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("成绩列表\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

printf("-----------------------------------------------------------\n\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※\n");

n=i;

flag=1;

break;

}

if(flag==0)

{

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("输入错误!

\n");

printf("请返回!

\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

return;

}

printf("\n\n\n");

fp=fopen("fstu","rb+");

fseek(fp,n*sizeof(structstudent),0);

printf("请输入新的学号,姓名,C成绩,数学成绩,英语成绩:

");

scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En);

stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0;

fwrite(&stu[i],sizeof(structstudent),1,fp);

fclose(fp);

fp=fopen("fstu","rb");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("成绩列表\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++)

{

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

}

printf("-----------------------------------------------------------\n\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

fclose(fp);

}

/*成绩排序*/

voidftaxis()

{

inti,j,n;

FILE*fp;

structstudentt;

fp=fopen("fstu","rb");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("成绩列表\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++)

{

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

}

printf("-----------------------------------------------------------\n\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

fclose(fp);

n=i;

for(i=0;i

for(j=i+1;j

if(stu[i].ave

{

t=stu[i];

stu[i]=stu[j];

stu[j]=t;

}

fp=fopen("fstus","wb");

printf("\n\n\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("成绩列表\n");

printf("-----------------------------------------------------------\n");

printf("序号学号姓名C成绩数学英语平均\n");

printf("-----------------------------------------------------------\n");

for(i=0;i

{

fwrite(&stu[i],sizeof(structstudent),1,fp);

printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

}

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

fclose(fp);

}

/*主函数*/

main()

{

intn;

for(;;)

{

printf("\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("※※\n");

printf("※欢迎来到学生信息管理系统※\n");

printf("※※\n");

printf("※系部:

专业:

※\n");

printf("※姓名:

学号:

※\n");

printf("※班内序号:

指导老师※\n");

printf("※※\n");

printf("※主菜单※\n");

printf("※※\n");

printf("※▲1.录入数据▲※\n");

printf("※▲2.输出数据▲※\n");

printf("※▲3.查找数据▲※\n");

printf("※▲4.增加数据▲※\n");

printf("※▲5.修改数据▲※\n");

printf("※▲6.成绩排序▲※\n");

printf("※▲7.退出系统▲※\n");printf("※※\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");

printf("请输入选择项(1-7):

");

scanf("%d",&n);

printf("\n\n\n\n");

if(n>0&&n<8)

{

switch(n)

{

case1:

finput();break;

case2:

flist();break;

case3:

fsearch();break;

case4:

fadden();break;

case5:

fchange();break;

case6:

ftaxis();break;

case7:

printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("※※\n");

printf("※谢谢使用!

※\n");

printf("※再见!

※\n");

printf("※※\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");

exit(0);

}

}

else

{

printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("※※\n");

printf("※输入错误!

※\n");

printf("※请退出!

※\n");

printf("※※\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");

break;

}

}

}

三、课设心得:

通过课设的学习,更加对c语言程序设计有了进一步的了解,同时也又更深入学到了c语言中的文件操作,对于基础的输入、输出函数,以及if语句都有了更深的体会,在这次编程中没有使用过去的编程软件Tc,Vc主要是机子不兼容的原因,又找了一个新的编程软件不错还c-free,就是在编译中会出错,这个程序在该软件下可以成功运行,本程序参考了东西不少,主要是感觉原来学习的肤浅,不能是自己独自完成。

四、参考资料:

C程序设计(第三版,谭浩强.著)

XX文库(c语言资料库),使用编程软件c-free。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1