小型超市管理系统#include<stdio.h> #include<string.h> #include<windows.h> #include<stdlib.h> int k,i,n; long temp1,temp2; struct good { long int num; /*商品编号*/ char name[20]; /*商品名称*/ char sort[20]; /*商品类型*/ long int count; /*商品数量*/ long int price; /*商品价格*/ }goods[200]; void Input(); void Sequence(); void Purchase(); void Sale(); void Edit(); void Modify(); void Search(); void Browse(); void Save(); void Sort_NUM(); void Sort_Name(); void Sort_Categ(); void Sort_Needs(); void Add(); void Delet(); void Input() /*输入商品信息*/ { int z; system("cls"); printf("\n··································\n"); printf("\n\n\t\t请输入需要建立新库存的商品种类数量:"); scanf("%d",&z); for(i=0;i<z;i++) { printf("\n·································\n"); printf("\n\t 请输入商品编号:"); scanf("%ld",&goods[i].num); printf("\n\t 请输入商品的名称:"); scanf("%s",goods[i].name); printf("\n\t 请输入商品类别:"); scanf("%s",goods[i].sort); printf("\n\t 请输入商品的数量:"); scanf("%ld",&goods[i].count); printf("\n\t 请输入商品的单价:"); scanf("%ld",&goods[i].price); } printf("\n\n\t 输入成功!请按任意键返回:"); getchar(); return; /*返回主页面*/ } void Sequence() { int m,flag=0; char choice; do { system("cls"); printf("\n········································\n"); printf("\n\n请选择一种排序的方式:0. 退出\t1. 按商品编号\t2. 按商品名字\t3. 按商品类别\n"); scanf("%d",&m); switch(m) { case 0:return; case 1:Sort_NUM();break; case 2:Sort_Name();break; case 3:Sort_Categ();break; default:printf("\n\t<<<输出有误,返回主菜单>>>"); } printf("\n\t继续排序操作吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); getchar();return; /*返回主页面*/ } void Sort_NUM() /*按编号排序*/ { long temp; char p1[30],p2[30]; //int k; /*"n"还未定义!!!!!!!!!!!*/ // n=100; for(k=0;k<n-1;k++) for(i=0;i<n-k-1;i++) if(goods[i].num>goods[i+1].num) { temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); temp1=goods[i].count; goods[i].count=goods[i+1].count; goods[i+1].count=temp1; temp2=goods[i].price; goods[i].price=goods[i+1].price; goods[i+1].price=temp2; } printf("-----------------------------------------------------------------------"); printf("\n\t\t按商品编号排序后的商品信息\n\n"); printf("\t商品编号 商品名称 商品类别 商品数量 商品单价\n\n"); for(i=0;i<n;i++) { if(goods[i].num==0) { continue; } printf("\t%6ld %9s %8s %7ld %7ld 元\n",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } printf("\n\t按任意键返回主菜单"); getchar(); return; } void Sort_Name() /*按商品名称排序*/ { long temp; char p1[30],p2[30]; for(k=0;k<n-1;k++) for(i=0;i<n-k-1;i++) if(strcmp(goods[i].name,goods[i+1].name)>0) { strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); temp1=goods[i].count; goods[i].count=goods[i+1].count; goods[i+1].count=temp1; temp2=goods[i].price; goods[i].price=goods[i+1].price; goods[i+1].price=temp2; } printf("---------------------------------------------------------------"); printf("\n\t\t按商品名称排序后的商品信息\n"); printf("\n\t商品名称 商品编号 商品类别 商品数量 商品单价\n"); for(i=0;i<n;i++) { if(goods[i].num==0) { continue; } printf("\t%7s %7ld %9s %7ld %7ld 元\n",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price); } printf("\n\t按任意键返回主菜单"); getchar(); return; } void Sort_Categ() /*按商品类别排序*/ { long temp; char p1[30],p2[30]; for(k=0;k<n-1;k++) /*变量未定义!!!!!!!!!!!!!!!!*/ for(i=0;i<n-k-1;i++) if(strcmp(goods[i].sort,goods[i+1].sort)>0) { strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); temp1=goods[i].count; goods[i].count=goods[i+1].count; goods[i+1].count=temp1; temp2=goods[i].price; goods[i].price=goods[i+1].price; goods[i+1].price=temp2; } printf("------------------------------------------------------"); printf("\n\t\t按商品类别排序后的商品信息\n\n"); printf("\t商品类别 商品编号 商品名称 商品数量 商品单价\n"); for(i=0;i<n;i++) { if(goods[i].num==0) { continue; } printf("\t%7s %7ld %9s %7ld %7ld 元\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price); } printf("\n\t按任意键返回主菜单"); getchar(); return; } void Purchase() /*进货*/ { long temp,j; int flag=0; char choice; system("cls"); do { printf("\n\n\t\5请输入进货的商品编号:"); scanf("%ld",&temp); printf("\n\t\5请输入商品的进货数量:"); scanf("%ld",&j); //printf("\n\n\n\:按任意键继续"); //getchar(); printf("\n\t\t\5输出进货后的商品信息:\n"); for(i=0;i<n;i++) { if(goods[i].num==temp) goods[i].count=goods[i].count+j; } for(i=0;i<n;i++) { if(goods[i].num==temp) printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); break; } printf("\n\t想继续进行进货操作吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); printf("\n\n\t\t请按任意键返回:"); getchar();return; } void Sale() /*销售商品信息*/ { long temp,j; int flag=0; char choice; system("cls"); do { printf("\n\t\5请输入刚销售的商品编号:"); scanf("%ld",&temp); printf("\n\t\5请输入刚销售的商品数量:"); scanf("%ld",&j); for(i=0;i<n;i++) if(temp==goods[i].num) { for(;j>goods[i].count;) { printf("\n\t售出数量大于商品原有数量,出现错误,请重新输入:"); scanf("%ld",&j); } goods[i].count=goods[i].count-j;/*完成自动更新商品数量的功能*/ } getchar(); printf("\n\t\t\t销售后商品信息:"); for(i=0;i<n;i++) { if(goods[i].num==temp) printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); break; } printf("\n\t继续销售操作吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); printf("\n\n\t按任意键返回:"); getchar(); return; /*返回功能选择界面*/ } void Edit() { system("cls"); printf("\n\t请选择:1.添加商品信息; 2.删除商品信息;"); printf("\n\t请输入1或2继续:"); scanf("%d",&k); /*变量未定义!!!!!!!!!!!!!!!!*/ switch(k) { case 1:Add();break; case 2:Delet();break; } getchar(); return; } void Add() { int flag=0; char choice; system("cls"); do { printf("\n\t\5请输入所添加商品的商品编号:"); scanf("%ld",&goods[i].num); printf("\n\t\5请输入所添加商品的名称:"); scanf("%s",goods[i].name); printf("\n\t\5请输入所添加商品的类别:"); scanf("%s",goods[i].sort); printf("\n\t\5请输入所添加商品的数量:"); scanf("%ld",&goods[i].count); printf("\n\t\5请输入所添加商品的价格:"); scanf("%ld",&goods[i].price); /*可能需要改 增加添加成功后的商品信息*/ n=n+1; printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格\n\n"); //printf("\n\t%6ld %9s %8s %7ld %7ld 元\n",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n\t想继续添加商品吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); printf("\n\t\t添加成功!按任意键继续:"); getchar(); printf("\n"); } void Delet() { long temp; /*定义局部变量*/ int j,flag=0; char choice; system("cls"); printf("\n\t\t本店现有商品如下:"); for(i=0;i<n;i++) /*变量未定义!!!!!!!!!!!!!!!!*/ { if(goods[i].num==0) { continue; } printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } do { printf("\n\n\t\5请输入要删除的商品编号:"); scanf("%ld",&temp); for(i=0;i<n;i++) { if(temp==goods[i].num) { for(j=i;j<n;j++) { goods[j].num=goods[j+1].num; strcpy(goods[j].name,goods[j+1].name); strcpy(goods[j].sort,goods[j+1].sort); goods[j].count=goods[j+1].count; goods[j].price=goods[j+1].price; } n=n-1; /*商品总库存量减少*/ } } printf("\n\t继续删除吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); printf("\n\t\t更新后商品信息如下:"); for(i=0;i<n;i++) { if(goods[i].num==0) { continue; } printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元\n",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } printf("\n\t按任意键返回主菜单"); getchar(); return; } void Modify() /*修改商品信息*/ { int flag=0; char choice; long temp; do { system("cls"); printf("\n\t\t请输入要修改的商品编号:"); scanf("%ld",&temp); for(i=0;i<n;i++) { if(temp==goods[i].num) { printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n\t\t\5请输入修改后的商品编号:"); scanf("%ld",&goods[i].num); printf("\n\t\t\5请输入修改后的商品名称:"); scanf("%s",&goods[i].name); printf("\n\t\t\5请输入修改后的商品类别:"); scanf("%s",&goods[i].sort); printf("\n\t\t\5请输入修改后的商品数量:"); scanf("%ld",&goods[i].count); printf("\n\t\t\5请输入修改后的商品价格:"); scanf("%dl",&goods[i].price); printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } } printf("\n\t继续修改操作吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); printf("\n\n\t修改成功! 按任意键返回:"); getchar(); return; /*返回功能选择界面*/ } void Search() /*查询功能*/ { void Search_Num(long n); void Search_Name(char t[20]); void Search_Categ(char t[20]); void Search_Needs(long m); int k,flag=0; char choice; long temp1,temp; char temp2[20],temp3[20]; do { system("cls"); printf("\n1.按商品编号查询 2.按商品名称查询 3.按商品类别查询 4.按需要进货的商品查询\n"); printf("\n\t请输入数字确定查询方式:"); scanf("%d",&k); switch(k) { case 1:printf("\n\t\5请输入要查询的商品编号:"); scanf("%ld",&temp1);Search_Num(temp1);break; case 2:printf("\n\n\t\5请输入要查询的商品名称:"); scanf("%s",temp2);Search_Name(temp2);break; case 3:printf("\n\n\t\5请输入要查询的商品类别:"); scanf("%s",temp3);Search_Categ(temp3);break; case 4:Search_Needs(temp);break; default:printf("\n\t输入有误!"); } printf("\n\t继续查询操作吗?(Y/N)"); fflush(stdin); choice=getchar(); if(choice=='y'||choice=='Y') { printf("继续"); flag=1; } else flag=0; }while(flag==1); printf("\n\n\t按任意键返回主菜单:"); getchar(); return; } void Search_Num(long temp1) { for(i=0;i<n;i++) { if(goods[i].num==temp1) { printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); //return; break; } else { printf("\n\t抱歉!没有找到您所需的商品。"); return; } } getchar(); return; } void Search_Name(char temp2[20]) { for(i=0;i<n;i++) { if(strcmp(goods[i].name,temp2)==0&&goods[i].num!=0) { printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); //return; break; } else { printf("\n\t抱歉!没有找到您所需的商品。"); return; } } getchar(); return; } void Search_Categ(char temp3[20]) { for(i=0;i<n;i++) { if(strcmp(goods[i].sort,temp3)==0&&goods[i].num!=0) { printf("\n\t商品编号 商品名称 商品类别 商品数量 商品价格"); printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); // return; break; } else { printf("\n\t抱歉!没有找到您所需的商品"); return; } } getchar(); return; } void Search_Needs(long temp) /*按需求查询*/ { //int k,i,n; //long temp; char p1[30],p2[20]; for(k=0;k<n-1;k++) for(i=0;i<n-k-1;i++) if(goods[i].count>goods[i+1].count) { char temp[512]; memcpy(temp,(char *)&goods[i],sizeof(struct good)); memcpy((char *)&goods[i],(char *)&goods[i+1],sizeof(struct good)); memcpy((char *)&goods[i+1],temp,sizeof(struct good)); /*temp=goods[i].count; goods[i].count=goods[i+1].count; goods[i+1].count=temp; strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2);*/ } printf("\n\t商品数量 商品名称 商品类别 商品编号 商品价格"); for(i=0;i<n;i++) { if(goods[i].num==0) { continue; } printf("\n\t%6ld %9s %8s %7ld %7ld 元",goods[i].count,goods[i].name,goods[i].sort,goods[i].num,goods[i].price); } } void Browse() /*浏览商品信息*/ { system("cls"); printf("\n\t\t\t本店所有商品信息如下:\n"); printf("\n\t\t商品编号 商品名称 商品类别 商品数量 商品价格"); //int i; for(i=0;i<n;i++) { if(goods[i].num==0) { continue; } printf("\n\t\t%6ld %9s %8s %7ld %7ld 元",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } printf("\n\n\t\t按任意键返回主菜单:"); getchar(); return; /*返回功能选择页面*/ } void Save() { FILE*fp; //char file[15]; //printf("\n\t*请输入文件路径及文件名:"); //scanf("%s",file); //fp=fopen("file","w+"); if((fp=fopen("surpermarkrt.txt","wt+"))==NULL) { printf("没有找到文件!\n"); exit(0); } //fwrite(&goods,sizeof(good),n,fp); //fprintf(fp,"商品编号\t商品名称\t商品类别\t商品数量\t商品价格\n"); printf("商品编号\t商品名称\t商品类别\t商品数量\t商品价格\n"); for(k=0;k<i;k++) { /*if(goods[i].num==0) { continue; }*/ fprintf(fp,"%ld%s%s%ld%ld\n",goods[k].num,goods[k].name,goods[k].sort,goods[k].count,goods[k].price); printf("%ld\t\t%s\t\t%s\t\t%ld\t\t%ld\n",goods[k].num,goods[k].name,goods[k].sort,goods[k].count,goods[k].price); fprintf(fp,"%s","stop"); } fclose(fp); printf("\t\t文件已经保存!\n"); printf("\n\n\t\t请按任意键返回:"); getchar(); return; } void exit(); void main() { n=100; int flag1,flag2,o; char name[20]="lirui",password[10]="123456"; char person[20],password1[10]; for(i=0;i!=5;i++) { printf("\n ***************************************************\n"); printf(" ************ 小型超市管理系统 **************\n"); printf(" ****** 登陆界面 ******\n"); printf("\n\n\t\t\t请输入用户名:"); gets(person); flag1=strcmp(person,name); printf("\n\t\t\t请输入密码:"); gets(password1); flag2=strcmp(password,password1); if(flag1==0&&flag2==0) { system("cls"); printf(" \n\n\n\n ***************************************************\n"); printf(" ************ 小型超市管理系统 **************\n"); printf(" ****** ******\n"); printf(" ****** ******\n"); printf(" ****** ******\n"); printf(" ****** 欢迎登陆 ! ******\n"); printf(" ****** ******\n"); printf(" ****** ******\n"); printf(" ****** ******\n"); printf(" ***************************************************\n"); printf(" ***************************************************\n"); break; } else { o=4-i; system("cls"); printf("\n\n\n\t\t\t用户名或密码错误,请重新输入:"); printf("\n\t\t\t *还有 %d 次输入机会*\n\n\n",o); } } lp:for( i=0;i<1;i++) getchar (); system("cls"); printf(" \n〓〓〓〓〓〓〓〓〓〓 ☆ 小 型 超 市 管 理 系 统 ☆ 〓〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 1:输入商品信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 2:排序商品信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 3:输入进货信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 4:输入销售信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 5:增加/删除商品 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 6:修改商品信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 7:查询商品信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 8:浏览商品信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 9:保存商品信息 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓〓〓★ ☆ 0:退出系统 ☆ ★〓〓〓〓〓〓〓〓〓"); printf("〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓〓"); printf("\n\t\t\t 请选择您所要的操作:"); scanf("%d",&k); switch(k) { case 1:Input();break; case 2:Sequence();break; case 3:Purchase();break; case 4:Sale();break; case 5:Edit();break; case 6:Modify();break; case 7:Search();break; case 8:Browse();break; case 9:Save() ;break; case 0:getchar();printf("\n\t谢谢使用,欢迎再来,再见!");return;/*退出系统*/ default:puts("输入错误,请按任意键返回主菜单:\n");break; } goto lp;/*返回主页面*/ }
#include<string.h>
#include<windows.h>
#include<stdlib.h>
int k,i,n;
long temp1,temp2;
struct good
{
long int num; /*商品编号*/
char name[20]; /*商品名称*/
char sort[20]; /*商品类型*/
long int count; /*商品数量*/
long int price; /*商品价格*/
}goods[200];
void Input();
void Sequence();
void Purchase();
void Sale();
void Edit();
void Modify();
void Search();
void Browse();
void Save();
void Sort_NUM();
void Sort_Name();
void Sort_Categ();
void Sort_Needs();
void Add();
void Delet();
void Input() /*输入商品信息*/
{
int z;
system("cls");
printf("\n・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・\n");
printf("\n\n\t\t请输入需要建立新库存的商品种类数量:");
scanf("%d",&z);
for(i=0;i<z;i++)
{
printf("\n・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・\n");
printf("\n\t 请输入商品编号:");
scanf("%ld",&goods[i].num);
printf("\n\t 请输入商品的名称:");
scanf("%s",goods[i].name);
printf("\n\t 请输入商品类别:");
scanf("%s",goods[i].sort);
printf("\n\t 请输入商品的数量:");
scanf("%ld",&goods[i].count);
printf("\n\t 请输入商品的单价:");
scanf("%ld",&goods[i].price);
}
printf("\n\n\t 输入成功!请按任意键返回:");
getchar(); return; /*返回主页面*/
}
void Sequence()
剩余24页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助