C语言程序设计题比较经典的编程作业.docx

上传人:xt****7 文档编号:123320084 上传时间:2020-03-08 格式:DOCX 页数:10 大小:37.90KB
返回 下载 相关 举报
C语言程序设计题比较经典的编程作业.docx_第1页
第1页 / 共10页
C语言程序设计题比较经典的编程作业.docx_第2页
第2页 / 共10页
C语言程序设计题比较经典的编程作业.docx_第3页
第3页 / 共10页
C语言程序设计题比较经典的编程作业.docx_第4页
第4页 / 共10页
C语言程序设计题比较经典的编程作业.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C语言程序设计题比较经典的编程作业.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题比较经典的编程作业.docx(10页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计“C语言程序设计上机实习”是为了加强学生对C语言的进一步理解和应用、为学习后续课程打下良好编程基础而开设的一门实践课。1系统名称:简易教学管理系统的设计与实现2准备数据 用记事本新建一文本文件,文件名为:“班名+序号”,如信计11班的12号同学所建的文件名应为:“XJ0112”。将本班的M名学生在本学期的N门考试课的成绩(要求用真实的课程名、假想的分数,并要求将自己的学号假定为1,将自己的每门课的分数都定在90分以上,而将别人的每门课的分数都定在95分以下。)输入到这个文件中,建议按如下形式存放(注:20M50、5N8,下文以M=4,N=3为例): 学号 姓名 英语 C语言 数学

2、 1 我自己 96 93 99 2 张某 76 89 89 3 李某 91 96 67 4 王某 75 58 56 用记事本新建另一文本文件,文件名为:“班名+KC”,如信计11班的所有同学所建的文件名应为:“XJ01KC”。将本班本学期的N门真实的课程名及其学分输入到这个数据文件中,建议按如下列形式存放: 编号 课程名称 课程学分1 英语 6.02 C语言 4.53 数学 5.5 3功能要求 在主函数中读入两个原始数据文件的内容,保存在对应的结构体数组中,并根据以上内容计算每个学生N门课的加权平均分(保留1位小数,4舍5入),并按平均分排列名次,平均分相同则名次并列。然后显示菜单,利用菜单调

3、用各个函数,分别完成如下功能:(注意:若文本文件XJ0112存放在D盘的ABC文件夹中,则fopen()函数中的文件名应为:”D:ABCXJ0112.txt”)。1) 用C语言创建一个数据文件,文件名为:“MC+班号+序号”,如信计11班的12号同学所建的文件名应为:“MC0112.txt”。用来存放班级排名后的成绩表,要求按以下形式存放。 名次 学号 姓名 英语 C语言 数学 平均成绩 1 1 我自己 96 93 99 95.5 3 2 张某 76 89 89 80.5 4 3 李某 91 96 67 78.2 2 4 王某 75 58 56 88.8 5 5 赵某 58 67 77 68.

4、5 2) 分别统计全班每门课的平均分和标准差,并计算各分数段(60分以下;6069;7079;8089;90分以上)的学生人数。课程标准差的计算公式为:式中:y为课程标准差,xi 为第i个学生成绩, 为本门课程的算术平均成绩,N为学生数。3) 用C语言创建一个数据文件,文件名为:“KC+班号+序号”,如信计11班的12号同学所建的文件名应为:“KC0112.txt”。在文件中存放的数据格式如下:编号 课程名称 课程学分 标准差 优秀 良好 中等 及格 不及格1 英语 6.0 16.8 3 10 18 15 3 2 C语言 4.5 11.7 1 5 20 13 83 数学 5.5 18.5 9

5、12 19 8 1. . . . . . . . . .4) 打印每名学生成绩条,结果存放到用C语言创建的一个数据文件中,文件名为:“CJT+班号+序号”,如信计11班的12号同学所建的文件名应为:“CJT0112.txt”。成绩条的格式自定。5) 屏幕显示所有存在不及格课程的学生的名单(含学号、不及格课程名称、课程的学分及成绩)。6) 屏幕显示优等生名单(含学号、门课成绩、平均分、名次) 优等生条件(只要满足三个条件中的任意一个条件即可):a) 平均分 92分b) 名次在本班位于前五名c) 平均分 88分,并且至少有一门课的成绩 99分选做内容:屏幕显示每门课的成绩分布图实习报告要求: 实习

6、报告不少于10页纸,具体应包括以下内容: 系统题目 摘要(简要说明程序的功能) 系统设计:系统功能模块框图、菜单结构图、数据结构说明、重要的输入界面说明以及相应的文字说明; 系统实现:各函数的实现技术,包括文字说明和流程图;程序调试过程中的要点和难点; 系统使用说明:说明如何使用你编写的程序,详细列出每个操作步骤及注意事项; 测试数据:列出你的测试数据(两个原始数据文件)及测试结果,即输入和输出; 结论:谈谈本次实习的收获、存在的问题及改进意见。 附录:程序清单。#include#include#define M 27#define N 5#includestruct student int

7、num;char name20;int scoreN;int mingci;float jqave;stM;struct kechengint bianhao;char kcname20;float xuefen;float ave; double kcbzc;int fsdrs5;courseN;void readfile1()int i,j;char str1100;FILE *fp;fp=fopen(i:xj110209.txt,r);if(fp=NULL)printf(Cant open the file!n);exit(0);fgets(str1,100,fp); for(i=0;i

8、M;i+)fscanf(fp,%d%s,&sti.num,sti.name);for(j=0;jN;j+) fscanf(fp,%d,&sti.scorej);fclose(fp);void readfile2()int i;char str2100;FILE *fp;fp=fopen(i:xj1102kc.txt,r);if(fp=NULL)printf(Cant open the file!n);exit(0);fgets(str2,100,fp); for(i=0;iN;i+)fscanf(fp,%d%s%f,&coursei.bianhao,coursei.kcname,&course

9、i.xuefen);fclose(fp);void jqave()int i,j; float s=0,sum;for(j=0;jN;j+)s=s+coursej.xuefen;for(i=0;iM;i+)sum=0;for(j=0;jN;j+)sum=sum+sti.scorej*coursej.xuefen;sti.jqave=sum/s;void mingci()int i,j; for(i=0;iM;i+) sti.mingci=1; for(j=0;jM;j+) if(sti.jqavestj.jqave)sti.mingci+;void kcave()int i,j;float s

10、um;for(i=0;iN;i+)sum=0.0;for(j=0;jM;j+)sum=sum+stj.scorei;coursei.ave=sum/M;void kcbzc()int i,j;double sum;for(j=0;jN;j+)sum=0.0;for(i=0;iM;i+)sum=sum+(sti.scorej-coursej.ave)*(sti.scorej-coursej.ave);coursej.kcbzc=sqrt(sum/M);void fsdrs()int i,j;for(j=0;jN;j+) coursej.fsdrs0=coursej.fsdrs1=coursej.

11、fsdrs2=coursej.fsdrs3=coursej.fsdrs4=0;for(i=0;iM;i+)if(sti.scorej=60&sti.scorej=70&sti.scorej=80&sti.scorej89)coursej.fsdrs3+;elsecoursej.fsdrs4+;void writemc()int i,j;FILE *fp;fp=fopen(i:mcxj110209.txt,w);if(fp=NULL)printf(fail to build a new file!n); exit(0);fprintf(fp,名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n);printf(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号