ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:230.04KB ,
资源ID:12024357      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

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

注意事项

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

C语言课程设计模板.doc

1、 《高级语言程序设计》 课程设计报告 姓 名: 熊丹 学 号: 11058224 专 业: 电子信息科学与技术 实 验 室: 2602 设计时间: 2012 年 07月 09日 —— 2012 年 07 月 11 日 评定成绩: 指导教师: 朱智林 目 录 一、 课程设计的目的 3

2、 二、 设计的内容与要求 3 三、 总体设计 3 四、 详细设计 4 五、 调试与测试 15 六、 课程设计的总结 17 在本次的课程设计中,我主要负责搜集相关资料,和罗丹丹一起修改了程序,调试了程序中的几处错误, 程序在运行过程中还是比较顺利的,并没有出现什么无法解决的的问题。 对于流程图我主要负责的有:输入数据函数、显示数据函数、插入数据函数、删除数据函数、查找数据函数。 此外负责了课程设计报告的撰写。 一、 课程设计的目的 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软

3、件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 二.设计的内容与要求 学生纪录用文件存储,因而要提供文件的输入输出操作;要实现插入一个新的学生纪录,因而要提供文件的插入操作;要实现学生纪录得修改和删除,以及登记成绩和修改成绩,因而要提供文件纪录的修改和删除操作;要浏览全班成绩,故要提供显示操作;计算学生总成绩需要提供简单的统计操作;要按学号排序输出全班成绩表,因而要提供排序操作;另外要提供键盘式选择菜单以实现功能选择。 三. 总体设计 (1)整个成绩管理系统设计分为11个模块: 1.录入学员信息2.显示学员

4、信息3.成绩排序信息4.添加学员信息5.删除学员信息6.修改学员信息7.查询学员信息8.从文件读入学员信息9.删除文件中学员信息10.保存学员信息11.退出 (2)算法描诉(此程序中所包含的函数) 1.主函数main():定义学生结构体数组,调用录入,统计等函数对成绩表进行处理。 2.输入数据函数input():输入学生姓名,性别,学号,成绩1,成绩2,成绩3以及成绩的排序,平均值和总和。 3.排序函数sort():对总成绩进行排序,按有多到少的顺序。 4.显示数据函数display():显示各个学生的总成绩 5.插入数据函数insert():插入新的同学的成绩,需要输入新同学的姓

5、名,学好,性别。 6.删除数据函数del():由于各种原因,删除某些同学的成绩,这也需要这位同学的姓名,学好,性别。 7.平均值函数average():求各个同学总成绩的平均值。 8.查询数据函数find():查找某位同学的成绩,同样需要这位同学的姓名,学号,性别。 9.保存数据函数save():再一次打开界面是,仍有上次所找的讯息。 10.读出数据函数read():可以读到所有的信息。 11.删除文件函数del_file():删除某个文件的函数,这需要知道该文件的路径。 12.修改文件函数modify():修改文件中的信息,这同样需要文件的路径。 四.详细设计 数据

