欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    本科毕业设计论文数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题.docx

    • 资源ID:11778278       资源大小:156.21KB        全文页数:36页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    本科毕业设计论文数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题.docx

    1、本科毕业设计论文数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题山东建筑大学课 程 设 计 成 果 报 告题 目: 1.数组实现两个矩阵的相乘运算 2. 成绩分析问题课 程: 数据结构A课程设计院 (部): 管理工程学院专 业: 信息管理与信息系统 班 级: 信管*学生姓名: *学 号: *指导教师: *完成日期: 2016年12月29日目录目录 2一、课程设计概述 3二、课程设计题目一 3用数组实现两个矩阵的相乘运算 32.1问题描述 32.2要求及提示: 42.3详细设计 42.4调试分析 52.5运行结果及分析 6三、课程设计题目二 6成绩分析问题 63.1问题描述 63.

    2、2概要设计 73.3存储结构 73.4流程图 73.5详细设计 83.6调试分析 83.7运行结果及分析 22四、参考文献: 25一、课程设计概述本次数据结构课程设计共完成两个题:用数组实现两个矩阵相乘运算、成绩分析问题。使用语言:C编译环境:vc6.0二、课程设计题目一用数组实现两个矩阵的相乘运算2.1问题描述 #include “stdio.h” int r66; void mult(int a66 , int b66) main() int i,j; int num166,num266; printf(“请输入第一个矩阵的值:”,); for(i=1;i=6;i+) for(j=1;j=

    3、6;j+) scanf(“%d”,&num1ij); printf(“请输入第二个矩阵的值:”,); for(i=1;i=6;i+) for(j=1;j=6;j+) scanf(“%d”,&num2ij); mult(num1,num2); printf(“n两个矩阵相乘后的结果为:”); for(i=1;i=6;i+) for(j=1;j=6;j+) printf(“%4d”,rij); printf(“n”);2.2要求及提示:1、 要求完善函数mult( ),2、 现有A,B两个矩阵,要求用上述程序求出A与B相乘后的运行结果, 4 1 3 6 9 0 3 1 0 1 2 4 7 3 1

    4、4 2 1 1 3 1 0 5 2 0 1 0 2 9 1 1 9 2 1 3 0A= 4 1 0 2 6 0 B= 9 1 2 4 0 0 1 2 1 0 1 5 3 0 0 1 0 1 3 0 0 5 1 2 2 1 0 6 8 92.3详细设计#include int r66;/得到的结果矩阵 void mult(int a66 , int b66) int i,j; int k; int sum; for (i = 0; i 6; i+) for (j = 0; j 6; j+) sum = 0; for (k = 0; k 6; k+) sum += aik*bkj; rij = s

    5、um; main() int i,j; int num166,num266; printf(请输入第一个6*6矩阵的值:n); for(i=0;i6;i+) for(j=0;j6;j+) scanf(%d,&num1ij); printf(请输入第二个6*6矩阵的值:n); for(i=0;i6;i+) for(j=0;j6;j+) scanf(%d,&num2ij); mult(num1,num2); printf(n两个矩阵相乘后的结果为:n); for(i=0;i6;i+) for(j=0;j6;j+) printf(%4d ,rij); printf(n); 2.4调试分析 问题一:

    6、现象:输入的时候输入七行共42个数据才到下一个矩阵的输入 原因:在scanf的时候,scanf(%d,&num2ij);%d后面多了一个空格2.5运行结果及分析 三、课程设计题目二成绩分析问题3.1问题描述 录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。需求分析 1.通过键盘输入各学生的多门课程的成绩,建立相应的文件input.dat 2.对文件input.dat中的数据进行处理,要求具有如下功能: a.按各门课程成绩排序,并生成相应的文件输出 b.计算每人的平均成绩,按平均成绩排序,并生成文件 c.求出各门课程的平均成绩、最高分、最低分、不及格人数、 6069分人数、7079分人数

    7、、8089分人数、90分以上人数 d.根据姓名或学号查询某人的各门课成绩,重名也要能处理 3.界面美观测试数据学号姓名数学英语计算机001王放787790002张强896788003李浩566678004黄鹂兵898685005李浩678876006陈利风455467007尚晓7876703.2概要设计-=ADT=-void menu();/菜单void show(student stu,int n);/显示学生数据void readFile(student stu,int n);/读取数据void math(student stu,int n);/对数学成绩排序void english(st

    8、udent stu,int n);/对英语成绩排序void computer(student stu,int n);/对计算机成绩排序void average(student stu,int n);/对平均成绩排序int degree(int num);/等级分级void scoreAnalyse(student stu,int n);/成绩分析void search_no(student stu,int n);/按照学号查找void search_name(student stu,int n);/按照姓名查找void closeSystem();/关闭程序) 3.3存储结构typedef s

    9、truct char no12;/学号 char name16;/姓名 int math;/数学成绩 int english;/英语成绩 int computer;/计算机成绩 int average;/平均成绩 student;3.4流程图NY3.5详细设计#include#include#define N 7static int num=0;/已录入的学生人数static int select=0;/输入选择的菜单项typedef struct char no12;/学号 char name16;/姓名 int math;/数学成绩 int english;/英语成绩 int comput

    10、er;/计算机成绩 int average;/平均成绩 student;student stuN;/定义结构体数组student studN;/备份结构体数组用来排序/*菜单等方法的原型声明*void menu();/菜单void show(student stu,int n);/显示学生数据void writeFile(student students,int n);/写入学生数据void readFile(int n);/读取学生数据void math(student stu,int n);/对数学成绩排序void english(student stu,int n);/对英语成绩排序vo

    11、id computer(student stu,int n);/对计算机成绩排序void average(student stu,int n);/对平均成绩排序int degree(int num);/等级分级void scoreAnalyse(student stu,int n);/成绩分析void search_no(student stu,int n);/按照学号查找void search_name(student stu,int n);/按照姓名查找void closeSystem();/关闭程序/*主函数*void main() /定义学生体,存放键盘输入的学生信息 student

    12、studentsN; /向文件输入学生的数据 writeFile(students,7); /从文件读取学生数据 readFile(7); while(1) menu(); /输入菜单项 scanf(%d,&select); switch(select) case 1:math(stu,7);break; case 2:english(stu,7);break; case 3:computer(stu,7);break; case 4:average(stu,7);break; case 5:scoreAnalyse(stu,7);break; case 6:search_no(stu,7);

    13、break; case 7:search_name(stu,7);break; case 8:show(stu,N);break; case 0:closeSystem();break; default:printf(错误的数据 n); /*写入学生数据*void writeFile(student students,int n) int i; FILE *fi; /键盘输入学生的成绩 for(i=0;in;i+) printf(输入第%d个学生的学号,姓名,数学成绩,英语成绩,计算机成绩: ,i+1); scanf(%s %s %d %d %d,&stui.no,&stui.name,&st

    14、ui.math,&stui.english,&puter); fi=fopen(D:VC6.0VC+6.0testinput.dat,wb);/以只写方式打开或新建一个二进制文件,只允许写数据。 if(fi=NULL) printf(打开input.dat文件失败n); exit(1);/exit(0)表示异常退出,exit(1)表示异常退出. for(i=0;in;i+) /将学生的成绩写入input.dat文件 fwrite(&studentsi,sizeof(student),1,fi); printf(数据写入成功n); /* *文件操作完成后,需要将文件关闭,一定要注意,否则会造成文

    15、件所占用内存泄露和在下次访问文件时出现问题。 *文件关闭后,需要将文件指针指向空,这样做会防止出现游离指针,而对整个工程造成不必要的麻烦,如fp = NULL。 */ fclose(fi);/必须有,不然只能保存在缓冲区,数据不能存入 system(pause);/等待用户按一个键,然后返回/*读取学生数据*void readFile(int n) int i; FILE *fi; fi=fopen(D:VC6.0VC+6.0testinput.dat,rb);/以只读方式打开或新建一个二进制文件,只允许读取数据。 if(fi=NULL) printf(打开input.dat文件失败n); e

    16、xit(1); for(i=0;in;i+) fread(&stui,sizeof(student),1,fi); printf(读取input.dat文件成功n);/*菜单*void menu() printf(-n); printf(-欢迎进入学生成绩分析系统,输入相应的序号实现功能-n); printf(-成绩分析菜单-n); printf( 0-退出系统n); printf( 1-按数学成绩排序,并生成相应的文件输出n); printf( 2-按英语成绩排序,并生成相应的文件输出n); printf( 3-按计算机成绩排序,并生成相应的文件输出n); printf( 4-按平均成绩排序

    17、,并生成文件n); printf( 5-各科成绩分布n); printf( 6-按学号查询n); printf( 7-按姓名查询n); printf( 8-显示新学生信息n); printf(-n);/*显示学生数据*void show(student stu,int n) int i;/ system(cls);/清屏 printf(-学生成绩-n); printf(t学号|t姓名|t数学|t英语|t计算机 n); for(i=0;in;i+) printf(t%s|t%s|t%d|t%d|t%d| n,stui.no,stui.name,stui.math,stui.english,put

    18、er); printf(-n); system(pause);/等待用户按一个键,然后返回/*按数学成绩排序*void math(student stu,int n) FILE *fm; int i=0; int k,j; student t;/排序时用来当做临时变量 for(i=0;in;i+) studi=stui; fm=fopen(D:VC6.0VC+6.0testmath.txt,wb);/以只写方式打开或新建一个二进制文件,只允许写数据。 if(fm=NULL) printf(打开math.txt文件失败n); exit(1); printf(打开math.txt文件成功n); f

    19、or(k=0;kn-1;k+)/数学成绩从小到大排序法 for(j=0;jstudj+1.math) t=studj; studj=studj+1; studj+1=t; printf(*按数学成绩排序*n); printf(t学号|t姓名|t数学|t英语|t计算机| n); fprintf(fm,t%st%st%st%st%s n,no,name,math,english,computer); for(i=0;in;i+) printf(t%s|t%s|t%d|t%d|t%d| n,studi.no,studi.name,studi.math,studi.english,puter); fp

    20、rintf(fm,t%st%st%dt%dt%d n, studi.no,studi.name,studi.math,studi.english,puter);/将学生排序后的信息写入 printf(-按数学成绩排序已录入-n); fclose(fm); system(pause);/*按英语成绩排序*void english(student stu,int n) FILE *fe; int i=0; int k,j; student t;/排序时用来当做临时变量 for(i=0;in;i+) studi=stui; fe=fopen(D:VC6.0VC+6.0testenglish.txt,

    21、wb);/以只写方式打开或新建一个二进制文件,只允许写数据。 if(fe=NULL) printf(打开english.txt文件失败n); exit(1); printf(打开english.txt文件成功n); for(k=0;kn-1;k+)/英语成绩从小到大排序法 for(j=0;jstudj+1.english) t=studj; studj=studj+1; studj+1=t; printf(*按英语成绩排序*n); printf(t学号|t姓名|t数学|t英语|t计算机| n); fprintf(fe,t%st%st%st%st%s n,no,name,math,english

    22、,computer); for(i=0;in;i+) printf(t%s|t%s|t%d|t%d|t%d| n,studi.no,studi.name,studi.math,studi.english,puter); fprintf(fe,t%st%st%dt%dt%d n, studi.no,studi.name,studi.math,studi.english,puter);/将学生排序后的信息写入 printf(-按英语成绩排序已录入-n); fclose(fe); system(pause);/*按计算机成绩排序*void computer(student stu,int n) FI

    23、LE *fc; int i=0; int k,j; student t;/排序时用来当做临时变量 for(i=0;in;i+) studi=stui; fc=fopen(D:VC6.0VC+6.0testcomputer.txt,wb);/以只写方式打开或新建一个二进制文件,只允许写数据。 if(fc=NULL) printf(打开computer.txt文件失败n); exit(1); printf(打开computer.txt文件成功n); for(k=0;kn-1;k+)/计算机成绩从小到大排序法 for(j=0;jstudj+puter) t=studj; studj=studj+1; studj+1=t; printf(*按计算机成绩排序*n); printf(t学号|t姓名|t数学|t英语|t计算机| n); fprintf(fc,t%st%st%st%st%s n,no,name,math,english,computer)


    注意事项

    本文(本科毕业设计论文数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开