c语言课程设计报告.docx

上传人:b****6 文档编号:4765678 上传时间:2022-12-08 格式:DOCX 页数:14 大小:279.72KB
下载 相关 举报
c语言课程设计报告.docx_第1页
第1页 / 共14页
c语言课程设计报告.docx_第2页
第2页 / 共14页
c语言课程设计报告.docx_第3页
第3页 / 共14页
c语言课程设计报告.docx_第4页
第4页 / 共14页
c语言课程设计报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告.docx

《c语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告.docx

c语言课程设计报告

课程设计报告

 

课程名称c程序设计

设计题目实验设备管理系统设计

专业班级

姓名

学号

指导教师

起止时间2010.7.5~2010.7.10

 

成绩评定

考核

内容

设计

表现

设计

报告

答辩

综合

评定

成绩

 

电气与信息学院

 

课程设计考核和成绩评定办法

1.课程设计的考核由指导教师根据设计表现、设计报告、设计成果、答辩等几个方面,给出各项权重,综合评定。

该设计考核教研室主任审核,主管院长审批备案。

2.成绩评定采用五级分制,即优、良、中、及格、不及格。

3.参加本次设计时间不足三分之二或旷课四天以上者,不得参加本次考核,按不及格处理。

4.课程设计结束一周内,指导教师提交成绩和设计总结。

5.设计过程考核和成绩在教师手册中有记载。

课程设计报告内容

课程设计报告内容、格式各专业根据专业不同统一规范,经教研室主任审核、主管院长审批备案。

 

注:

1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。

2.为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采用宋体五号字)或手写。

 

课程设计目的

1、综合运用c程序设计课程和其他先修课程的理论和知识,掌握程序设计的一般方法,树立正确的设计思想,培养分析问题和解决实际问题的能力;

2、学会从实际的要求出发,合理的选择算法,正确的使用测试方法,培养学生程序设计能力;

3、学习运用帮助和查阅有关技术资料的能力。

 

题目六:

实验设备管理系统设计

实验设备信息包括:

