C语言选修课系统.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档