C语言课设机房上机标准系统_第1页
C语言课设机房上机标准系统_第2页
C语言课设机房上机标准系统_第3页
C语言课设机房上机标准系统_第4页
C语言课设机房上机标准系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空工业学院课程设计学号 200604111003班级 6411101 班姓名高威指导教师王晓岩2008年3月9日1 / 24沈阳航空工业学院课程设计任务书材料科学与工程 学院 金属材料 专业6411101 班学号 200604111003一、课程设计题目:机房上机系统二、课程设计工作自2008年3月3日至 3月7日三、课程设计内容 :用 C 语言编写软件完成以下任务:四、课程设计要求:1 数据信息(学生的学号,姓名,系别,上机种类存的机时数等)保存 在 comp.dat 文件中2 上机签到3 下机4 存机时票和查询某同学信息等 程序质量:贯彻结构化程序设计思想。 用户界面友好,功能明确,

2、操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“运算选项” 、“数据输入” 、“保存结果” 、“退出” 4 项。代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿) ,其内容如下:封面课程设计任务书目录需求分析(分析题目的要求) 程序流程图(总体流程图和主要功能模块流程图) 核心技术的实现说明及相应程序段 个人总结参考资料 源程序及适当的注释指导教师: _王晓岩 学生签名: _高威 目录一、需求分析 1二、程序流程图 3三、核心技术的实现说明及相应程序段 6四、个人总结 9五、参考文献 11六、源程序 11、需求

3、分析经过对程序设计题目的分析可知, 整个程序的设计实 现大致分为三个模块, 其中每一个模块对应一个函数, 他 们的功能分别是:查找函数(search),写文件的函数(xiewj) 以及主函数(main)。在这些函数当中,前两个是两个子 函数,而后面的一个函数属于对前两个的调用。1、 查找函数主要是通过你输入的学生的一个信息来查 找学生的相关信息;2、 写入学生数据函数实现的功能是把已经编成结构化 的信息放入comp.dat文件中;3、主函数 按照题目的具体要求实现的是把学生的相关 的要用到的信息显示在页面上,实现调用子函数的过程, 和其他查找的过程;除上面介绍的功能之外, 程序还具有退出功能,

4、 可以 在程序的一次运行当中循环执行所有的功能, 并根据需要 终止程序的执行。每一个学生记录都包含学号、姓名,以及英语、计算 机和数学三门成绩, 在程序当中, 将学生记录类型定义为 结构体类型,添加以及追加的学生信息直接写入 E 盘的 stude nt.dat文件中,其他函数每次对学生记录的访问,其 数据来源都是student.dat文件,这样做不但可以保证学生 数据的一致性, 而且可以对学生数据进行永久保存, 保证 每次运行程序都可以采用原来的数据。二、程序流程图1、程序总体结构图2、各子程序结构图(1)查找函数图2查找函数(2)写入学生数据函数三、核心技术的实现说明及相应程序段本程序主要由

5、两个自定义函数和一个主函数组成, 其 中主函数以菜单的形式调用其他函数来实现要求的所有 功能。在这些函数当中, 查找函数和写入学生数据函数是 程序中较为核心的部分,下面分别进行说明。1、 查找函数主要是通过你输入的学生的一个信息来查 找学生的相关信息;运用 while 语句和 time 函数。 程序如下:void search(struct student b,int x,int n)/* 在数据系统中查找学生信息 */int i=0 。while( bi.number!=x&in)i+。if(in)bi.jsshu=bi.jsshu-yjs 。j=i。printf(nnnnnn) 。 pri

6、ntf(*n) 。printf( | your name is :%sn,)。printf( | number is :%dn,bi.number) 。printf(|department is:%sn,bi.department)。printf(|sjzhonglei is:%sn,bi.sjzhonglei) 。printf( | jsshu is :%dn,bi.jsshu) 。printf( |*|n) 。printf(nnnnnn) 。7 / 24time_t start, js=0。int servenumber。2、写入学生数据函数 该函数的核心内容主

