C语言课程设计-某实验室计算机配备系统.doc_第1页
C语言课程设计-某实验室计算机配备系统.doc_第2页
C语言课程设计-某实验室计算机配备系统.doc_第3页
C语言课程设计-某实验室计算机配备系统.doc_第4页
C语言课程设计-某实验室计算机配备系统.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

沈 阳 航 空 工 业 学 院 课程设计学 号 2008040301046 班 级 84030102 姓 名 指导教师 2010 年 3 月 15 日沈阳航空工业学院课程设计任务书院系:航空宇航工程学院 专业:飞行器制造工程 班级:84030102 学号:2008040301046 题目:某实验室计算机配备系统一、课程设计时间200910第2学期第1周,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:1 录入相关数据信息并保存在文件中(根据实验室的管理情况自行设定);2 购买处理;3 查询实验室某类计算机信息。三、课程设计要求1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括 “数据信息录入”、“购买处理”、“某类计算机查询”、 “退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语沈 阳 航 院 设 计 用 纸目 录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段4四、课设总结9五、参考文献9六、源程序10I沈 阳 航 院 设 计 用 纸一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,每一个模块对应一个函数。在这些函数当中,计算机数据录入函数,购买处理计算机数据函数,查询计算机函数的实现严格按照题目的要求,显示函数属于附加功能。读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。1.计算机数据录入函数 主要实现程序最初运行时计算机数据的录入以及其后的运行计算机数据的追加功能;2.购买处理计算机数据函数 可以实现对计算机的各项信息进行修改;3.计算机查询函数 允许按照编号对计算机进行查询;4.显示函数 实现的是显示目前所有的有效计算机记录信息。除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个计算机记录都包含编号、名称,以及价格、品牌和数量三种数据,在程序当中,将计算机记录类型定义为结构体类型,添加以及追加的计算机信息直接写入E盘的computer.txt文件中,其它函数每次对计算机记录的访问,其数据来源都是computer.txt文件,这样做不但可以保证计算机数据的一致性,而且可以对实验室计算机数据进行永久保存,保证每次运行程序都可以采用原来的数据。二、程序流程图1. 程序总体结构图图1程序总体结构图2. 具体功能框图(1)计算机信息录入数据函数add图2 添加计算机数据函数(2)读取计算机数据函数reads图3读取计算机数据三、核心技术的实现说明及相应程序段本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,计算机数据录入函数、购买处理函数、和查询函数是程序中较为核心的部分,下面分别进行说明。1. 计算机数据录入函数录入数据分为两种情况,其一是在计算机文件(computer.txt)不存在的情况下,首先由程序创建一个新文件,并将录入的计算机信息写入该文件当中;其二是在计算机文件(computer.txt)已经存在的情况下,此时文件以追加的方式打开,这样才可以保证以前已经存在的数据不丢失。具体的程序段如下: if(fp=fopen(e:computer.txt,a)=NULL) /如果文件已经存在,可以追加计算机信息 if(fp=fopen(e:computer.txt,w)=NULL) / 文件不存在时,创建新文件,输入计算机信息 printf(文件打开失败!n); return; printf(请输入要添加的计算机类型数,按回车键确认:); scanf(%d,&n); for(i=1;i=n;i+) printf(n请输入第%d类计算机的编号、名称,用空格分开,并按回车键确认:n,i); scanf(%s%s,com.num,); printf(n请输入第%d类计算机的价格、品牌和数量,用空格分开,并按回车键确认:n,i); scanf(%f%f%f,&com.price,&com.brand,&com.number); fprintf(fp,%s %s %f %f %fn,com.num,,com.price,com.brand,com.number); fclose(fp);2.购买处理计算机数据函数购买处理计算机数据,购买或者处理,即计算机在数量上发生变化,如果买入新款计算机,则在数量,品牌和价格上都发生变化。首先用reads函数将文件中的计算机信息读入数组当中,并由用户输入待购买或处理的计算机的编号,而后按照该编号进行查找,如果文件中存在该计算机的数据,则进行修改。如果输出计算机信息不存在的提示信息,录入购买或处理计算机信息。具体程序段如下:printf(n请输入要购买或处理的计算机类型编号,按回车键确认:); scanf(%s,kind); n=reads(com); for(i=0;i=n)printf(无此种类计算机信息!); return; printf(n请输入购买或处理后计算机的编号,名称,价格、品牌、数量,按回车键确认:n); scanf(%s%s%f%f%f,comi.num,,&comi.price,&comi.brand,&comi.number); save(com,n);3查询函数本函数的功能是通过已知计算机的信息来查询资料的,输入计算机的编号,系统会自动从已经添加好的计算机信息中调取所要的资料,进而在屏幕中显示出所调取信息的结果。若找到该记录,则输出此记录的信息;否则,输出“没有找到该类型计算机信息”的提示具体程序段如下:printf(n请输入待查询的计算机编号,按回车键确认:n); scanf(%s,kind); for(i=0;i=n)printf(没有找到该类型计算机信息!n); return; else printf(n%12s%11s%11.2f%11.2f%11.2fn,comi.num,,comi.price,comi.brand,comi.number,comi.price+comi.brand+comi.number);四、课设总结写出在课程设计过程中我有很多收获和体会,因为C语言是一门非常严谨的学科,不允许出现一丝一毫的马虎大意,一点点的错误就会影响整个程序的运行,我们生活中应该认真,不能马虎大意,一点点错误就会影响你。程序运行的很顺利,目的都可以达成,但如果有更好的方法的话会更简便,所以还需要努力学习。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#include#include#include#includeconio.h#define N 20struct computerchar num20; char name10; float price; float brand; float number;void menu();int reads(struct computer comN);void save(struct computer comN,int n);void add();void change();void show();void query();void main()int n; while(1) menu(); printf(n 请输入您要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n)case 1: add();break; case 2: show();break; case 3: change();break; case 4: query();break; case 5: exit(0); default: printf(输入错误,请输入列表中存在的序号!n );void menu()printf( * 实验室计算机配备系统* ); printf(n 1 计算机数据信息录入); printf(n 2 显示计算机数据); printf(n 3 购买处理);printf(n 4 某类计算机查询);printf(n 5 退出);int reads(struct computer comN) / 读取计算机文件中的内容 FILE *fp; int i=0; if(fp=fopen(e:computer.txt,r)=NULL) printf(文件打开失败!n); return 0; else for(i=0;!feof(fp);i+) fscanf(fp,%s %s %f %f %fn,comi.num,,&comi.price,&comi.brand,&comi.number); fclose(fp); return i;void save(struct computer comN,int n) / 计算机信息改变后更新文件FILE *fp; int i=0; if(fp=fopen(e:computer.txt,w)=NULL) printf(文件打开失败!n); return ; else for(i=0;in;i+) fprintf(fp,%s %s %f %f %fn,comi.num,,comi.price,comi.brand,comi.number); fclose(fp);void add()/*录入计算机信息*/FILE *fp; int n,i; struct computer com; if(fp=fopen(e:computer.txt,a)=NULL) /如果文件已经存在,可以追加计算机信息 if(fp=fopen(e:computer.txt,w)=NULL) / 文件不存在时,创建新文件,输入计算机信息 printf(文件打开失败!n); return; printf(请输入要添加的计算机类型数,按回车键确认:); scanf(%d,&n); for(i=1;i=n;i+) printf(n请输入第%d类计算机的编号、名称,用空格分开,并按回车键确认:n,i); scanf(%s%s,com.num,); printf(n请输入第%d类计算机的价格、品牌和数量,用空格分开,并按回车键确认:n,i); scanf(%f%f%f,&com.price,&com.brand,&com.number); fprintf(fp,%s %s %f %f %fn,com.num,,com.price,com.brand,com.number); fclose(fp);void show() / 计算机信息显示函数struct computer comN; int i,n; n=reads(com); printf(*所有的计算机信息如下*nn);printf( 序号 编号 名称 价格 品牌 数量 n); printf(*n); for(i=0;in;i+) printf(n%3d%12s%11s%11.2f%11.2f%11.2fn,i+1,comi.num,,comi.price,comi.brand,comi.number); getch();void change() /计算机信息购买处理struct computer comN; int n,i;char kind20; printf(n请输入要购买或处理的计算机类型编号,按回车键确认:); scanf(%s,kind); n=reads(com); for(i=0;i=n)printf(无此种类计算机信息!); return; printf(n请输入购买或处理后计算机的编号,名称,价格、品牌、数量,按回车键确认:n); scanf(%s%s%f%f%f,comi.num,,&comi.price,&comi.brand,&comi.number); save(com,n);void query() / 按类型对计算机信息查询 struct co

温馨提示

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

最新文档

评论

0/150

提交评论