C语言课程设计报告模版.docx

上传人:b****5 文档编号:11756036 上传时间:2023-03-31 格式:DOCX 页数:19 大小:145.94KB
下载 相关 举报
C语言课程设计报告模版.docx_第1页
第1页 / 共19页
C语言课程设计报告模版.docx_第2页
第2页 / 共19页
C语言课程设计报告模版.docx_第3页
第3页 / 共19页
C语言课程设计报告模版.docx_第4页
第4页 / 共19页
C语言课程设计报告模版.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告模版.docx

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

C语言课程设计报告模版.docx

C语言课程设计报告模版

C语言课程设计报告

课程名称:

C语言课程设计

教师姓名:

学生姓名:

学生学号:

专业:

计算机应用技术

所在院系:

信息与智能工程系

日期:

 

1.课程设计题目:

实验设备管理系统设计

【要求】

实验设备信息包括:

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

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

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

(1)能够完成对设备的录入和修改。

(2)对设备进行分类统计。

(3)设备的查询。

【提示】

需求分析:

实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;另外还要提供键盘式选择菜单以实现功能选择。

2.程序设计思路

根据需求分析,可将系统的设计分为四个模块:

输入模块,修改模块,统计模块,查询模块;实验室设备信息用文件存储,提供文件的输入输出;建立实验设备信息结构体,结构体成员包括:

设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。

(1)主函数设计

主函数提供输入,处理,输出部分的函数调用,其中各功能模块用菜单方式选择,即主函数里显示一系列功能选项,判断后,是否调用个功能模块用了switch()选择功能。

(2)各功能模块设计

输入模块:

定义了文件型指针变量,打开文件输入用户要输入设备的个数,输入设备的各项详细信息,将输入的信息存储到文件的中;用到fopen(文件名,使用文件方式);fclose(文件指针);fprintf(文件指针,格式字符串,输出列表)。

修改模块:

输入要修改的设备编号,是否找到该设备资料,如果找到记录,调用修改函数,对该设备的信息进行修改;如果没有找到,返回主菜单。

在寻找的过程中用了字符串的比较strcmp(字符串1,字符串2),如果字符串1=字符串2,则函数值为0。

如果字符串1>字符串2,则函数值为一个正整数。

如果字符串1<字符串2,则函数值为一个负整数。

比较时,只能用if(strcmp(str1,str2)>0)。

还用到feof()若到文件末尾,函数值为“真”。

统计模块:

打开文件,并对文件中的设备信息进行统计计算类型数目,总价格,平均价格;此程序中将char类型转化成double型,用到了pc=atof();fscanf(文件指针,格式字符串,输入列表);同样也用到了字符串的比较strcmp(字符串1,字符串2),feof()。

查询模块:

询问用户想要选择的搜索方式,分三种类型查询(设备名称,设备型号,设备价格),再用switch()的选择功能,每一种类型有用到了feof()控制循环,字符串的比较strcmp(字符串1,字符串2),

3.功能模块图

(1)输入模块

(2)修改模块

 

(3)统计模块

 

 

(4)查询模块

 

4.数据结构设计

此程序中用到了

(1)基本类型:

1)常量的使用#defineN50,

2)整型(int),

3)字符型(char),

4)浮点型(双精度double)。

(2)构造类型:

1)数组类型(equipCode[10],equipType[20],equipName[20]

equipPrice[10],equipOver[20],equipYesno[10],equipTime[10])

2)结构体类型:

structequip

{

charequipCode[10];

charequipType[20];

charequipName[20];

charequipPrice[10];

charequipOver[20];

charequipYesno[10];

charequipTime[10];

}equ[N],temp;

(3)指针类型:

FILE*fp,文件型指针变量,fp是一个指向FLIE类型结构

的指针变量。

5.功能模块设计

 

 

 

 

6.程序代码

#include"stdio.h"

#include

#include

#defineN50

structequip

{

charequipCode[10];

charequipType[20];

charequipName[20];

charequipPrice[10];

charequipOver[20];

charequipYesno[10];

charequipTime[10];

}equ[N],temp;

intenter()//输入记录

