C语言课程设计学生信息管理系统实习报告电子版.docx

上传人:b****5 文档编号:27752604 上传时间:2023-07-04 格式:DOCX 页数:21 大小:302.17KB
下载 相关 举报
C语言课程设计学生信息管理系统实习报告电子版.docx_第1页
第1页 / 共21页
C语言课程设计学生信息管理系统实习报告电子版.docx_第2页
第2页 / 共21页
C语言课程设计学生信息管理系统实习报告电子版.docx_第3页
第3页 / 共21页
C语言课程设计学生信息管理系统实习报告电子版.docx_第4页
第4页 / 共21页
C语言课程设计学生信息管理系统实习报告电子版.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言课程设计学生信息管理系统实习报告电子版.docx

《C语言课程设计学生信息管理系统实习报告电子版.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生信息管理系统实习报告电子版.docx(21页珍藏版)》请在冰豆网上搜索。

C语言课程设计学生信息管理系统实习报告电子版.docx

C语言课程设计学生信息管理系统实习报告电子版

软件设计课程设计报告

 

题目:

学生信息管理系统

系部名称

专业名称

班级

学号

学生姓名

指导教师

时间

2009年5月25日至

2009年6月5日

 

一、课程设计目的

1)对C各部分知识的综合应用能力

2)提高程序设计的能力

3)提升对于较大程序的抽象分析设计能力

4)学习调试和测试的技巧

二、课程设计内容

1)熟悉C实验环境,按给定的上机步骤练习完成;

2)熟悉C程序的编辑,编译,链接和运行的过程。

3)编译一个应用系统程序,形成一个软件系统。

三、需求分析

随着当今社会发展,信息化水平逐步提高,对教务管理有了新的要求,因此,编写一个信息管理系统是十分有必要的。

该软件主要是实现对学生信息进行系统化的管理,首先可以对学生基本信息进行输入和读取,其次查找并显示特定学生的相关信息,然后可以插入学生的相关信息,还有就是可按学生相关信息排序,以求达到简易操作的目的。

四、概要设计

1.系统结构图(功能模块图)和数据变量说明

 

2.功能模块说明

1.输入模块2.列表模块

 

3.查找模块4.修改模块

 

5.增加模块

 

6.成绩排序

 

五、运行情况

1.主菜单

 

2.录入数据

3.输出数据

 

4.查找数据

 

5.增加数据

 

5.增加数据

6.修改数据

 

7.成绩排序

8.退出系统

六、设计体会和反思

通过两周的上机实习,我对C语言又有了崭新的认识。

C语言的学习是一个系统的过程,需要长期的知识积累和储备并辅以大量的上级实际操作练习,自己也应该有所体会,在实践中成长,在实践中求知。

这次我设计的课题是学生信息管理系统。

课题要求对学生信息实现一系列基本操作。

我选择通过结构体数组来实现这个设计。

通过fread和fwrite两个函数实现对文件的读写,过程比较简洁(这里也有参考《C程序设计》中某例题的思想)。

通过大量的符号和printf语句,使得操作界面更加和谐友善,这些都是我通过这次实习积累的经验。

同时,设计完成后我也发现了代码中的一些不足,例如在录入数据时要求输入序号的值,这个我认为操作比较复杂,但由于时间紧迫,未能提出完美的解决方案,但此问题并不影响程序的运行和要求的实现。

经过实际检验,只要按照程序要求输入,就能够实现。

总之,通过这次实习,我也认识到了我自己在程序设计这门课程上的不足,在以后的学习实践中,要更加的严谨踏实,对知识的把握要更加的细致入微,要活学活用,争取在这个学科上取得更大的进步。

七、参考文献

谭浩强著.C程序设计(第三版).北京:

清华大学出版社,2005

八、程序源代码

#include"stdio.h"

#defineSIZE100000

#include"string.h"

#include"stdlib.h"

#include"conio.h"

structstudent

{intn;

intnum;

charname[10];

intC;

intMaths;

intEn;

floatave;

}stu[SIZE];

/*录入数据*/

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+1;

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

}

}

fclose(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);

}

/*增加数据*/

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);

}

/*修改数据*/

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;

}

}

}

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

当前位置:首页 > 工程科技 > 能源化工

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

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