gmd驿码c语言编程,C语言程序设计题比较经典的编程作业.docx

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

C语言程序设计“C语言程序设计上机实习”是为了加强学生对C语言的进一步理解和应用、为学习后续课程打下良好编程基础而开设的一门实践课。1系统名称简易教学管理系统的设计与实现2准备数据 用记事本新建一文本文件,文件名为“班名序号”,如信计11班的12号同学所建的文件名应为“XJ0112”。将本班的M名学生在本学期的N门考试课的成绩(要求用真实的课程名、假想的分数,并要求将自己的学号假定为1,将自己的每门课的分数都定在90分以上,而将别人的每门课的分数都定在95分以下。)输入到这个文件中,建议按如下形式存放注20M50、5N8,下文以M4,N3为例 学号 姓名 英语 C语言 数学 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入),并按平均分排列名次,平均分相同则名次并列。然后显示菜单,利用菜单调用各个函数,分别完成如下功能注意若文本文件XJ0112存放在D盘的ABC文件夹中,则函数中的文件名应为”DABCXJ0112.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.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 12 19 8 1. . . . . . . . . .4 打印每名学生成绩条,结果存放到用C语言创建的一个数据文件中,文件名为“CJT班号序号”,如信计11班的12号同学所建的文件名应为“CJT0112.txt”。成绩条的格式自定。5 屏幕显示所有存在不及格课程的学生的名单(含学号、不及格课程名称、课程的学分及成绩)。6 屏幕显示优等生名单(含学号、门课成绩、平均分、名次) 优等生条件(只要满足三个条件中的任意一个条件即可)a 平均分 92分b 名次在本班位于前五名c 平均分 88分,并且至少有一门课的成绩 99分选做内容屏幕显示每门课的成绩分布图实习报告要求 实习报告不少于10页纸,具体应包括以下内容 系统题目 摘要(简要说明程序的功能) 系统设计系统功能模块框图、菜单结构图、数据结构说明、重要的输入界面说明以及相应的文字说明; 系统实现各函数的实现技术,包括文字说明和流程图;程序调试过程中的要点和难点; 系统使用说明说明如何使用你编写的程序,详细列出每个操作步骤及注意事项; 测试数据列出你的测试数据(两个原始数据文件)及测试结果,即输入和输出; 结论谈谈本次实习的收获、存在的问题及改进意见。 附录程序清单。includestdio.hincludestdlib.hdefine M 27define N 5includemath.hstruct student int 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 readfile1int i,j;char str1100;FILE *fp;fpixj110209.txt,r;iffpNULLprintfCant open the filen;exit0;fgetsstr1,100,fp; fori0;iM;ifscanffp,ds,sti.num,sti.name;forj0;jN;j fscanffp,d,sti.scorej;fclosefp;void readfile2int i;char str2100;FILE *fp;fpixj1102kc.txt,r;iffpNULLprintfCant open the filen;exit0;fgetsstr2,100,fp; fori0;iN;ifscanffp,dsf,coursei.bianhao,coursei.kcname,coursei.xuefen;fclosefp;void jqaveint i,j; float s0,sum;forj0;jN;jsscoursej.xuefen;fori0;iM;isum0;forj0;jN;jsumsumsti.scorej*coursej.xuefen;sti.jqavesum/s;void mingciint i,j; fori0;iM;i sti.mingci1; forj0;jM;j ifsti.jqavestj.jqavesti.mingci;void kcaveint i,j;float sum;fori0;iN;isum0.0;forj0;jM;jsumsumstj.scorei;coursei.avesum/M;void kcbzcint i,j;double sum;forj0;jN;jsum0.0;fori0;iM;isumsumsti.scorej-coursej.ave*sti.scorej-coursej.ave;coursej.kcbzcsqrtsum/M;void fsdrsint i,j;forj0;jN;j coursej.fsdrs0coursej.fsdrs1coursej.fsdrs2coursej.fsdrs3coursej.fsdrs40;fori0;iM;iifsti.scorej60 coursej.fsdrs0;else ifsti.scorej60sti.scorej69coursej.fsdrs1;else ifsti.scorej70sti.scorej79coursej.fsdrs2; else ifsti.scorej80sti.scorej89coursej.fsdrs3;elsecoursej.fsdrs4;void writemcint i,j;FILE *fp;fpimcxj110209.txt,w;iffpNULLprintffail to build a new filen; exit0;fprintffp,名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n;printf名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n;fori0;iM;ifprintffp,3d8d8s,sti.mingci,sti.num,sti.name;printf3d8d8s,sti.mingci,sti.num,sti.name;forj0;jN;jfprintffp,4d,sti.scorej; printf4d,sti.scorej;fprintffp, 6.2fn,sti.jqave;printf 6.2fn,sti.jqave;printf该文件已写入到imcxj110209.txt中nnn;fclosefp;void writekcint i,j;FILE *fp; fpikcxj110209.txt,w;iffpNULLprintffail to build a new filen; exit0;fprintffp,编号 课程名称 课程学分 课程平均分 标准差 优秀 良好 中等 及格 不及格n; printf编号 课程名称 课程学分 课程平均分 标准差 优秀 良好 中等 及格 不及格n;fori0;iN;ifprintffp,3d10s 5.1f 5.1f 5.2lf,coursei.bianhao,coursei.kcname,coursei.xuefen,coursei.ave,coursei.kcbzc;printf3d10s 5.1f 5.1f 5.2lf,coursei.bianhao,coursei.kcname,coursei.xuefen,coursei.ave,coursei.kcbzc; forj4;j0;jfprintffp,4d,coursei.fsdrsj;printf4d,coursei.fsdrsj; fprintffp,n;printfn;printf该文件已写入到ikcxj110209.txt中nnn;fclosefp;void writecjtint i,j;FILE *fp;fpIcjtxj110209.txt,w;iffpNULLprintffail to build a new filen; exit0;fori0;iM;ifprintffp,名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n; printf名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n;fprintffp,3d8d8s,sti.mingci,sti.num,sti.name;printf3d8d8s,sti.mingci,sti.num,sti.name;forj0;jN;j fprintffp, 4d,sti.scorej; printf 4d,sti.scorej;fprintffp, 6.2fnnn,sti.jqave;printf 6.2fnnn,sti.jqave;printf该文件已写入到icjtxj110209.txt中nnn;fclosefp;void grcjtint i,j,k;printf请输入你所选的学生的学号(201101到201127)n按“0”退出个人成绩条界面n;scanfd,k;ifk201127k201101ik-201100-1; printf名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n;printf3d8d8s,sti.mingci,sti.num,sti.name;forj0;jN;jprintf 4d,sti.scorej;printf 6.2fn,sti.jqave; grcjt; else ifk0printf输入错误,请重新输入n; grcjt;elseprintf已退出nnn;void bjgmd int i,j,k;printf不及格学生学号 姓名 课程名称 课程学分 分数n;fori0;iM;iforj0;jN;jifsti.scorej60 printf8d10s10s5.1f4dn,sti.num,sti.name,coursej.kcname,coursej.xuefen,sti.scorej; break; forkj1;kN;k ifsti.scorek60 printf 10s5.1f4dn,coursek.kcname,coursek.xuefen,sti.scorek; void ydsmdint i,j;printf名次 学号 姓名 英语 数分 高代 C语言 计算机 加权平均分n;fori0;iM;iifsti.jqave90sti.mingci3printf3d8d8s,sti.mingci,sti.num,sti.name; forj0;jN;jprintf 4d,sti.scorej; printf 6.2fn,sti.jqave;forj0;jN;jifsti.jqave85sti.jqave90sti.mingci3sti.scorej98printf3d8d8s,sti.mingci,sti.num,sti.name; forj0;jN;jprintf 4d,sti.scorej; printf 6.2fn,sti.jqave;void caidanint i;printf1将成绩情况写入文件1中n2将课程情况写入文件2中n;printf3从屏幕上输出有不及格课程的学生名单n4优等生名单n;printf5将每名学生的成绩条写入文件3中n6从屏幕上输出你所要的学生成绩条n;printf7退出n;printf请输入你选的菜单选项;scanfd,i; ifi7switchicase 1writemc;caidan;break;case 2writekc;caidan;break;case 3bjgmd;caidan;break;case 4ydsmd;caidan;break; case 5writecjt;caidan;break; case 6grcjt;caidan;break; void mainreadfile1;readfile2;jqave;mingci;kcave;kcbzc;fsdrs; caidan;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值