已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序训练报告C语言课程设计说明书题目: C语言程序设计综合训练 院 系: 计算机科学与工程学院 专业班级: 计算机*班 学 号: 学生姓名: 指导教师: 2010年 12 月 28 日安徽理工大学程序训练任务书 计算机学院 院系 计算机科学与技术 教研室学 号学生姓名专业(班级)计算机科学与技术*班设计题目1.身份证校验2.学生成绩的文件管理设计技术参数(1)用C语言实现设计任务;(2)所设计的程序可读性好,执行效率高;(3)有良好的操作界面;(4)设计说明书能很好地反映设计内容设计要求(1)问题分析及解决方案框架确定(2)详细设计和编码(3)上机前编写程序与检查(4)上机调试程序(5)完成课程设计报告工作量要求设计说明书的字数在3000字以上。工作计划2010.11.10-11.20 根据课程设计大纲的要求,查找相关资料,完成需求分析;2010.11.21-12.30 进行系统的概要设计;2010.12.01-12.10 进行系统的详细设计和源代码的书写;2010.12.11-12.25 对系统进行调试分析,写出程序训练报告。参考资料1 何钦铭. C语言程序设计.北京:高等教育出版社,20082 颜晖. C语言程序设计实验指导.北京:高等教育出版社,20083 谭浩强编著.C程序设计(第二版).北京:清华大学出版社,1999指导教师签字教研室主任签字2010年12月28日目 录1.身份证校验11.1 设计内容11.2 解题思路11.3 调试过程11.4程序清单21.5 测试数据21.6 小结22. 学生信息管理32.1 设计内容32.2 解题思路32.3 调试过程32.4程序清单42.5 测试数据62.6 小结671.身份证校验u 1.1 设计内容 题目描述 我国国标GB 11643-1999中规定:公民身份号码是18位特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。其校验码(最后一位)计算方法和步骤为:(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, . , 16 ,先对前17位数字的权求和其中Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子,前17位加权因子从左到右分别为Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2(2)计算模Y = mod(S, 11)(3)通过模Y查下表得到对应的校验码Y012345678910校验码10X98765432例如:某身份证前17位为11010519491231002i1234567891011121314151617wi7910584216379105842身份证号11010519491231002积7905020292427718305004得到和为:167;则模为y=167%11=2查(3)得校验码为x请按上面所述步骤编程,输入一个二代身份证号,检查该身份证是否正确。u 1.2 解题思路考虑到加权因子和身份证号码都很长,在定义时用二维数组将两者放到一起,又身份证号码中有X出现,该数组定义为字符型。另外,加权因子中的“10”用ASCII码中的字符相减即可。u 1.3 调试过程1. 因为身份证号码中有X,导致运行程序时出现ASCII码;2. 因为加权因子中的“10”, 导致运行程序时出现乱码;3. 个别行尾缺少分号。u 1.4程序清单#include int main(void)int i,Y,sum=0;char y11=1,0,x,9,8,7,6,5,4,3,2;char a218=7,9,0,5,8,4,2,1,6,3,7,9,0,5,8,4,2,0,;printf(请输入18位二代身份证号码:);for(i=0;i18;i+)a1i=getchar();for(i=0;i17;i+)if(a0i=0)a0i=:;sum=sum+(a0i-0)*(a1i-0);Y=sum%11;if(Y=2&a117=x)printf(此身份证号码正确! n);else if(a117=yY)printf(此身份证号码正确! n);elseprintf(此身份证号码错误! n);return 0;u 1.5 测试数据1.身份证验证题图u 1.6 小结通过这次程序设计,我对身份证系统有了更加深刻的认识,对于数组的使用也更加熟悉,为以后定义和使用数组奠定了良好的基础。2. 学生信息管理u 2.1 设计内容 题目描述(1)先用记事本编辑文件stu1.dat存储一个班学习成绩。然后在C环境下,建立一个学生信息的结构体,用r方式打开上述文件,再用fscanf读入、用printf在屏幕上显示文件内容。(2)利用循环使每个学生的三门功课的成绩相加,然后再把和除以三就得到了平均成绩。接着用冒泡法利用平均分的高低排出名次。最后用fprintf将每个学生的信息写入到stu2.dat文件。l 输入数据只需按学号、姓名、C语言、英语、高数的顺序每行一个学生的输入到“stu1.txt”文档中即可。l 输出要求有标题栏,有位次,按位次排序输出。l 输入样例301101张文918579301102陈慧856476301103王卫东766086301104郑伟627683301105郭温涛587892l 输出样例学号 姓名 C语言 英语 高数 平均分 名次301101 张文 91 85 79 85.000 1301105 郭温涛 58 78 92 76.000 2301102 陈慧 85 64 76 75.000 3301103 王卫东 76 60 86 74.000 4301104 郑伟 62 76 83 73.667 5u 2.2 解题思路这个与书上的一个例子很相似,进行一些改进即可。u 2.3 调试过程1. 因对文件了解不深,导致运行时出错;2. 在输出时因控字符的使用错误,导致乱码;3. 在对结构数组排序时出现错误。u 2.4程序清单#include #include int main(void)FILE *fp1,*fp2;int i,j;struct studentslong num;char stname20;int score1,score2,score3;int score;student5;if(fp1=fopen(C:stdu1.dat.txt,r)= NULL)printf(File open error! n);exit(0);studenti.score=0;printf( 学号 姓名 C语言 英语 高数n);for(i=0;i5;i+)fscanf(fp1,%ld%s%d%d%d,&studenti.num,studenti.stname,&studenti.score1,&studenti.score2,&studenti.score3);studenti.score=studenti.score1+studenti.score2+studenti.score3;printf(%-8ld%6s%8d%6d%7dn,studenti.num,studenti.stname,studenti.score1,studenti.score2,studenti.score3);printf(nn);for(i=1;i5;i+)for(j=0;j5-i;j+)struct students t;if(studentj.scorestudentj+1.score)t=studentj;studentj=studentj+1;studentj+1=t;printf( 学号 姓名 C语言 英语 高数平均分名次n);for(i=0;i5;i+)printf(%-8ld%6s%8d%6d%7d%11.3f%4dn,studenti.num,studenti.stname,studenti.score1,studenti.score2,studenti.score3,studenti.score/3.0,i+1);fp2=fopen(C:stdu2.dat.txt,w);fprintf(fp2, 学号 姓名 C语言 英语 高数平均分名次n);for(i=0;i5;i+)fprintf(fp2,%-8ld%6s%8d%6d%7d%11.3f%4dn,studenti.num,studenti.stname,studenti.score1,studenti.score2,st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GA 872-2010防爆球》专题研究报告
- 企业设备管理规范制度
- 企业财务预算与审核制度
- 2026湖北省定向湖南大学选调生招录参考题库附答案
- 2026湖南益阳沅江市卫生事业单位编外临聘人员招聘9人备考题库附答案
- 2026福建省面向北京师范大学选调生选拔工作参考题库附答案
- 公共交通智能调度管理制度
- 2026贵州黔南州长顺县医疗集团中心医院招聘备案编制人员21人备考题库附答案
- 纪检监察知识讲课课件
- 2026陕西省面向中南大学招录选调生考试备考题库附答案
- 2025年公民素质养成知识考察试题及答案解析
- 老年人营养和饮食
- 《关键软硬件自主可控产品名录》
- 2025年济南市九年级中考语文试题卷附答案解析
- 信息安全风险评估及应对措施
- 红蓝黄光治疗皮肤病临床应用专家共识(2025版)解读
- 录音棚项目可行性研究报告
- (标准)警局赔偿协议书
- GB/T 20921-2025机器状态监测与诊断词汇
- 人教版英语九年级全一册单词表
- 护工培训课件内容
评论
0/150
提交评论