6、的组织描述(比如主要的变量类型,结构体等等),模块之间的参数设计(接口设计,模块的功能说明),系统控制流程图,各个模块的流程图,采用的算法 数据结构采用结构体,设计学生纪录结构体: struct student { int no; //学号 char name[20];//姓名 char sex[4];//性别 float score1;//成绩1 float score2;//成绩2 float score3;//成绩3 float sort;//排序成绩 float ave;//平均分 float sum;//总分 }; (1)主函

7、数输出提示菜单:插入学生纪录 修改学生纪录 删除学生纪录 登记成绩 修改成绩 浏览学生纪录 查看总成绩 查看成绩表 (2)数据插入模块 采用追加的方式把学生成绩信息写入学生成绩信息文件。 (3)数据修改模块 通过菜单选择修改学生纪录,打开该文件,从文件中读一条记录,判断是否要修改,如果是,则修改后重新写入文件;否则直接重新写入文件,读下一条记录。 (4)数据删除模块 通过菜单选择删除学生纪录,打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。 (5)成绩登记模块 类似数据修改模块,只是修

8、改字段为各个科目的成绩。 (6)成绩修改模块 参考数据修改模块。 (7)数据浏览模块 读取学生成绩信息文件,显示输出。 (8)成绩统计模块 从学生成绩信息文件中读取一个学生纪录,计算该学生的总成绩(简单的成绩相加),输出,然后读取下一条纪录。 (9)成绩表查看模块 建立结构体数组 Struct { SR record; //学生纪录 Float total; //总成绩 }stu[N]; 从学生成绩信息文件中读取各个纪录,total中存放计算得到的总成绩。然后采用排序算法(冒泡、插入、选择等)对数组按照总成绩

9、进行排序。最后顺序输出。 int i=0 char ch i=i+1 输入学 生学号 输入学 生姓名 输入学 生性别 输入学生 成绩1 输入学生 成绩2 input函数 输入学生 成绩3 是否继续 Y 输入 N ch=getchar() 结束 sort函数 i=1 i<=n-1? ? Min=s[i],j=i+1 ji? temp=s[i] S[i]=s[min] S[min]=te

10、mp i=i+1 display函数 int I,char as 输出stu[i]学号姓名性别成绩1成绩2成绩3平均值 i=0 i

11、入学生成绩2 输入学生成绩3 insert函数 now_no=now_no+1 是否继续输入Y N ch=getch() while(ch=’n’&&ch!=’N’) Y 结束 .del函数 unsigned long inum int i=0 输入要删除学生的学号 输入 i

12、结束 i=0 输入成绩1,成绩2,成绩3 总成绩=成绩1+成绩2+成绩3 平均成绩=总成绩/3 i=i+1 i>n? 否 是 输出平均成绩 结束 average函数 find函数 int i char str[20],as 输入要查询的学生姓名 gets[str] i=0 i

13、s) Y system(“cls”) 结束 save函数 i=0 输入要保存的文件路径 是否能打开文件?否 是 输入成绩1,成绩2,成绩3 总成绩=成绩1+成绩2+成绩3 平均成绩=总成绩/3 输出得到学生的基本信息:姓名,性别,学号,成绩1,成绩2,成绩3,平均成绩。 i=i+1 i>n? 否 是 保存成功,关闭文件 保存失败! 退出该功能,返回主菜单,继续选择 read函数 i=0 输入要读入的文件路径 是否能打

14、开文件?否 是 输入成绩1,成绩2,成绩3 总成绩=成绩1+成绩2+成绩3 平均成绩=总成绩/3 读出学生的基本信息:姓名,性别,学号,成绩1,成绩2,成绩3,平均成绩。 i=i+1 i>n? 否 是 保存的在文件中的所有信息已经读入,,关闭文件 找不到文件! 退出该功能,返回主菜单,继续选择 结束 删除文件函数流程图 打开文件 显示出来文件中的所用信息 保存的在文件中的所有信息已经删除 退出该功能,返回主菜单,继续选择。 按要求输入要删除的文件路径

15、 修改文件函数流程图 输入要修改的学生姓名 得到该生的学号,性别,成绩1,成绩2,成绩3. 按要求修改 得到新的学生信息 退出该功能,返回主菜单,继续选择。 五.调试与测试 调试 1.在编程当中,由于要输入大量的程序,所以经常出现很多不让人注意的小错误。 例如大小写 int写成Int(因为是在word中写的,会自动将字母大写) 2.关系运算符和赋值运算符总是用错,而这种错误也总是被忽略。 3.有时候会忘记加分号或是在不该加的地方加上了分号。不过这种情况还是比较容易被发现的。 4.有时候大括号也会忘加,尤其是在if语句

16、和for语句中。 5.最重要的是函数的应用,函数应该应用得当,否则程序会出现很大的错误,尤其是在如此庞大的程序中。 测试 开始界面 菜单 六.课程设计的总结 通过这个课程设计,我们更加牢固的掌握了书本上的知识。并对于以前不熟悉的知识有了更加深刻的了解。在完成此次课程设计的过程中,虽然有些疲劳和困倦,但带给我很多的收获。C语言已经学

17、了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。 很多程序理论上说得过去,但真正上机了却会发现行不通。所以说无论做什么事空有理论而不去实践都收获不到真正的果实。 说实话,我这个程序在所有程序当中算是简单的,所包含的知识也就是调用函数和结构体,当中穿插了一些排序算法,总体来说结构还是很清晰的,由各个模块小模块组成了一个管理系统。但过程中也是遇到了不少的麻烦,很多地方都想不到或是想不全的。所以说对待任何事情我们都不容小觑,一件自己没做过的事谁都不能说你就一定能做好了。 输入和调试程序的过程是相当枯燥的,但构思和完善程序的过程还是比较有趣的,无论怎样,

18、当你完成了一个程序时,还是相当有成就感的。 此次任务的完成,也体现出同学之间的团结精神。实践是检验真理的唯一标准。没有实践,就不会发现和深刻体会它的真实所在。只有通过检验的真理,在自己的心里,才会认可它的真实性。面向对象程序设计的完成,使我们懂得了真理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识。同时培养了我们的团队精神,使我我们懂得了团队的重要性。在今后的学习工作中我们将会更好的发挥团队精神。 总的来说,C语言还是十分有趣的,可以通过人为的设计而让电脑来辅助性的做一些机械的东西。在今后的学习过程中,我也加更加认真地学习C语言,希望能在今后设计出一个属于自己的程序。

19、 参考书目:(五号,宋体加粗) [1] 谭浩强,《C语言程序设计》(第四版)[M],清华大学出版社,2008年 (要求:五号字,宋体,单倍行距。按作者、书名、出版社、出版时间格式逐一列出,中间用逗号格开) 附录: 程序清单 #include #include /*清屏*/ #include /*显示目录*/ #include #define MAX 1000 void input(); /*输入数据函数*/ void sort();/*排序数据函数*/ void d

20、isplay();/*显示数据函数*/ void insert(); /*插入数据函数*/ void del(); /*删除数据函数*/ void average(); /*平均值函数*/ void find();/*查找数据函数*/ void save(); /*保存数据函数*/ void read(); /*读出数据函数*/ void del_file(); /*删除文件函数*/ void modify(); /*修改文件函数*/ int now_no=0; struct student { int no; char name

21、[20]; char sex[4]; float score1; float score2; float score3; float sort; float ave; float sum; }; struct student stu[MAX],*p; void main()/*主函数*/ { int as; char ch; do{ printf("\n\n\n\n\t\t___︵︵︿︿︿︿︿﹀︿﹀O(∩_∩)O﹀︿﹀︿︿︿︿︿︵︵___"); start: printf("\

22、n\n\n\n\n\t\t ---★你好 欢迎使用学生成绩管理系统!★---\n"); printf(“\n\n\n\t\t\t\t编程者: 熊丹 罗丹丹\t\t\t\t\t\n\n”); printf("\n\n\n\n\t\t ******************按任意键继续*******************"); ch=getch(); } while(!ch); system("cls"); /*一下为功能选择模块*/ do { printf("

23、\n\t\t\t\t1.录入学员信息\n\t\t\t\t2.显示学员信息\n\t\t\t\t3.成绩排序信息\n\t\t\t\t4.添加学员信息\n\t\t\t\t5.删除学员信息\n\t\t\t\t6.修改学员信息\n\t\t\t\t7.查询学员信息\n\t\t\t\t8.从文件读入学员信息\n\t\t\t\t9.删除文件中学员信息\n\t\t\t\t10.保存学员信息\n\t\t\t\t11.退出\n"); printf("\t\t\t\t选择功能选项(输入所选功能前的数字):"); fflush(stdin); /*可用可不用,用于清除缓存防止下次用s

24、canf输入是出现错误*/ scanf("%d",&as); switch(as) { case 1:system("cls"); input(); break; case 2:system("cls"); display(); break; case 3:system("cls"); sort(); break;

25、 case 4:system("cls"); insert(); break; case 5:system("cls"); del(); break; case 6:system("cls"); modify(); break; case 7:system("cls"); find();

26、 break; case 8:system("cls"); read(); break; case 9:system("cls"); del_file(); break; case 10:system("cls"); save(); break; case 11:system("exit");

27、 exit(0); default:system("cls"); goto start; } }while(1);/*while(1),1表示真,所以while(1)表示永远循环下去, */ /*至此功能选择结束*/ } void input()/*原始数据录入模块*/ { int i=0; char ch; do { printf("\t\t\t\t1.录入学员信息\n输入第%d个学生的信息\n",i+1); pri

28、ntf("\n输入学生学号:"); scanf("%u",&stu[i].no); fflush(stdin); printf("\n输入学生姓名:"); fflush(stdin); gets(stu[i].name); printf("\n输入学生性别:"); fflush(stdin); gets(stu[i].sex); printf("\n输入学生成绩1:"); sc

29、anf("%f",&stu[i].score1); printf("\n输入学生成绩2:"); fflush(stdin); scanf("%f",&stu[i].score2); printf("\n输入学生成绩3:"); fflush(stdin); scanf("%f",&stu[i].score3); printf("\n\n"); i++; now_no=i; pri

30、ntf("是否继续输入?(Y/N)"); fflush(stdin); ch=getch(); system("cls"); } while(ch!='n'&&ch!='N'); system("cls"); } void sort()/*排序数据函数*/ { struct student temp; int i,j; average(); for(i=1;i

31、ow_no-i;j++) { if(stu[j-1].ave

32、tem("cls"); } void sort1()/*排序数据函数*/ { struct student temp; int i,j; for(i=1;i

33、[j-1]; stu[j-1]=temp; } } } } void sort2()/*排序数据函数*/ { struct student temp; int i,j; for(i=1;i

34、 { temp=stu[j]; stu[j]=stu[j-1]; stu[j-1]=temp; } } } } void sort3()/*排序数据函数*/ { struct student temp; int i,j; for(i=1;i

35、 for(j=1;j<=now_no-i;j++) { if(stu[j-1].score3

36、play()/*显示数据函数*/ { int i; char as; average(); do { printf("\t\t\t班级学生信息列表\n"); printf("\t学号\t\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n"); for(i=0;i

37、i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); printf("\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(!as); system("cls"); } void insert()/*插入数据函数*/ { char ch; do { printf("\n\t\t输入新插入学生信息\n"); printf

38、"\n输入学生学号:"); scanf("%u",&stu[now_no].no); fflush(stdin); printf("\n输入学生姓名:"); fflush(stdin); gets(stu[now_no].name); printf("\n输入学生性别:"); fflush(stdin); gets(stu[now_no].sex); printf("\n输入学生成绩1:");

39、fflush(stdin); scanf("%f",&stu[now_no].score1); printf("\n输入学生成绩2:"); fflush(stdin); scanf("%f",&stu[now_no].score2); printf("\n输入学生成绩3:"); fflush(stdin); scanf("%f",&stu[now_no].score3); printf("\n\n"); now_no

40、now_no+1; sort(); printf("是否继续输入?(Y/N)"); fflush(stdin); ch=getch(); system("cls"); } while(ch!='n'&&ch!='N'); } void del()/*删除数据函数*/ {unsigned long inum; int i; printf("输入要删除学生的学号:"); fflush(stdin); scanf

41、"%u",&inum); for(i=0;i

42、 break; } } system("cls"); } void save()/*保存数据函数*/ { FILE *fp; int i; char filepath[20]; printf("输入要保存的文件路径:"); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"w"))==NULL) { printf("\n保存失败!");

43、 exit(0); } for(i=0;i

44、u[i].score2,stu[i].score3,stu[i].ave); } fclose(fp); printf("学生信息已保存在%s中!\n",filepath); system("pause"); system("cls"); } void find()/*查询函数*/ { int i; char str[20],as; do { printf("输入要查询的学生姓名:"); fflush(stdin);

45、 gets(str); for(i=0;i

46、score3,stu[i].ave); } printf("\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(!as); system("cls"); } void average()/*求平均数*/ { int i; for(i=0;i

47、].score3; stu[i].ave=stu[i].sum/3; } } void modify()/*修改数据函数*/ { int i; char str[20]; printf("输入要修改的学生姓名:"); fflush(stdin); gets(str); for(i=0;i

48、\n\t\t输入新插入学生信息\n"); printf("\n输入学生学号:"); fflush(stdin); scanf("%u",&stu[i].no); printf("\n输入学生性别:"); fflush(stdin); gets(stu[i].sex); printf("\n输入学生成绩1:"); fflush(stdin); scanf("%f",&stu[i].score1);

49、printf("\n输入学生成绩2:"); fflush(stdin); scanf("%f",&stu[i].score2); printf("\n输入学生成绩3:"); fflush(stdin); scanf("%f",&stu[i].score3); printf("\n\n"); sort(); break; } } system("cls"); } void read() {

50、 FILE *fp; int i; char filepath[20]; printf("输入要读入的文件路径:"); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"r"))==NULL) { printf("找不到%s文件!\n",filepath); system("pause"); exit(0); } now_no=0; for(i=0;i

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服