ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:116.04KB ,
资源ID:2864618      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2864618.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(C语言专业课程设计方案报告学生选修课程标准管理系统.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言专业课程设计方案报告学生选修课程标准管理系统.doc

1、目 录 1程序目标及功效- 11.1课题背景-21.2系统功效 -21.3设计要求 -32程序功效模块组成及步骤图 -32.1系统功效模块-52.2各模块步骤图-63程序关键数据结构及函数列表 -83.1 程序中使用数据结构-83.2 函数列表-104程序代码及运行结果 -125总结和体会 -15 1、 程序目标及功效1.1、课题背景当今社会是一个信息时代,计算机技术发展快速,同时信息自动处理和网络式信息交互方法越来越被大家认可和利用,让计算机来管理学生信息是现在各个高校全部在主动进行工作之一,也是高校教学管理工作关键内容之一。网上选课和传统选课方法相比更节省资源,同时,伴随学生选课自主权增加

2、,网上选课有效避免了很多不良现象,使教学愈加透明。1.2、系统功效课程信息录入。建立课程信息链表,由键盘输入课程信息。课程信息输出。输出全部课程信息。查询课程。按课程编号、课程名称、学分、按课程性质、开课学期等查询(最少实现1种)。学生选修课程。输入学生学号和课程编号,形成一条选课信息,保留在“选修信息文件”里。查询学生选修课程。输入学生学号,输出该生已选修课程编号和课程名称。保留课程信息到磁盘文件。建立一个磁盘文件,把所建立课程表写入文件。从磁盘文件中读出课程信息。1.3、设计要求假定有n门课程,每门课程有课程编号、课程名称、课程性质(专业选修课、公选课)、总课时、总学分、理论课时、试验课时

3、、开课学期、已选修本课程学生人数等信息;每门课最多许可60个学生选修。选修信息文件,用来保留每个学生选修课程信息,每条统计包含:学生学号、所选修课程编号和课程名称。系统以菜单方法工作(程序主界面包含程序名称及编程者学号、姓名、班级;同时要求输入功效号码,选择进入功效模块程序)。用函数分别实现动态链表建立、动态链表输出等功效。界面友好,程序中加入必需注释。函数功效要划分好(结构化程序设计);函数要求使用指针作形参。学生选修一门课后,要同时更新课程信息和选修信息文件。2、 程序功效模块组成及步骤图2.1系统功效模块依据设计要求分为8个模块,分别是:1: 创建课程信息:课程信息录入,建立课程信息链表

4、,有键盘输入课程信息。2: 课程信息输出:输入全部课程信息。3: 查询课程信息:按课程编号、课程名称、课程性质、学分、开课学期等查询(此程序按课程编号实现)。4: 学生选修课程:输入学生学号和课程编号,形成一条选课信息,保留在“选修信息文件”里。5: 查询学生选修课程:输入学生学号,输入该省已选修课程编号和课程名称。6: 保留课程信息到磁盘:建立磁盘文件,把所建立课程表写入文件。7: 从磁盘文件中读出课程信息:从磁盘文件中读出课程信息并输出,显示主界面。8: 退出:结束程序,退出系统。2.2各模块步骤图课程信息录入功效模块课程信息输出课程信息输出按学号查询选课,保留信息信息保留和读出选课信息管

5、理系统选择模块创建课程信息docp1=(struct stu*)malloc(sizeof(struct stu);if(i=1) chead=cp2=cp1;else cp2-next=cp1;scanf(%d %s,&cp1-num,&cp1-name);scanf(%s %d %d %d,&cp1-quale,&cp1-time,&cp1-credit,&cp1-thtime);scanf(%d %d %d,&cp1-extime,&cp1-term,&cp1-alnum);cp2=cp1;fflush(stdin); /刷新scanf()函数缓冲,预防自动循环i+; while(am=

6、i);cp2-next=NULL;学生选课int snum;struct stu*head,*p1;p1=p;printf(请输入学生学号:);scanf(%d,&snum);printf(输入课程编号:);scanf(%d,&num);doif (p1-num=num)FILE*fp;fp=fopen(选修信息文件.txt,w);fprintf(fp,学生学号 课程编号 名称 性质 总课时 总学分 理论课时 试验课时 开课学期 已修本课人数n);fprintf(fp,%dt%dt%st%st%dt%dt%dt%dt%dt%d,snum,p1-num,p1-name,p1-quale,p1-t

7、ime,p1-credit,p1-thtime,p1-extime,p1-term,p1-alnum);fclose(fp);printf(已保留至“选修信息文件.txt”n);else p1=p1-next;while(p1=NULL);3、程序关键数据结构及函数列表3.1 程序中使用数据结构链表使用struct stu /申明结构体类型struct studentint num; /课程编号char name20; /课程名称char quale10; /课程性质int time; /总课时int credit; /总学分int thtime; /理论课时int extime; /试验课时

8、int term; /开课学期int alnum; /已选本课程学生人数struct stu*next;3.2 函数列表struct stu * creat(int am); / 创建链表,录入课程信息 void output(struct stu *p); /申明输入课程信息函数,按课程编号查询void inquire(struct stu*p,int n); /申明查询课程函数void stu_classes(struct stu*p,int num); /申明保留文件函数void inquire_stu(struct stu*p,int numb); /查询学生选课信息 void sav

9、e_inf(struct stu*p); /申明保留课程信息函数void read_inf(struct stu*p); /申明读出课程信息函数void reset(); /申明清除界面函数4、 程序代码及运行结果程序代码:#include#include#include#define NULL 0#define N 2 /定义共5门课程struct stu /申明结构体类型struct studentint num; /课程编号char name20; /课程名称char quale10; /课程性质int time; /总课时int credit; /总学分int thtime; /理论课

10、时int extime; /试验课时int term; /开课学期int alnum; /已选本课程学生人数struct stu*next;int main(void)struct stu * creat(int am); / 创建链表,录入课程信息 void output(struct stu *p); /申明输入课程信息函数,按课程编号查询void inquire(struct stu*p,int n); /申明查询课程函数void stu_classes(struct stu*p,int num); /申明保留文件函数void inquire_stu(struct stu*p,int n

11、umb); /查询学生选课信息 void save_inf(struct stu*p); /申明保留课程信息函数void read_inf(struct stu*p); /申明读出课程信息函数void reset(); /申明清除界面函数struct stu *head;int M,n,num,numb,fail;loop:printf(n);printf(*学生选修课程系统*n);printf( 学号:* 姓名:* 班级:* n );printf(n);printf(*n);printf(*tt1: 创建课程信息表 *n);printf(*tt2: 课程信息输出 *n);printf(*tt

12、3: 查询课程信息 *n);printf(*tt4: 学生选修课程 *n);printf(*tt5: 查询学生选修课程 *n);printf(*tt6: 保留课程信息到磁盘 *n);printf(*tt7: 从磁盘文件中读出课程信息 *n);printf(*tt8: 退出 *n); /菜单形式主界面printf(*n);printf(nntt请输入功效号 1-8:); /提醒输入功效号scanf(%d,&M); if (M=1)if (fail=1) /判定是否创建列表printf(已经创建列表,请选择其它功效!n);goto loop; /返回初始界面else head=creat(N);

13、/使用列表,录入信息fail=1;/reset(); /清除界面else if (M=2)if(fail=1) /判定是否创建列表output(head);reset(); /输入信息,清除界面else printf(没有数据,请先录入信息!n);goto loop; /返回初始界面else if (M=3)if (fail=1) /判定是否创建列表inquire(head,n);reset(); /查询信息函数,清除界面else printf(没有数据,请先录入信息!n);goto loop; /返回初始界面else if (M=4)if(fail=1)stu_classes(head,nu

14、m);reset(); /形成信息并保留,清除界面else printf(没有数据,请先录入信息!n);goto loop; /返回初始界面else if (M=5)if(fail=1)inquire_stu(head,numb); /查询信息fail=2;reset(); /清除界面else printf(没有数据,请先录入信息!n);goto loop; /返回初始界面else if (M=6)if (fail=2)save_inf(head); /保留文件fail=3;reset(); /清除界面else printf(没有选课,请先选课!n);goto loop; /返回初始界面els

15、e if (M=7)if (fail=1|fail=2|fail=3)read_inf(head);reset();else printf(没有数据,请先录入信息!n);goto loop; /返回初始界面elseif (M=8)exit(0); /退出程序else printf(输入错误n); /错误提醒goto loop; /转至功效号输入return 0;struct stu * creat(int am) /创建链表int i=1;am=N;struct stu *cp1,*cp2,*chead;printf(t请输入以下信息:(名称和性质请输入小写字母,其它均为数字)n);print

16、f(课程编号 名称 性质 总课时 总学分 理论课时 试验课时 开课学期 已修本课人数:);printf(n);docp1=(struct stu*)malloc(sizeof(struct stu);if(i=1) chead=cp2=cp1;else cp2-next=cp1;scanf(%d %s,&cp1-num,&cp1-name);scanf(%s %d %d %d,&cp1-quale,&cp1-time,&cp1-credit,&cp1-thtime);scanf(%d %d %d,&cp1-extime,&cp1-term,&cp1-alnum);cp2=cp1;fflush(

17、stdin); /刷新scanf()函数缓冲,预防自动循环i+; while(am=i); cp2-next=NULL;return (chead);void output(struct stu *p) /定义输出信息函数int i;struct stu *p1;p1=p;printf(编号 名称 性质 总课时 总学分 理论课时 试验课时 开课学期 已修本课人数n);for (i=1;p1!=NULL;i+)printf(%d %s %st%dt%dt%dt%dt%dt%d,p1-num,p1-name,p1-quale,p1-time,p1-credit,p1-thtime,p1-extim

18、e,p1-term,p1-alnum);printf(n);p1=p1-next;void inquire(struct stu*p,int n) /定义查询信息函数printf(输入要查询编号:);scanf(%d,&n);struct stu *p1;p1=p;printf(您所查询信息是:n);do if (p1-num=n)printf(编号 名称 性质 总课时 总学分 理论课时 试验课时 开课学期 已修本课人数n);printf(%d %s %st%dt%dt%dt%dt%dt%d,p1-num,p1-name,p1-quale,p1-time,p1-credit,p1-thtime

19、,p1-extime,p1-term,p1-alnum);printf(n);p1=p1-next;else p1=p1-next;while(p1!=NULL);void stu_classes(struct stu*p,int num) /定义学生选课信息函数,并保留至选修信息文件.txtint snum;struct stu*head,*p1;p1=p;printf(请输入学生学号:);scanf(%d,&snum);printf(输入课程编号:);scanf(%d,&num);doif (p1-num=num)FILE*fp;fp=fopen(选修信息文件.txt,w);fprintf

20、(fp,学生学号 课程编号 名称 性质 总课时 总学分 理论课时 试验课时 开课学期 已修本课人数n);fprintf(fp,%dt%dt%st%st%dt%dt%dt%dt%dt%d,snum,p1-num,p1-name,p1-quale,p1-time,p1-credit,p1-thtime,p1-extime,p1-term,p1-alnum);fclose(fp);printf(已保留至“选修信息文件.txt”n);else p1=p1-next;while(p1=NULL);void inquire_stu(struct stu*p,int numb) /定义查询学生信息函数int

21、 snum;printf(请输入学号:);scanf(%d,&snum);struct stu*head,*p1;p1=p;printf(学号 课程编号 课程名称n);printf(%dt%dt%s,snum,p1-num,p1-name);printf(n);void save_inf(struct stu*p) /定义保留课程信息文件int i;struct stu *p1,*head;p1=p;FILE*fp;fp=fopen(课程信息.txt,w);for (i=0;p1!=NULL;i+)fprintf(fp,课程编号 名称 性质 总课时 总学分 理论课时 试验课时 开课学期 已修本

22、课人数n);fprintf(fp,%dt%st%st%dt%dt%dt%dt%dt%dn,p1-num,p1-name,p1-quale,p1-time,p1-credit,p1-thtime,p1-extime,p1-term,p1-alnum);p1=p1-next;fclose(fp); printf(已保留至“课程信息.txt”n);void read_inf(struct stu*p) /定义读出课程信息函数int i;struct stu *p1,*head;p1=p;FILE*fp;if (fp=fopen(课程信息.txt,r)=NULL)printf(无法打开文件n);pri

23、ntf(请先建立文件n);for (i=1;p1!=NULL;i+)fread(&p,sizeof(head),1,fp);printf(%d %s %st%dt%dt%dt%dt%dt%dn,p1-num,p1-name,p1-quale,p1-time,p1-credit,p1-thtime,p1-extime,p1-term,p1-alnum);p1=p1-next;fclose(fp);void reset() /定义清楚界面函数printf(按任意键继续);getch();system(CLS);各阶段运行结果:主界面输出:数据输入:数据输出:查询信息 :选课并保留:保留文件:查询选

24、课信息:保留课程信息:保留文件:读取以保留文件:错误提醒:5、 总结和体会这次课程设计试验是对我们进入大学以来学习C语言结果一次大考验。自己动手,发觉问题和处理问题。并发觉了很多自己不足,平时没掌握知识在实践中暴漏,经过不停思索,查阅书籍和上网查资料及上机运行,处理了大部分问题,还稍微有些小问题。不过,我相信经过深入学习,一定能把它处理好。当今计算机应用在生活中能够说得是无处不在。所以作为二十一世纪大学来说掌握程序开发技术是十分关键,而C语言又是最常见,功效最强大一个高级语言,所以做好C语言课程设计是十分必需。我不仅巩固C语言程序设计课程学习内容,掌握设计基础方法,强化上机动手能力,还深入掌握以下了知识:数据类型、循环控制、函数定义及调用、结构体及指针、文件操作、编译预处理等;经过课程设计,增强了自己动手能力,有了这次成功设计,给了我极大信心,在以后学习中会愈加认真,努力。经过这次课程设计使我们知道了理论和实际相结合是很关键,只有理论知识是远远不够,只有把所学理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提升自己实际动手能力和独立思索能力。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服