程序设计语言(C)综合实验报告(2015)电商.doc

上传人:doc321 文档编号:13026715 上传时间:2021-12-11 格式:DOC 页数:19 大小:92.50KB
返回 下载 相关 举报
程序设计语言(C)综合实验报告(2015)电商.doc_第1页
第1页 / 共19页
程序设计语言(C)综合实验报告(2015)电商.doc_第2页
第2页 / 共19页
程序设计语言(C)综合实验报告(2015)电商.doc_第3页
第3页 / 共19页
程序设计语言(C)综合实验报告(2015)电商.doc_第4页
第4页 / 共19页
程序设计语言(C)综合实验报告(2015)电商.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《程序设计语言(C)综合实验报告(2015)电商.doc》由会员分享,可在线阅读,更多相关《程序设计语言(C)综合实验报告(2015)电商.doc(19页珍藏版)》请在三一文库上搜索。

1、优质文本华北科技学院计算机学院综合性实验实 验 报 告 课程名称 程序设计语言C 实验学期 2015 至 2016 学年 第 二 学期学生所在系部 管理学院 年级 15级 专业班级 电商B15-1班 学生姓名 廖行 学号 201504064101 任课教师 王博玲 实验成绩 计算机学院制?程序设计语言C?课程综合性实验报告开课实验室: 软件工程实验室 2016年 07 月 01日实验题目学生成绩管理系统的设计一、实验目的通过该实验把C语言中根本知识如:顺序结构、选择结构、循环结构、数组、函数、指针、链表等得到综合应用。完成学生成绩管理系统根本功能设计,提高学生的编程能力和分析问题、解决问题的能

2、力。二、设备与环境硬件:多媒体计算机软件:Windows系列或DOS系列的操作系统、C语言。三、实验内容1、 实验内容对学生根本信息,包括学号、姓名、至少三门课成绩。 学生根本信息录入; 学生根本信息的输出; 按学号查询学生信息; 按学号修改某学生信息并输出; 求每个人平均成绩; 删除某学生信息; 添加某学生信息 输出平均分大于80分的同学信息; 根据总成绩或平均成绩综合排名;此功能用链表处理的同学可不做2、实验要求a、用数组存储学生信息;b、根本功能用函数实现; c、至少完成实验内容中4个功能,学生可以自己增加或减少题目功能; d、程序能正确执行、输入与输出有必要的提示信息、界面美观;e、用

3、菜单调用加分,用结构体加分。3、最后结果输出。要求:输出格式要界面直观、清晰大方、格式标准。四、实验结果及分析1、实验运行过程及分析#include <stdio.h>#include <stdlib.h>#include <string.h>#define max_sn 30 / 最大学生数#define max_cn 30 / 最大课程数/ function definechar menu(void);void read(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,in

4、t n);void print(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n);void caculate(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n);void sumsort(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n);void numsearch(char nummax_sn20,char name

5、max_sn20,float scoremax_snmax_cn,int m,int n);void delete_score(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int *m,int n);void print_youxiu(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n);int main() char ch; char nummax_sn20,namemax_sn20; float scoremax_snmax_c

6、n; int m,n; printf("请输入学生人数:m<%dn",max_sn); scanf("%d",&m); printf("请输入课程门数:n<%dn",max_cn); scanf("%d",&n); getchar(); while(1) ch = menu(); switch(ch) case '1': read(num,name,score,m,n);/输入成绩 printf("n"); break; case '2'

7、;: caculate(num,name,score,m,n);/ 计算成绩 printf("n"); break; case '3': sumsort(num,name,score,m,n);/ 成绩排序 printf("n"); break; case '4': numsearch(num,name,score,m,n);/查找 printf("n"); break; case '5': print(num,name,score,m,n);/输出显示 printf("n&q

8、uot;); break; case '6': delete_score(num,name,score,&m,n);/删除信息 printf("n"); break; case '7': print_youxiu(num,name,score,m,n);/显示大于80分成绩 printf("n"); break; case '0': printf("程序结束"); exit(0); default:printf("输入错误"); char menu(void)