7、要是通过你输入的学生的一个信息 来查找学生的相关信息;运用 fopen 打开指定路径下的文 件,运用 fwrite 写入学生信息。程序如下:void xiewj(struct student b,int x,int n)FILE *fp 。 if(fp=fopen(c:comp.dat,w+)=NULL)/* 打开文件判断 */printf(cantt set up file comp.datn)exit(1)for(x=0。 xn。 x+)if(fwrite(&stux,sizeof(struct student),1,fp)!=1)printf(writing file is wrongn

8、) 。/ fprintf(,bx.number,bx.department,bx .sjzhonglei,bx.jsshu,fp) 。四、个人总结看到题目才知道自己其实对 C 语言一点也不了解,题 目和我自己想的简直就是十万八千里的, 还要从新温习书 上的东西前几天大约在周三左右吧, 就是一直在看书在找 一些有关我的题目所需要的函数然后查库函数到周四开 始我的程序,没有多少成果还是有很多的错误有的问同学 有的是在老师的帮助下解决的, 唯一让我庆幸的就是我的 课设还不是很难就在很多应用的地方都有找到的, 就是在 程序中应用的时间问题上还不是很清楚就是找了一些资 料,由于并不是以前学

9、过的,还是有些生疏的。还是请了 一个朋友帮我改了许多, 这已经到周五了, 早上还改了几 个地方才有了眉目的,就是想要是再完美一点就更好了。 有几个地方还是要改的, 可是好像不是很对就不行了, 就 把那些用 删掉了,是同学给我加的,不太理解应该是用 VC 写的时候用的吧把它删掉就好了。终于在努力下有了 结果。虽然很累的但是我还是收获很多的。 我想对我以后 的考试和自学都会有一定的收获的,而且我还在四月考 级,这也帮我学习它提高了很多信心的。五、参考文献1 谭浩强 C 程序设计北京:清华大学出版社, 20052 刘成等 C 语言程序设计实验指导与习题集北京:中 国铁道出版社, 20063 廖湖声

10、叶乃文 .C六、源程序#include#include #include#define MAX 5int j=0,yjs=0 。int num=0 。struct student int number /* 学号 */charname10/* 姓名 */char department50 。/* 系别 */charsjzhonglei10。/* 上机种类 */int jsshu。/* 存的机时数 */stuMAX= 001,xiaozhang,zhizao,ziyou,105002,xiaoliu,dongli,ziyou,8,003,xiaoli,dianzi,ziyou,20,004,xi

11、aohuang,jisuanji,ziyou,25,005,xiaozhao,guojing,ziyou,5。void search(struct student b,int x,int n) /* 在数据系统中查找学生信息 */int i=0 。while( bi.number!=x&in) i+ 。if(in) bi.jsshu=bi.jsshu-yjs 。j=i 。printf(nnnnnn) 。 printf(|* *n) 。printf(|your name is :%sn,)。printf(|number is :%dn,bi.number) 。printf(|dep

12、artment is:%sn,bi.department)。printf(|sjzhonglei is:%sn,bi.sjzhonglei)。13 / 24|printf(jsshu is :%dn,bi.jsshu) 。 printf(|*|n) 。printf(nnnnnn) 。time_t start,end 。int js=0 。int servenumber 。void xiewj(struct student b,int x,int n)FILE *fp 。if(fp=fopen(c:comp.dat,w+)=NULL)/* 打开文件判断 */printf(cantt set up

13、 file comp.datn)exit(1) 。for(x=0。 xn。 x+)if(fwrite(&stux,sizeof(struct student),1,fp)!=1)printf(writing file is wrongn) 。/ fprintf(,bx.number,bx.department,bx .sjzhonglei,bx.jsshu,fp) 。main() /clrscr() 。 /textbackground(GREEN) 。15 / 24/ textcolor(RED)xiewj(stu,0,5) 。 printf(nnnnnn) printf(|*w

14、elcometocomputer*|n)printf(|please choose one of serves as follow: |n)printf(|1:register|n)printf(|2:leave|n)printf(|3:save the jspiao|n)printf(|4:inquire the information|n)printf(|0:EXIT|n)printf(*|n) 。printf(nnnnnn) 。a:scanf(%d,&servenumber) 。switch(servenumber)case 1:printf(=REGISTER= =nnn) 。star

15、t=time(NULL) 。printf( welcome to studynn please enter your number:nnn) 。scanf(%d,&num) 。 search(stu,num,MAX) 。17 / 24break case 2:printf(=LEAVE=n nn) 。end=time(NULL) 。yjs=difftime(end,start)。printf(Before youleave,please enter your numbernnn)。scanf(%d,&num) 。 search(stu,num,MAX) 。printf(nnn youcan leave!nnn) 。break 。case 3:printf(nn) 。printf( save tickets,pleaseenter your numbernnn) 。scanf(%d,&num) 。 search(stu,num,MAX) 。printf( pleaseenter how many js which you want to save:nnn)。scanf(%d,&js) 。 stuj.jsshu=stuj.jsshu+js 。 printf(you havesaved %d jsn,js) 。printf(To sumup,you have had %d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论