设备编号,设备种类(如:

微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

试设计一实验设备信息管理系统,使之能提供以下功能:

1、系统以菜单方式工作

2、实验设备信息录入功能(课程信息用文件保存)

3、实验设备信息浏览功能

4、实验设备信息查询功能

查询方式

按设备名称查询

按设备种类查询

5、实验设备信息的删除与修改(可选项)

 

流程图

 

 

程序清单

#include

#include

#include

#defineBUFLEN80/*缓冲区最大字符数*/

#defineLEN20/*编号和名称最大字符数,实际请更改*/

#defineN200/*最大设备数量,实际请更改*/

structequip

{

charcode[LEN+1];/*编号*/

charname[LEN+1];/*名称*/

charkind[LEN+1];/*种类*/

charprice[LEN+1];/*价格*/

chartime[LEN+1];/*购入日期*/

charyn[3];/*是否报废*/

charbroken[LEN+1];/*报废日期*/

}equ[N];

intk=1,n,m;/*定义全局变量*/

voidreadfile();/*函数声明*/

voidseek();voidmodify();voidinsert();voiddel();voiddisplay();

voidsave();voidmenu();

intmain()

{while(k)

menu();

system("pause");

return0;}

voidreadfile()/*建立信息*/

{

charbuf[BUFLEN],*p="student.dat";

FILE*fp;

inti=0;

if((fp=fopen("student.dat","r"))==NULL)

{printf("Openfile%serror!

Strikeanykeytoexit!

",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s%s%s%s%s%c%s",equ[i].code,equ[i].name,equ[i].kind,

equ[i].price,equ[i].time,equ[i].yn,equ[i].broken)==7)

{i++;i=i;}

fclose(fp);

n=i;

printf("录入完毕!

\n");}

voidseek()

{inti,j,item,flag;

chars1[21];/*以名称和编号最长长度+1为准*/

printf("------------------\n");

printf("1.按种类查询\n");

printf("2.按名称查询\n");

printf("3.退出本菜单\n");

printf("------------------\n");

while

(1)

{printf("请选择子菜单编号:

");

scanf("%d",&item);

flag=0;

switch(item)

{

case1:

printf("请输入要查询的设备的种类:

\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(equ[i].kind,s1)==0)

{flag=1;

printf("该设备的编号,名称,种类,价格,购入日期,是否报废,报废日期,分别为:

\n");

printf("%s%s%s%s%s%c%s\n",equ[i].code,equ[i].name,equ[i].kind,

equ[i].price,equ[i].time,equ[i].yn,equ[i].broken);

}

if(flag==0)

printf("该编号不存在!

\n");break;

case2:

printf("请输入要查询的设备的名称:

\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(equ[i].name,s1)==0)

{flag=1;

printf("该设备的编号,名称,种类,价格,购入日期,是否报废,报废日期分别为:

\n");

printf("%s%s%s%s%s%c%s\n",equ[i].code,equ[i].name,equ[i].kind,

equ[i].price,equ[i].time,equ[i].yn,equ[i].broken);}

if(flag==0)

printf("该名称不存在!

\n");break;

case3:

return;

default:

printf("请在1-3之间选择\n");}}}

voidmodify()/*修改信息*/

{inti,j,item,num;

charyn1[3],s1[LEN+1],s2[LEN+1];/*以名称和编号最长长度+1为准*/

printf("请输入要要修改的设备的编号:

\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(equ[i].code,s1)==0)

num=i;

printf("------------------\n");

printf("1.修改名称\n");

printf("2.修改种类\n");

printf("3.修改价格\n");

printf("4.修改购入日期\n");

printf("5.修改是否报废\n");

printf("6.修改报废日期\n");

printf("7.退出本菜单\n");

printf("------------------\n");

while

(1)

{printf("请选择子菜单编号:

");

scanf("%d",&item);

switch(item)

{

case1:

printf("请输入新的名称:

\n");

scanf("%s",s2);

strcpy(equ[num].name,s2);break;

case2:

printf("请输入新的种类:

\n");

scanf("%s",equ[num].kind);break;

case3:

printf("请输入新的价格:

\n");

scanf("%s",s2);

strcpy(equ[num].price,s2);break;

case4:

printf("请输入新的购入日期:

\n");

scanf("%s",s2);

strcpy(equ[num].time,s2);break;

case5:

printf("请输入新的是否报废:

\n");

scanf("%c",yn1);

strcpy(equ[num].yn,yn1);break;

case6:

printf("请输入新的报废日期:

\n");

scanf("%s",s2);

strcpy(equ[num].broken,s2);break;

case7:

return;

default:

printf("请在1-7之间选择\n");}}}

voidinsert()

{inti=n,j,flag;

printf("请输入待增加的设备数:

\n");

scanf("%d",&m);

do

{flag=1;

while(flag)

{flag=0;

printf("请输入第%d个设备的编号:

\n",i+1);

scanf("%s",equ[i].code);

for(j=0;j

if(strcmp(equ[i].code,equ[j].code)==0)

{printf("已有该编号,请检查后重新录入!

\n");

flag=1;

break;/*如有重复立即退出该层循环,提高判断速度*/}

}

printf("请输入第%d个设备的名称:

\n",i+1);

scanf("%s",equ[i].name);

printf("请输入第%d个设备的种类:

\n",i+1);

scanf("%s",equ[i].kind);

printf("请输入第%d个设备的价格:

\n",i+1);

scanf("%s",equ[i].price);

printf("请输入第%d个设备的购入日期:

(格式:

年.月)\n",i+1);

scanf("%s",equ[i].time);

printf("请输入第%d个设备是否报废:

\n",i+1);

scanf("%c",equ[i].yn);

printf("请输入第%d个设备的报废日期:

\n",i+1);

scanf("%s",equ[i].broken);

if(flag==0)

{i=i;i++;

}}while(i

n+=m;

printf("录入完毕!

\n\n");}

voiddel()

{inti,j,flag=0;

chars1[LEN+1];

printf("请输入要删除设备的编号:

\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(equ[i].code,s1)==0)

{flag=1;

for(j=i;j

equ[j]=equ[j+1];}

if(flag==0)

printf("该编号不存在!

\n");

if(flag==1)

{printf("删除成功,显示结果请选择菜单6\n");

n--;}}

voiddisplay()

{inti,j;

printf("所有设备的信息为:

\n");

for(i=0;i

{printf("%s%s%s%s%s%c%s\n",equ[i].code,equ[i].name,equ[i].kind,

equ[i].price,equ[i].time,equ[i].yn,equ[i].broken);}}

voidsave()

{inti,j,k,flag=0;

FILE*fp;

fp=fopen("equip.dat","w");

for(i=0;i

{fprintf(fp,"%s%s%s%s%s%c%s\n",equ[i].code,equ[i].name,equ[i].kind,

equ[i].price,equ[i].time,equ[i].yn,equ[i].broken);}

fclose(fp);}

voidmenu()/*界面*/

{intnum;

printf("\n\n简易设备信息管理系统\n\n");

printf("*****系统功能菜单*****\n");

printf("---电子094226号制作-------\n");

printf("1.读入设备信息\n");

printf("2.查询设备信息\n");

printf("3.修改设备信息\n");

printf("4.录入设备信息\n");

printf("5.按编号删除信息\n");

printf("6.显示当前信息\n");

printf("7.保存当前设备信息(要把修改保存到文件,退出程序前必须执行本项)\n");

printf("8.退出系统\n");

printf("----------------------\n");

printf("请选择菜单编号:

");

scanf("%d",&num);

switch(num)

{

case1:

readfile();break;

case2:

seek();break;

case3:

modify();break;

case4:

insert();break;

case5:

del();break;

case6:

display();break;

case7:

save();break;

case8:

k=0;break;

default:

printf("请在1-8之间选择\n");

}

}

(主页面)

(录入数据)

(查询)

(修改信息)

 

(信息的删除)

心得体会

在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。

我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。

老师安排我们有具体的分工:

首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项。

老师把我们分为几组,每一组五个人,并且分配了具体的任务。

然后,同学们把自到自己的小组里,大家具体分工,你编这道题,我编这道题……我们不会的地方就去问学习比较好一些的同学,或者去问老师,老师和同学们总是那么的热心,只要你还不明白,不论你问多少次,老师和同学们都会耐心地给你细心的讲解,直到讲会为止。

最后,我们把自己的成果交给老师,经过老师的检阅,然后答辩,就这样,这次实习圆满结束。

这次实习是有益的,它不仅让我们学习到了C语言的知识,更让我们学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1