- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言选修课系统
C语言程序设计报告 学生选修课程系统设计 高扬 2009-12-28
C语言课程设计实验报告
1.设计目的:
假设有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:
⑴系统以菜单方式工作;
⑵课程信息录入功能—输入;
⑶课程信息浏览功能—输出;
⑷查询功能:(至少一种查询方式)--算法;
⑸按学分查询;
⑹按课程性质查询;
⑺学生选修课程(可选项)。
2.总体设计:
程序设计组成框图
流程图
3.详细设计:
⑴结构体数组:定义了课程各信息的变量;
⑵文件:可以对录入,添加,删除操作后数据进行保存,在下次打开执行程序后,保存数据自动写入程序;
⑶主菜单:进入程序后以菜单方式工作,由此进入各项操作的工作菜单;
⑷课程录入功能:写入数据,并保存;
⑸课程浏览功能:浏览已写入的数据;
⑹课程查询:
①学分查询:输入所查课程学分,显示符合该学分的所有课程和该课程的相关信息;
②课程性质查询:输入所查询课程的性质(如公选课,必修课),显示符合该性质的所有课程和相关信息。
⑺课程信息编辑:
①添加:添加新的课程信息,并可以浏览该课程信息;
②删除:选定要删除的课程,删除该课程的全部信息。
⑻主函数:对各功能函数进行调用,实现各子函数的功能。
struct Lesson 结构体数组
menu_select() 主菜单函数
fileopen() 文件打开函数
filesave() 文件保存函数
manage_information() 信息查询函数
score_search() 学分查询函数
character_search() 性质查询函数
scan_information() 浏览函数函数
input_information() 信息录入函数
add_information() 信息添加函数
del_information() 信息修改函数
edit_information() 信息编辑函数
main() 主函数
4.调试与测试:
1 score_search()函数一闪而过。解决方法:添加getchar()语句使程序暂停。
2 scan_information(),输出函数从0开始输出,并且内存报错。解决方法:将输出函数终止值设为“id”,去掉等号。
3.查询函数数据量过多时会一起输出。解决方法:添加getchar()语句使程序暂停。
4.无法控制输出函数scan_information()循环终止。解决方法:添加全局变量
“id”。
5.源程序清单和执行结果:
#includestdio.h
#includestdlib.h
#includestring.h
#includeconio.h
#includectype.h
int id=0;
struct Lesson
{
int Num;
int Amount;
int Cla_amount;
int Exp_amount;
int score;
char Name[30];
char Character[30];
char Date[30];
}lesson[10];
void menu_select()
{
system(cls);
printf(***************Menu***************\n);
printf( 学生选修课系统\n);
printf( 1.课程信息录入\n);
printf( 2.课程信息浏览\n);
printf( 3.课程信息查询\n);
printf( 4.课程信息编辑\n);
printf( 5.退出\n);
printf(*************** * ****************\n);
printf(请选择: );
}
void fileopen()
{
FILE *fp;
int n;
if((fp=fopen(data,r+))==NULL)
fp=fopen(data,w+);
for(n=0;n10;n++)
fread(lesson[n],sizeof(struct Lesson),1,fp);fread(id,4,1,fp);fclose(fp);
}
void filesave()
{
int n;
FILE *fp;
fp=fopen(data,r+);
for(n=0;n10;n++)
fwrite(lesson[n],sizeof(struct Lesso
文档评论(0)