C++课程设计报告家具管理系统方案.docx
- 文档编号:24816532
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:21
- 大小:124.21KB
C++课程设计报告家具管理系统方案.docx
《C++课程设计报告家具管理系统方案.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告家具管理系统方案.docx(21页珍藏版)》请在冰豆网上搜索。
C++课程设计报告家具管理系统方案
C++课程设计报告
(20--20年度第学期)
专业
学生
班级
学号
指导教师
完成日期
家具进货管理的设计与实现
1概述
1.1课程设计目的
1、巩固并加深学生对C++语言程序设计知识的理解;
2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;
3、进一步掌握和应用VC++6.0集成开发环境;
4、提高运用C++语言解决实际问题的能力;
5、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统;
6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。
1.2课程设计容
课题名称:
家具进货管理系统的实现
说明:
实现一个家具进货管理系统。
要求:
1)实现基本的输入输出。
2)能够实现录入,修改,查找,删除等基本功能。
2系统需求分析
进货系统要有家具名字、进价、建议售价、进货时间、进货数量
需要有进货入账、及基本的数据功能。
2.1主体功能
1、数据录入
2、数据显示
3、数据删除
4、数据从文件读取
5、数据保存到文件
6、数据修改
2.2开发环境
VC++6.0
3系统概要设计
3.1系统功能划分
表3-1系统功能
●录入家具信息input()
●显示家具信息display()
●删除家具信息del()
●查询家具成绩find()
●从文件读入家具信息read()
●修改家具信息modi()
●保存家具信息save()
●退出exit
3.2系统流程图
图3-1系统流程图
4系统详细设计
4.1设计步骤
首先运行vc6新建c++文件并添加到一个新的工程中界面中首先按照系统需求创建结构体
然后编写主函数菜单
然后按照菜单的逻辑编写每一个函数每一个函数编写完都要测试测试好继续编写下一个函数。
4.2运行结果
运行界面效果如图4-8:
图4-8总菜单
录入家具信息界面
从文件读入家具信息
显示家具信息
查询家具信息
修改家具信息界面
4.3实现主菜单的函数
/*主函数*/
voidmain()
{
//read();
intas;
/*一下为功能选择模块*/
do
{
system("cls");
start:
cout<<"\n\t\t\t欢迎使用家具进货管理系统"< cout<<"\n\t\t-----------------------------------------"< cout<<"\n\t\t\t\t1.录入家具信息"< cout<<"\t\t\t\t2.显示家具信息"< cout<<"\t\t\t\t3.删除家具信息"< cout<<"\t\t\t\t4.查询家具成绩"< cout<<"\t\t\t\t5.从文件读入家具信息"< cout<<"\t\t\t\t6.修改家具信息"< cout<<"\t\t\t\t7.保存家具信息"< cout<<"\t\t\t\t0.退出"< cout<<"\t\t\t\t选择功能选项: "< fflush(stdin); scanf("%d",&as); switch(as) { case1: system("cls");input();break; case2: system("cls");display();break; case3: system("cls");del();break; case4: system("cls");find();break; case5: system("cls");read();break; case6: system("cls");modi();break; case7: system("cls");save();break; case0: system("exit");exit(0); default: system("cls");gotostart; } }while (1); /*至此功能选择结束*/ } 函数用了一个死循环在按7的时候退出主函数程序结束其他根据按不用的数字键执行不用的函数来完成相应的功能 5测试 在每做一个函数完成的时候就会测试单独的函数最后总测试 主界面运行 显示存中记录的界面 查询家具界面 修改家具信息界面 6小结 通过一个多星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。 看着劳动成果,很欣慰! 刚开始,可以说是完全没有头绪,于是上网查,找到了些与我题目相似的源代码,然后对之进行修改,测试,最后得到我这次课程设计所需要的代码. 通过计算器的设计这一课题的设计和实现,我对简单的C语言编程有了进一步的认识,对MicrosoftVisualC++6.0这个程序的操作更加熟练了一些。 回顾此次的课程设计,我学到了很多东西不仅巩固了书本的知识并且与实践相结合提高具体操作能力,在设计的过程中发现自己的不足,有些知识掌握的不够牢靠,通过这次的课程设计之后我把前面所学的知识又重新温故了一遍。 同时,在老师和同学身上我学到了很多非常实用的知识,在此对给过我帮助的同学和老师表示由衷的感! 参考文献 [1]谭浩强.C程序设计(第三版)[M].: 清华大学,2005. [2]谭浩强.C程序设计题解与上机指导(第三版)[M].: 清华大学,2005. [3]甄炜.C++语言和面向对象程序设计教程[M].: 机械工业,2005. 附录 附录1源程序清单 #include #include #include #include #include #include #defineMAX30 //自定义函数声明区 voidinput(); voiddisplay(); voiddel(); voidread(); voidfind(); voidmodi(); voidsave(); intnow_no=0; structjiaju { charmingzi[17];//名字 floatjinjia;//进价 floatjianyishoujia;//建议售价 charjinhuoshijian[12];//进货时间 intjinhuoshuliang;//进货数量 }; structjiajujj1[MAX]; /*主函数*/ voidmain() { //read(); intas; /*一下为功能选择模块*/ do { system("cls"); start: cout<<"\n\t\t\t欢迎使用家具进货管理系统"< cout<<"\n\t\t-----------------------------------------"< cout<<"\n\t\t\t\t1.录入家具信息"< cout<<"\t\t\t\t2.显示家具信息"< cout<<"\t\t\t\t3.删除家具信息"< cout<<"\t\t\t\t4.查询家具成绩"< cout<<"\t\t\t\t5.从文件读入家具信息"< cout<<"\t\t\t\t6.修改家具信息"< cout<<"\t\t\t\t7.保存家具信息"< cout<<"\t\t\t\t0.退出"< cout<<"\t\t\t\t选择功能选项: "< fflush(stdin); scanf("%d",&as); switch(as) { case1: system("cls");input();break; case2: system("cls");display();break; case3: system("cls");del();break; case4: system("cls");find();break; case5: system("cls");read();break; case6: system("cls");modi();break; case7: system("cls");save();break; case0: system("exit");exit(0); default: system("cls");gotostart; } }while (1); /*至此功能选择结束*/ } voidinput()//**************************************************数据录入模块 { inti=0; charch,ch2; do { cout<<"\t\t\t\t1.录入家具信息\n输入第"< cout<<"\n输入名字: "< fflush(stdin); gets(jj1[i].mingzi); fflush(stdin); cout<<"\n输入进货时间XXXX-MM-DD: "< fflush(stdin); gets(jj1[i].jinhuoshijian); cout<<"\n输入进价: "< fflush(stdin); cin>>jj1[i].jinjia; cout<<"\n输入建议售价: "< fflush(stdin); scanf("%f",&jj1[i].jianyishoujia); cout<<"\n进货数量: "< fflush(stdin); cin>>jj1[i].jinhuoshuliang; cout<<"\n\n"< i++; now_no=i; cout<<"是否继续输入? (Y/N)"< fflush(stdin); ch=getch(); system("cls"); } while(ch! ='n'&&ch! ='N'); cout<<"是否保存数据? (Y/N)"< fflush(stdin); ch2=getch(); if(ch2=='y'||ch2=='Y') save(); system("cls"); } voidsave()//**************************************************保存信息模块 { FILE*fp; inti; charfilepath[20]; //cout<<"输入要保存的文件路径: "); //fflush(stdin); //gets(filepath); strcpy(filepath,"result.txt"); charch; cout<<"保存 (1)还是追加 (2)? (1/2)"; fflush(stdin); ch=getch(); if(ch=='2') fp=fopen(filepath,"a"); else fp=fopen(filepath,"w"); if(fp==NULL) { cout<<"\n保存失败! "; exit(0); } for(i=0;i { fprintf(fp,"%-17s%-8.2f%-8.2f%-12s%-6d\n",jj1[i].mingzi,jj1[i].jinjia,jj1[i].jianyishoujia,jj1[i].jinhuoshijian,jj1[i].jinhuoshuliang); } fclose(fp); cout<<"家具进货信息已保存在%s中! \n",filepath; system("pause"); system("cls"); } voidread()//**************************************************从文件读取信息模块 { FILE*fp; inti; charfilepath[20]; strcpy(filepath,"result.txt"); if((fp=fopen(filepath,"r"))==NULL) { cout<<"找不到%s文件! \n",filepath; system("pause"); exit(0); } now_no=0; for(i=0;i feof(fp);i++) { fscanf(fp,"%17s%8f%8f%12s%6d\n",jj1[i].mingzi,&jj1[i].jinjia,&jj1[i].jianyishoujia,jj1[i].jinhuoshijian,&jj1[i].jinhuoshuliang); now_no++; } fclose(fp); //cout<<"保存的在文件%s中的所有信息已经读入! \n",filepath); system("pause"); system("cls"); } voiddisplay()//**************************************************显示模块 { inti; cout<<"名字-------------进价------建议售价----进货时间----进货数量\n"< for(i=0;i { printf("%-17s%-11.2f%-11.2f%-15s%-6d\n",jj1[i].mingzi,jj1[i].jinjia,jj1[i].jianyishoujia,jj1[i].jinhuoshijian,jj1[i].jinhuoshuliang); if(i%15==0&&i>0) system("pause"); } system("pause"); } voiddel()//**************************************************删除模块 { intinum,i,j,k,x=0; charstr[19]; j=0;k=0; if(now_no==0) {cout<<"记录集为空"< cout<<"\n输入要删除的家具名字: "< fflush(stdin); gets(str); for(i=0;i if(strcmp(jj1[i].mingzi,str)! =0) { jj1[j++]=jj1[i]; k++; } else { x=1; cout<<"要删除的家具信息为\n< cout<<"名字-------------进价------建议售价----进货时间----进货数量\n< printf("%-17s%-11.2f%-11.2f%-15s%-6d\n",jj1[i].mingzi,jj1[i].jinjia,jj1[i].jianyishoujia,jj1[i].jinhuoshijian,jj1[i].jinhuoshuliang); system("pause"); } if(x==0) {cout<<"没有找到要删除的家具";system("pause");} now_no=k; system("cls"); } voidfind()//**************************************************查找模块(按名字) { charstr[19]; inti,x=0; cout<<"\n输入要查询的家具名字: "< fflush(stdin); gets(str); for(i=0;i if(strcmp(jj1[i].mingzi,str)==0) { x=1; cout<<"名字-------------进价------建议售价----进货时间----进货数量\n"< printf("%-17s%-11.2f%-11.2f%-15s%-6d\n",jj1[i].mingzi,jj1[i].jinjia,jj1[i].jianyishoujia,jj1[i].jinhuoshijian,jj1[i].jinhuoshuliang); } if(x==0) {cout<<"没有找到要查询的家具";system("pause");} system("pause"); } voidmodi()//**************************************************修改模块 { inti=0; charstr[19]; charch; fflush(stdin); //ch=getch(); cout<<"\n输入要修改的家具名字: "< fflush(stdin); gets(str); for(i=0;i if(strcmp(jj1[i].mingzi,str)==0) { fflush(stdin); cout<<"\n输入进货时间XXXX-MM-DD: "< fflush(stdin); gets(jj1[i].jinhuoshijian); cout<<"\n输入进价: "< fflush(stdin); cin>>jj1[i].jinjia; cout<<"\n输入建议售价: "< fflush(stdin); cin>>jj1[i].jianyishoujia; cout<<"\n进货数量: "< fflush(stdin); cin>>jj1[i].jinhuoshuliang; break; } system("cls"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告 家具 管理 系统 方案