9、 char menusele; printf("学生成绩管理n"); printf("1.录入学生成绩n"); printf("2.计算学生的总分和平均分n"); printf("3.按学生总成绩排序n"); printf("4.查找某个学生信息n"); printf("5.输出学生信息n"); printf("6.删除学生信息n"); printf("7.显示均分大于80的学生信息n"); printf("0.退出n&quo

10、t;); printf("请输入您的选择:"); /scanf("%d",&menusele); fflush(stdin); menusele = getchar(); fflush(stdin); return menusele;void read(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n) int i,j; printf("请输入%d个学生的学号:n",m ); for(i=0;i<m;i+) gets(numi);

11、 printf("请输入%d个学生的姓名:n", m); for(i=0;i<m;i+) gets(namei); printf("请输入%d个学生的%d门课的成绩:n",m,n ); for(i=0;i<m;i+) for(j=0;j<n;j+) scanf("%f",&(scoreij); getchar();void caculate(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n) int i,j; for(

12、i=0;i<m;i+) scorein = 0; for(j=0;j<n;j+) scorein = scorein + scoreij; scorein+1 = scorein/n; printf("所有学生信息为:n"); for(i=0;i<m;i+) printf("%15s",numi ); printf("%15s",namei ); for(j=0;j<n+2;j+) printf("%8.1f", scoreij); printf("n"); void s

13、umsort(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n) int i,j,k; float t; char string20; for(i=0;i<m;i+) k=i; for(j=i+1;j<m;j+) if(scorein < scorejn) k = j; if(k!=i) strcpy(string,numi); strcpy(numi,numk); strcpy(numk,string); strcpy(string,namei); strcpy(namei,name

14、k); strcpy(namek,string); for(j=0;j<n+2;j+) t = scoreij; scoreij = scorekj; scorekj = t; printf("所有学生的信息为:n"); for(i=0;i<m;i+) printf("%15s", numi); printf("%15s", namei); for(j=0;j<n+2;j+) printf("%8.1f", scoreij); printf("n" ); printf(&quo

15、t;n");void numsearch(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n) int i,j,q; char p20; printf("请输入要查找的学生学号:"); gets(p); for(i=0;i<m;i+) if(strcmp(numi,p)=0) q = i; printf("所找学生的信息为:n"); printf("%15s", numq); printf("%15s", na

16、meq); for(j=0;j<n+2;j+) printf("%8.1f", scoreqj); printf("n" ); break; if(q >=m) printf("该学生信息不存在n"); void print(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int m,int n) int i,j; printf("所有学生的信息为:n"); for(i=0;i<m;i+) printf("%15s&q

17、uot;, numi); printf("%15s", namei); for(j=0;j<n+2;j+) printf("%8.1f", scoreij); printf("n" ); printf("n");void delete_score(char nummax_sn20,char namemax_sn20,float scoremax_snmax_cn,int *m,int n) int i,j,k,q=1; char p20; printf("请输入要删除的学生学号:"); g

18、ets(p); for(i=0;i<*m;i+) if(strcmp(numi,p)=0) q = 0; for(j=i+1;j<*m;j+) strcpy(numj-1,numj); strcpy(namej-1,namej); for(k=0;k<n+2;k+) scorej-1k = scorejk; (*m)-; printf("删除成功n"); printf("n"); break; if(q) printf("该学生信息不存在n"); void print_youxiu(char nummax_sn20,

19、char namemax_sn20,float scoremax_snmax_cn,int m,int n) int i,j,k=0; printf("所有均分大于80分学生的信息为:n"); for(i=0;i<m;i+) if(scorein+1 > 80) printf("%15s", numi); printf("%15s", namei); for(j=0;j<n;j+) printf("%8.1f", scoreij); printf("n" ); k+; if(k

20、 < 1) printf("没有学生平均成绩大于80分n"); printf("n"); 2、运行结果3、心得体会通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假设我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点: 1、 学习耐心与细心缺乏,如scanf(“%d,&n);中的“&有时候会忘了。而在最后输出时又错写成printf(“%d,&n);从而错误得输出了地址而不是我原来想要的答案。 2、 编程思想不够发散,看着题目有时想不出解答的

21、方法,更不用说编写程序来解题了。 3、 根本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。 4、 知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。 5、 有时候不够精简,有一点用处不大或者说没有也可以的文字存在。 6、 英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多。由此可看出上机实践的重要性。 电子商务B151班廖行2015040401 时间2016.6.20 教 师 评 价评定工程ABCD评定工程ABCD算法正确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告标准题解正确其他:评价教师签名:孙改平2016年 7 月 15 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1