{

FILE*fp;

intc;

printf("**************************************\n");

printf("Addnewequiment\n");

printf("**************************************\n");

if((fp=fopen("test.txt","a"))==NULL)

{

printf("Cannotopenfile!

\n");

}

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

printf("请输入设备ID号:

\n");

scanf("%s",temp.equipCode);

printf("请输入设备类型\n");

scanf("%s",temp.equipType);

printf("请输入设备名称\n");

scanf("%s",temp.equipName);

printf("请输入设备价格\n");

scanf("%s",temp.equipPrice);

printf("请输入设备购买日期\n");

scanf("%s",temp.equipTime);

printf("请输入设备报废日期\n");

scanf("%s",temp.equipOver);

printf("请输入设备是否报废\n");

scanf("%s",temp.equipYesno);

fprintf(fp,"%s%s%s%s%s%s%s\n",

temp.equipCode,

temp.equipType,

temp.equipName,

temp.equipPrice,

temp.equipTime,

temp.equipOver,

temp.equipYesno);

fclose(fp);

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

printf("Returntomainmenu?

\n");

printf("1.YES,AdditionSuccessful\n");

printf("2.NO,Iwanttoquitnow\n");

scanf("%d",&c);

if(c==1)return(0);

if(c==2)return(0);

}

intmodifty()//修改记录

{

charcode[10];

inti,j;

intc;

FILE*fp;

printf("*************************************\n");

printf("Modiftyfortheequiment\n");

printf("*************************************\n");

printf("Pleaseinputtheequipcodeformodiftying\n");

scanf("%s",code);

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

if((fp=fopen("test.txt","r"))==NULL)

{

printf("\nCannotopentest!

\n");

}

for(i=0;!

feof(fp);i++)

{

fscanf(fp,"%s%s%s%s%s%s%s",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

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

{

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

printf("InputnewequipCode\n");

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

printf("Inputnewequiptype\n");

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

printf("Inputnewequipname\n");

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

printf("InputequipPrice\n");

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

printf("Inputneweuiptime\n");

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

printf("Inputneweuipover\n");

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

printf("Inputneweuipyesno\n");

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

}

}

fclose(fp);

j=i;

if((fp=fopen("test.txt","w"))==NULL)

{

printf("\nCannotopentest!

\n");

}

for(i=0;i

{

printf("\nwrite!

\n");

fprintf(fp,"%s%s%s%s%s%s%s",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

}

fclose(fp);

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

printf("Returntomainmenu?

\n");

printf("1.YESModifySuccessful\n");

printf("2.NO,quitnow\n");

scanf("%d",&c);

if(c==1)return(0);

if(c==2)return(0);

}

intdisp()//统计记录

{

intc;

doublesum=0;

intcount=0;

doubleaver=0;

chartype[20];

inti;

FILE*fp;

if((fp=fopen("test.txt","r"))==NULL)

{

printf("\nWrong\n");

}

printf("pleaseinputequipType:

\n");

scanf("%s",type);

for(i=0;!

feof(fp);i++)

{

fscanf(fp,"%s%s%s%s%s%s%s",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

printf("\nOK!

\n");

printf("%s,%s,%s,%s,%s,%s,%s\n",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

if(strcmp(equ[i].equipType,type)==0)

{

doublepc=atof(equ[i].equipPrice);//char转换为double

count++;

sum+=pc;

aver=sum/count;

}

}

fclose(fp);

printf("----------Statist--Result-----------");

printf("\n\n这种类型的数目:

%d",count);

printf("\n\n总的价格:

%lf",sum);

printf("\n\n平均价格:

%lf",aver);

printf("\nexit");

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

printf("Returntomainmenu?

\n");

printf("1.YESDispSuccessful\n");

printf("2.NO,quitnow.\n");

scanf("%d",&c);

if(c==1)return(0);

if(c==2)return(0);

}

intsearch()//查询记录

{

charcode[10];

charname[20];

charprice[10];

intsel;

intc;

FILE*fp;

inti;

fp=fopen("test.txt","r");

if(fp==NULL)exit(0);

printf("pleasechoosethewayofsearch:

\n\n");

printf("1.searchbyequipCode\n\n");

printf("2.searchbyequipName\n\n");

printf("3.searchbyequipPrice\n\n");

printf("0.return\n\n");

printf("pleaseinputnumber0-5:

");

scanf("%d",&sel);

if(sel==0)exit(0);

switch(sel)

{

case0:

exit(0);break;

case1:

printf("pleaseinputequipCode:

\n");

scanf("%s",code);

for(i=0;!

feof(fp);i++)

{

fscanf(fp,"%s%s%s%s%s%s%s",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

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

{

printf("\nequipCode,equipType,equipName,equipPrice,euipTime,euipOver,euipYesno\n");

printf("\n%s,%s,%s,%s,%s,%s,%s\n",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

}

}

break;

case2:

printf("pleaseinputequipName:

\n");

scanf("%s",name);

for(i=0;!

feof(fp);i++)

{

fscanf(fp,"%s%s%s%s%s%s%s",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

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

{

printf("\nequipCode,equipType,equipName,equipPrice,euipTime,euipOver,euipYesno\n");

printf("\n%s,%s,%s,%s,%s,%s,%s\n",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

}

}

break;

case3:

printf("pleaseinputequipPrice:

\n");

scanf("%d",&price);

for(i=0;!

feof(fp);i++)

{

fscanf(fp,"%s%s%s%s%s%s%s",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

if(strcmp(price,equ[i].equipPrice)==0)

{

printf("\nequipCode,equipType,equipName,equipPrice,euipTime,euipOver,euipYesno\n");

printf("\n%s,%s,%s,%s,%s,%s,%s\n",

equ[i].equipCode,

equ[i].equipType,

equ[i].equipName,

equ[i].equipPrice,

equ[i].equipTime,

equ[i].equipOver,

equ[i].equipYesno);

}

}

break;

}

fclose(fp);

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

printf("Returntomainmenu?

\n");

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

当前位置:首页 > 人文社科 > 法律资料

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

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