超市管理系统C语言课程设计.docx
- 文档编号:8125023
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:14
- 大小:38.57KB
超市管理系统C语言课程设计.docx
《超市管理系统C语言课程设计.docx》由会员分享,可在线阅读,更多相关《超市管理系统C语言课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
超市管理系统C语言课程设计
C语言程序设计
超
市
管
理
系
统
第1章课程设计目的要求
设计目的.............................................3
设计要求..............................................3
设计思路.............................................3
第2章课程设计任务内容
课程设计题目..........................................3
课程设计任务..........................................4
设计内容..........................................4
各组员任务..........................................4
第3章详细设计说明
系统模块图.................................................4
主要函数定义..............................................5
主函数...............................................5
其他函数...............................................7
结构体的建立和文件的使用...................................8
结构体的建立..........................................8
文件的使用.............................................9
第四章课程设计心得与体会.......................................10
附录·程序源代码
参考文献
第一章课程设计目的要求
设计“超市管理系统”的主要目的是锻炼学生综合运用所学的C语言程序设计知识的能力,独自利用C语言知识编写承训解决实际问题的能力,培养同学严谨的工作态度和良好的程序设计习惯,让同学们认识到必须重视实践环节,多读程序,多编写程序,多上机实践。
进一步培养结构化程序设计的思想,加深对高级语言要素和控制结构的理解。
通过课程设计的训练,学生能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本过程,掌握程序设计的技巧的大体流程。
本次程序设计主要侧重于知识的运用,把平时学到的运用到实践中去。
设计目标:
1.熟悉c语言的编译连接和运行过程。
2.掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。
3.掌握if语句及switch语句的运用方法及嵌套应用方法。
4.掌握实现循环结构的三种语句while、do-while.、for的使用。
5.掌握函数的定义方法和调用方法。
6.能够采用模块化思想调试程序。
7.指针和文件的使用,结构体的使用
设计要求:
1.源程序要有适当的注释,使程序容易阅读。
2.必须用结构体和文件等数据结构。
3.程序的运行结果要求使用文件作备份。
4.至少输出一份报表,鼓励自行增加新功能。
第二章课程设计任务内容
课程设计题目
超市管理系统
课程设计任务
系统为超市管理系统,在此系统当中需要用到许多函数,包括系统
函数以及自定义的函数,在这个系统当中,总共分为五个模块:
管理员登陆、客户信息管理、商品管理、购物结算、销售结算。
设计内容
本次实习中,主要用到的C语言知识有结构体、指针、文件、数组。
层层镶嵌的思路将各个模块要实现的功能环环相扣。
其中,在管理员登陆后,进入的是主菜单,在这个环节当中,我们将菜单设计为函数,并将菜单函数放入一个单独的C文件中管理,实现层层进入功能。
主菜单函数又分为商品管理、客户管理、购物结算、销售结算等函数的管理,在此当中,主要采用结构体定义客户信息,文件访问等。
各组员任务
为保证设计在规定时间内完成,我们将各模块分工到个人。
确保任务有质量有效率的同时锻炼团队的团结协作能力。
第三章详细设计说明
系统模块图(未完)
主要函数定义
主函数
主函数主要包含的是登陆界面并且设置登陆界面其中包含:
1.登录
2.关于我们
3.退出系统
实现其功能主要用到如下知识:
一.其中使用了多种系统自定义的头文件以及用户自定义的头文件如下:
#include<>
#include<>
#include<>
#include<>
#include<>
#include“”
#include“”
#include“”
#include“”
#include“”
二.使用了main()函数、aboutUs()函数,login()函数和pcontinue()函数
①voidmain(){
charchoice='3';登录\n");
printf("\t\t\t2.关于我们\n");
printf("\t\t\t3.退出系统\n");
printf("\n\n*******************************************\n\n");
printf("\n请输入您的选项(1,2,3):
");
choice=getch();}
②voidaboutUs(){
system("cls");
BreakLine;
printf("\t\t版权所有@湖南工学院网络1101班柠檬·5\n\n");
printf("\t\t\t柠檬·5专属,翻版必究\n\n");
printf("\t\t技术扶持Tell:
");
BreakLine;
pcontinue();}
③intlogin(){
charupwd[8];
inti;
system("cls");
for(i=1;i<4;i++){
BreakLine;
printf("请输入您的8位数密码");
scanf("%s",upwd);
if(strcmp(upwd,realpassword)==0)
return1;
printf("您好,您的密码错误,请确认后重新输入\n");
printf("您还有%d次输入机会",(3-i));}
printf("\n系统郑重提示,您不是合法用户,强制退出\n");
exit(0);}
④在定义voidpcontinue()函数实现按任意键继续功能
voidpcontinue(){
printf("\t按任意键继续\n");
getch();}
三.清屏语句,Dowhile,宏定义等的使用
⑴清屏语句:
system("cls");
⑵使用了DoWhile循环实现了在进入关于我们部分时可以再次返回登陆界面。
⑶使用了宏定义。
在头文件中定义BreakLine
#defineBreakLine
printf("\n\n***************************************************\n\n")
⑷使用了switch语句进行了选择并且在语句中使用了多种函数嵌套使功能完整。
switch(choice){
case'1':
if(login()==1){
showMainMenu();
}
break;
case'2':
aboutUs();break;
case'0':
printf("\n\n系统安全退出\n\n");
exit(0);
break;
⑸在输入密码部分使用了For循环,实现了在登陆三次密码不正确的情况下强制退出系统:
for(i=1;i<4;i++){
BreakLine;
printf("请输入您的8位密码:
");
scanf("%s",upwd);o=0){
break;}
else{i++;
}
}
fclose(fp);
returni;}
第四章程序设计心得与体会
通过为期两周的课程设计,我们不仅复习了课本上所学知识,还通过查阅资料、询问老师同学学到了很多课本上没有的只是,从而启发我们:
要想写好程序,在学好课本只是的同时还需要多阅读和专业有关的书记,同时还需要多动脑子,要有缜密的逻辑思维能力和综合应用能力。
简而言之,我们要做到三心:
编写代码要细心;检查错误要耐心;完成任务要恒心。
除此,在学到知识的同时锻炼了我们的团结合作精神,也使得我们小组成员之间有更深的交流。
所以,很感谢学校和老师给我们提供这样一个机会。
在锻炼自己的同时让自己养成了良好的学习习惯。
我希望自己能一直带着这份心态和习惯大步向前。
参考文献
[1]武爱平卜耀华孙东卫.C语言程序设计[M].长春:
吉林大学出版社。
附录
柠檬·5supermarket管理系统源代码
SourceFiles
1.
voidpcontinue();
voidpcontinue(){
printf("\t按任意键继续\n");
getch();}
2.
#include<>
#include<>登录\n");
printf("\t\t\t2.关于我们\n");
printf("\t\t\t3.退出系统\n");
printf("\n\n*****************\n\n");商品管理\n");
printf("\t\t2.客户管理\n");
printf("\t\t3.购物预算\n");
printf("\t\t4.销售预算\n");
printf("\t\t5.退出系统\n");
BreakLine;
printf("\n\n请输入您的选择(1,2,3,4,5):
");
choice=getch();
switch(choice){
case'1':
showGoodsmenue();break;
case'2':
showCustmenue();break;
case'3':
showSell();break;
case'4':
showSales();break;
case'5':
printf("\n\n系统安全退出\n\n");
exit(0);
break;
default:
printf("\n您的输入有误,请检查后重新输入\n");
pcontinue();}
}
}
voidshowGoodsmenue(){
charchoice='5';
while
(1){
system("cls");
BreakLine;
printf("\t\t1.添加商品\n");
printf("\t\t2.查询商品\n");
printf("\t\t3.更新商品\n");
printf("\t\t4.删除商品\n");
printf("\t\t5.返回上一级\n");
BreakLine;
printf("\n\n请输入您的选择(1,2,3,4,5):
");
choice=getch();
switch(choice){
case'1':
addgoods();break;
case'2':
findgoods();break;
case'3':
updategoods();break;
case'4':
delgoods();break;
case'5':
showMymenue();break;
default:
printf("\n您的输入有误,请检查后重新输入\n");
pcontinue();}
}
}
voidshowCustmenue(){
charchoice='5';
while
(1){
system("cls");
BreakLine;
printf("\t\t1.添加客户\n");
printf("\t\t2.查找客户\n");
printf("\t\t3.修改客户\n");
printf("\t\t4.删除客户\n");
printf("\t\t5.返回上一级\n");
BreakLine;
printf("\n\n请输入您的选择(1,2,3,4,5):
");
choice=getch();
switch(choice){
case'1':
addcust();break;
case'2':
findall();break;
case'3':
updatecust();break;
case'4':
delcust();break;
case'5':
showMymenue();break;
default:
printf("\n您的输入有误,请检查后重新输入\n");
pcontinue();}
}
}
voidshowSales(){
charchoice='5';
while
(1){
system("cls");
BreakLine;
printf("\t\t1.显示最具有贡献精神VIP客户排行榜\n");
printf("\t\t2.显示最具有影响力的商品排行榜\n");
printf("\t\t3.显示库存商品量排行榜\n");
printf("\t\t4.当月生日的客户\n");
printf("\t\t5.返回上一级\n");
BreakLine;
printf("\n\t\t请输入您的选择(1,2,3,4,5):
");
choice=getch();
switch(choice){
case'1':
showVIP();break;
case'2':
Goodseffect();break;
case'3':
Goodssave();break;
case'4':
Birthdayperson();break;
case'5':
showMymenue();break;
default:
printf("\n\t\t您的输入有误,请确认重新输入.\n");
pcontinue();}品交易信息\n");
printf("\t\t2.返回上一级\n");
BreakLine;
printf("\n\t\t请输入您的选择(1,2,):
");
choice=getch();
switch(choice){
case'1':
shopping();break;
case'2':
showMymenue();break;
default:
printf("\n\t\t您的输入有误,请确认重新输入.\n");
pcontinue();}o==0){
break;
}else{i++;
}
}o){
break;}
}ame);
printf("请输入客户消费:
");
scanf("%d",&cust[i].expenditure);
printf("请输客户电话:
");
scanf("%s",cust[i].tel);
printf("请输入客户的生日(格式:
1999-9-9):
");
scanf("%d-%d-%d",&cust[i].,&cust[i].,&cust[i].;
BreakLine;
saveAll();
printf("\n更新客户信息成功,按任意键继续\n");
getch();}
voiddelcust(){
inti;
inttodelno;o){
break;}
}
if(i==total){
printf("\n没有找到您要删除的客户\n");
pcontinue();
getch();
return;
}
printf("亲爱的管理员,删除后无法恢复,您确定要删除吗(yorn)");
choice=getch();
if(choice=='n'){
printf("\n放弃删除,返回上一级\n");
printf("\n按任意键继续\n");
getch();
return;
}o==0){
break;
}else{
i++;}
}
fclose(fp);
returni;
}
voidsaveall(){
FILE*fp;
inti;
if((fp=fopen("","wb"))==NULL){
printf("\n无法打开文件\n");
return;
}
for(i=0;i fwrite(&goods[i],sizeof(structgoods),1,fp); } fclose(fp); } voidaddgoods(){ structgoodsnewgoods;o){ break;} }o){ break;} }泡2.选择 o){ break;} } if(i==number){ printf("\n没有找到您想购买的商品\n"); printf("\n按任意键继续\n"); getch(); return; } shopping=goods[i]; if==0){//判定想购买的商品是否卖完 printf("\n对不起,您需要的商品已卖完,请重新购买\n\n");} else{ printf("\n编号\t名称\t生产期\t\t单价"); printf("\n%d\t%s\t%d-%d-%d\t%d",,,printf("\n请输入您需要购买的商品数量: "); scanf("\t%d",&quality); money+=*quality; printf("\n您是否继续购买(y/n): "); if(getch()=='y') pcontinue; else break; printf("\n*************您应收现金¥: %d元\n",money); printf("\n*******************实收现金: \n"); scanf("%d",&x); =buymenu; +=buymenu; y==x-money; printf("\n*****************找回现金: %d\n",y); goods[i]=shopping; Saveall(); pcontinue(); } } } HeaderFiles 1. pcontinue(); 2. #defineBreakLineprintf("\n\n**************************\n\n") 3. voidshowMymenue(); 4. voidaddcust(); voidfindall(); voidupdatecust(); voiddelcust(); voidsaveAll(); 5. voidaddgoods(); voidfindgoods(); voidupdategoods(); voiddelgoods(); 6. voidshowVIP(); voidGoodseffect(); voidGoodssave(); voidBirthdayperson(); voidshowMymenue(); 7. voidshopping();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 语言 课程设计