




免费预览已结束,剩余9页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文) 题 目 名 称 学生证查找问题 课 程 名 称 c 语言程序课程设计 学 生 姓 名 朱 娜 学 号 0941301287 系 、 专 业 信息工程系、信息大类 指 导 教 师 牛 莉 2010 年 6 月 26 日 1 目 录 1 前言 2 2 需求分析 2 21 要求 2 22 任务 2 23 运行环境 2 24 开发工具 2 3 概要设计 3 31 系统流程图 3 32 查询函数流程图 4 4 详细设计 5 41 分析和设计 5 42 具体代码实现 6 4. 3 测试与输入输出 9 5 课程设计的总结与体会 11 参考文献 12 致 谢 13 2 1 前言 编写一个程序来处理学生证信息。通过一个结构体数组来存放输入的每一位同 学学生证信息(包括姓名、年级、专业、学号、家庭地址) ,然后将其信息存入文件 中。输入一个学生姓名查询该同学的信息,并显示在屏幕上。 2 需求分析 21 要求 (1)用 c 语言实现程序设计; (2)利用结构体进行相关信息处理; (3)画出查询模块的流程图; (4)系统的各个功能模块要求用函数的形式实现; (5)界面友好(良好的人机互交) ,程序要有注释。 22 任务 (1)定义一个结构体类型数组,输入每一位同学的记录(包括姓名、年级、 专业、学号、家庭地址) ,将其信息存入文件中; (2)输入姓名查询该同学的信息,并显示在屏幕上; (3)画出所有模块的流程图; (4)编写代码; (5)程序分析与调试。 23 运行环境 (1)windows2000/xp 系统 (2)turboc2.0 编译环境 24 开发工具 c 语言 3 3 概要设计 3.1 流程图 系统流程图如图 3.1 所示。 图 3.1 系统流程图 32 函数“查找”流程图 查找函数流程图如图 3.2 所示。 输入数据保存在文 件里 执行查找 find 函 数 输出结果 开始 结束 4 图 3.2 查询函数流程图 输出“qing shu ru xing ming” j=0 jn a=strcmp(nam,) a=0 输出该学生的所有信息 输出 cha wu ci rennn return 结束 f f t t 开始 j=j+1 5 4 详细设计 41 分析与设计 在程序的开头部分定义结构体类型和全局的结构体数组,用来存放同学信息, 假设共 4 条。 #include “stdio.h“ #define n 4 struct student char name10; char class10; char profess10; int num; char add20; stun; 定义一个指针 fp 输入学生信息放 sta 数组中。并将结构体数组中的所有信息写 入到文件 data.dat 中,之后再关闭文件。 main() file *fp; void find(); int i; if(fp=fopen(“data.dat“,“w“)=null) printf(“n cant open data.dat !n“); exit(0); for(i=0;in;i+) printf(“input name :“);scanf(“%s“,); printf(“input class:“);scanf(“%s“,stui.class); printf(“input profession:“);scanf(“%s“,fess); printf(“input num:“);scanf(“%d“, printf(“input add:“);scanf(“%s“,stui.add); fprintf(fp,“%s%s%s%d%s“,,stui.class,fess,stui.n 6 um,stui.add); fclose(fp); find(); 在 find 函数中先用写的方式打开文件 data.dat,若不存在则新建一个,若无法 打开则输出 can not open files data.dat,将结构体中的同学信息以数据块的形式存 入文件 data.txt 中。存入后,关闭文件。 用自定义的查找函数 find ()实现对学生的信息查找。 void find() int j,a; char nam10; printf(“qing shu ru xing ming:“); scanf(“%s“, for(j=0;jn;j+) a=strcmp(nam,); if(a=0) printf(“class,profession,number,addressn“,stuj.class,fess,stuj. num,stuj.add ); printf(“%s,%s,%d,%s“,stuj.class,fess,stuj.num,stuj.add); return; printf(“cha wu ci renn“); 在这个函数中采用字符串,如果输入的字符串与文件中的一个字符串相同, 则输出该字符串代表的学生的所有信息:姓名、电话号码、email、地址。 42 具体代码实现 #include “stdio.h“ #define n 4 struct student 7 char name10; char class10; char profess10; int num; char add20; stun; main() file *fp; void find(); int i; if(fp=fopen(“data.dat“,“w“)=null) printf(“n cant open data.dat !n“); exit(0); for(i=0;in;i+) printf(“input name :“);scanf(“%s“,); printf(“input class:“);scanf(“%s“,stui.class); printf(“input profession:“);scanf(“%s“,fess); printf(“input num:“);scanf(“%d“, printf(“input add:“);scanf(“%s“,stui.add); fprintf(fp,“%s%s%s%d%s“,,stui.class,fess,stui.num,st ui.add); 8 fclose(fp); find(); void find() int j,a; char nam10; printf(“qing shu ru xing ming:“); scanf(“%s“, for(j=0;jn;j+) a=strcmp(nam,); if(a=0) printf(“class,profession,number,addressn“,stuj.class,fess,stuj.nu m,stuj.add ); printf(“%s,%s,%d,%s“,stuj.class,fess,stuj.num,stuj.add); return; printf(“cha wu ci renn“); 9 4.3 测试与输入输出 输入学生的信息,系统产生一 data.dat 二进制文件。 输入需要查找的学生姓名 10 输出查找的学生姓名 11 5 课程设计的总结与体会 一个星期的课程设计,虽然有些疲劳和困倦,但带给我很多的收获。c 语言已 经学了一个学期,大概三个多月了,有许多知识都存在似懂非懂的现象,这种现象 通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌 握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑, 有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避 过这些方法,换方法实现。在课程设计之前,因为有了综合实验的经验与教训,明 白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行, 发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于 是在课程设计的时候,我花了两天的时间来规划与写代码,将要实现的内容分析清 楚,才把代码输入电脑,但却有另一些问题,例如乱码的问题,这就要花很多的时 间在重新写代码上了,用一些可能不出现乱码的方法来实现该功能。因此我觉得每 次写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能 避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时 间在想补救措施是很不值得的。此外,这样多种方法写程序可以锻炼自己多种思维 方式解决一个问题的能力。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是 远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能 真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程 中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的 问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不 够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老 师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识, 在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心 的感谢! 12 参考文献 1 张福祥. c 语言程序设计m. 辽宁大学出版社,2008.1 . 64-74 页 121-145 页 181-198 页 2 张福祥. 王萌c 语言程序设计习题解答与实验实训m沈阳:辽 宁大学出版社,200821-64 页 3 牛莉. 刘远军等计算机等级考试辅导教程m北京:中国铁道 出版社,2008104-126 页 13 致 谢 感谢指导老师在百忙之中抽出时间为我们批改程序,指导监督我们做程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025新职工入场安全培训考试试题【达标题】
- 2025公司员工安全培训考试试题答案综合卷
- 2025厂里职工安全培训考试试题含答案【综合卷】
- 2025合作协议、活动执行合同书
- 2025合同终止仍有年终奖 管理资料详解
- 2025设备采购协议合同范本
- 2025官方版商业店铺租赁合同书
- 2025年的合同效力如何评估
- 2025电子产品买卖合同范本
- 2025年碳化硅磨块合作协议书
- 2025年重庆市中考物理模拟试卷(一)(含解析)
- 《服务营销双主动》课件
- 公司法公章管理制度
- 演出经纪人员资格备考资料2025
- 成都交通投资集团有限公司招聘考试真题2024
- (二模)嘉兴市2025年高三教学测试语文试卷(含答案)
- 湖北省宜昌二中2025年高考化学考前最后一卷预测卷含解析
- 医院不良事件上报制度
- MTK安全架构研究-全面剖析
- 10S505 柔性接口给水管道支墩
- DZ∕T 0227-2010 地质岩心钻探规程(正式版)
评论
0/150
提交评论