C语言课程设计报告附源代码Word文件下载.docx
- 文档编号:15768959
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:21
- 大小:202.32KB
C语言课程设计报告附源代码Word文件下载.docx
《C语言课程设计报告附源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告附源代码Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
(5)通过c语言程序设计,编译一个简单的学生成绩管理系统,对学生的信息进行比较简单的管理。
在内容上,包括学生的姓名,学号及各科成绩等信息。
可进行信息的输入,输出,查询,修改,添加,删除,排序,等操作。
(6)通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握高级语言程序设计的基本方法;
(7)通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的
法和步骤,训练灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问
题的能力,提高程序设计水平,培养必要的工程实践动手能力。
(8)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力;
二.设计内容
(1)运用C语言程序设计基本知识,通过MicrosoftVisualC++程序设计平台,建立一个学生信息管理系统。
(2)运用课本上的相关知识编辑一个简单的学生信息管理系统,使之能够完成学生基本信息的输入、修改、添加、查看、删除、排序、统计、输出、退出等操作。
(3)排除编程过程中所遇到的各项错误和警告,并逐项修改调试,直到程序正确运行。
(4)通过老师的指导,对程序进行更深入的掌握。
三.概要设计
1.功能模块图;
主函数
打开文件
保存文件
密码
输入模块
输出模块
修改模块
删除模块
查询模块
排序模块
添加模块
菜单模块
输入学生的姓名等信息
输出所有学生信息
按照学号修改学生信息
按照学号删除学生信息
按照学号查询学生信息
按照学号从小到大排序
添加新学生的信息
菜单选项
2.各个模块详细的功能描述。
删除
四.
1.功能函数的调用关系图;
2.各功能函数的数据流程图。
(如上三.2功能详述)
3.重点设计及编码。
五.测试数据及运行结果
1.正常测试数据(3组)及运行结果;
2.非正常测试数据(2组)及运行结果。
六.调试情况,设计技巧及体会
1.对自己的设计进行评价,指出合理和不足之处,提出改进方案;
通过两周的编程,我完成了学生成绩管理这个小系统。
进一步理解并掌握了
C语言中的精华指针和结构体。
程序可以运行,实现对数据的录入、修改、插入、删除、排序、查询、等基本功能。
程序开始时从文件中读取数据,结束时对新数据或更新的数据进行保存,以便下次再次调用。
2.对设计及调试过程的心得体会。
本次课程设计我感受颇深,对我无疑是一次巨大大的挑战,实习过程中我深刻感受到我C语言编程方面的不足,我虽然完成了本次设计,今后我会在此方面多下工夫,熟练掌握他。
还有此次实习对我函数,结构体,指针,文件,等各方面的知识来了一次系统的复习,是我明白自己还存在很多很多的不足,以后还需多下工夫,真正实现很完整优秀的编程。
七.参考文献
1.《C语言程序设计教程》张毅坤曹锰张亚玲西安交通大学出版社
2.C语言课本
八.源程序代码(电子版)
#include<
stdio.h>
string.h>
#include"
stdlib.h"
conio.h>
#defineN100
structst_type/*结构体类型定义*/
{
charnum[7];
charname[20];
floatmath;
floatenglish;
floatc;
floatgym;
}st[N],k;
intread_file(st_typest[])
{FILE*fp;
inti=0;
if((fp=fopen("
student.txt"
"
rt"
))==NULL)
{printf("
\n\n------库文件不存在!
请创建"
);
return0;
}
while(feof(fp)!
=1)
{fread(&
st[i],sizeof(st_type),1,fp);
if(st[i].num[0]=='
\0'
)
break;
else
i++;
fclose(fp);
returni;
}
voidsave_file(st_typest[])
{FILE*fp;
inti;
wb"
{printf("
读文件错误!
\n"
return;
for(i=0;
i<
N;
i++)
if(fwrite(&
st[i],sizeof(st_type),1,fp)!
printf("
写文件错误!
/*输入模块*/
intinput(st_typest[])
chark;
system("
cls"
i++)
{
\n请输入第%d个学生的信息\n"
i+1);
\n姓名:
"
scanf("
%s"
st[i].name);
\n学号:
st[i].num);
\n数学成绩:
%f"
&
st[i].math);
\n英语成绩:
st[i].english);
\nc语言成绩:
st[i].c);
\n体育成绩:
st[i].gym);
是否继续(任意键继续/N退出):
k);
if(k=='
n'
||k=='
N'
)break;
按任意键返回主菜单\n"
getch();
system("
/*输出模块*/
voidoutput(st_typest[])
inti,j=0;
{if(st[i].num[0]=='
&
st[i].name[0]=='
st[i].c==0&
st[i].english==0&
st[i].gym==0&
st[i].math==0)
break;
\n姓名----学号----数学成绩----英语成绩----c语言成绩----体育成绩\n"
%-8s%-8s%-12.2f%-12.2f%-12.2f%-12.2f"
st[i].name,st[i].num,st[i].math,st[i].english,st[i].c,st[i].gym);
j++;
}if(j==0)printf("
\n无学生信息!
\n按任意键返回主菜单"
/*修改模块*/
voidmodify()
intchoice,i,k;
charn[7];
\n请输入要修改学生成绩的学号:
n);
if(!
strcmp(n,st[i].num))
{k=i;
\n输入修改选项:
\n1.姓名2.学号3.数学成绩4.英语成绩5.c语言成绩6.体育成绩\n"
%d"
choice);
switch(choice)
{
case1:
printf("
\n修改后的姓名:
break;
case2:
\n修改后的学号:
case3:
\n修改后的数学成绩:
case4:
\n修改后的英语成绩:
case5:
\n修改后的c语言成绩:
);
case6:
\n修改后的体育成绩:
}
st[k].name,st[k].num,st[k].math,st[k].english,st[k].c,st[k].gym);
syst
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 源代码