本文目錄一覽:
c語言 商品管理系統
#include”stdio.h”
#include conio.h
#include stdlib.h
//#include”FILE.h”
typedef struct shangpin
{
char name[20];
int biaohao;
int shuliang;
double jiage;
}Node;
typedef struct list
{
Node data;
struct list *next;
}List ,*Slist;
void charu(Slist s,Node x);
int caidan()
{
int i;
while(1)
{
system(“cls”);
printf(“\n\t\t\t 商店銷售管理系統\n\n”);
printf(“\t\t **********************************************\n\n”);
printf(“\t\t 1–添加商品 2–出售商品\n\n”);
printf(“\t\t 3–刪除商品 4–顯示商品\n\n”);
printf(“\t\t 5–查找商品 0–退出系統\n\n”);
printf(“\t\t **********************************************\n\n”);
printf(“請選擇(0-5): “);
scanf(“%d”,i);
if(i6i=0)break;
}
return i;
}
void chushihua(Slist s)
{
Slist head=new List;
head-next=NULL;
s=head;
}
void tianjia(Slist s)
{
Node x;
Slist r,p,q;
int i=0;
r=new List;
r-next=NULL;
q=p=s-next;
while(q)
{
i++;
q=q-next;
}
printf(“請輸入商品名稱、數量以及價格: “);
scanf(“%s%d%lf”,x.name,x.shuliang,x.jiage);
x.biaohao=i+1;
r-data=x;
s-next=r;
r-next=p;
}
void duchu(Slist s)
{
FILE *cp;//定義文件指針
int i=0;
Node x;
if((cp=fopen(“shangpin.txt”,”a+”))==NULL)//打開文件
{printf(“文件打開失敗!”);return ;}
fseek(cp,0L,SEEK_SET);//將文件指針移動到文件開頭
while(!feof(cp))
{
fscanf(cp,”%s%d%lf”,x.name,x.shuliang,x.jiage);//讀取文件的內容
x.biaohao=++i;
charu(s,x);//把讀到的數據插入到鏈表上
}
fclose(cp);//關閉文件
}
void charu(Slist s,Node x)
{
Slist r,p=s-next;
r=new List;
r-next=NULL;
r-data=x;
s-next=r;
r-next=p;
}
void xieru(Slist s)
{
FILE *cp;//同上
Slist p=s-next;
if((cp=fopen(“shangpin.txt”,”w+”))==NULL)
{printf(“文件打開失敗!”);return ;}//同上
while(p)
{
fprintf(cp,”%s %d %.2lf “,p-data.name,p-data.shuliang,p-data.jiage);//寫入文件中,並且以空格隔開
p=p-next;
}
fclose(cp);//關閉文件
}
Slist chazhao(Slist s,int m)
{
Slist p=s-next;
if(p==0)return 0;
if(p-next==0)return p;
if(p-data.biaohao==m)return p;
while(p-next)
{
if(p-next-data.biaohao==m)return p;
p=p-next;
}
return 0;
}
void xianshi(Slist s)
{
Slist p;
p=s-next;
printf(“%10s%20s%10s%10s\n”,”商品編號”,”商品名稱”,”商品數量”,”商品價格”);
while(p)
{
printf(“%10d%20s%10d%10.2f\n”,p-data.biaohao,p-data.name,p-data.shuliang,p-data.jiage);
p=p-next;
}
}
void shanchu(Slist s)
{
}
void chushou(Slist s)
{
}
void main()
{
int num;
Slist s;
chushihua(s);
duchu(s);
num=caidan();
while(1)
{
switch(num)
{
case 0:exit(0);break;
case 1:tianjia(s);break;
case 2:chushou(s);break;
case 3:shanchu(s);break;
case 4:xianshi(s);break;
case 5:chazhao(s,1);break;
}
printf(“按任意鍵繼續!”);
getch();
num=caidan();
}
xieru(s);
}
//有些函數我在沒寫啊,你自己寫寫吧,文件的讀取和寫入,還有鏈表的創建我都給你寫好了,也就是上面的1,4我都寫好了,
//包括了文件,剩下的2,3,5,你自己試試,並且我也給你寫了一個查找函數,你看看能用不!
c語言設計商品信息管理系統
如果你不是為了學慣用途,直接用藍點產品管理系統好了,這些需求基本直接就實現了的。
c語言商品管理系統
假設某超市經營各種商品,每種商品包括以下信息:商品編號、商品名稱、商品品牌、庫存數量、售價、已售數量。系統的主要功能包括:1. 創建商品信息文件:根據提示輸入若干商品的信息,並將信息保存至一個文件中。2. 商品進貨管理:每次購入新商品,需按要求輸入商品所含各項信息並存入商品信息文件中。如果已經存在該商品(以商品編號為準),則修改相應的庫存數量信息,否則生成新的商品信息記錄。3. 商品銷售管理:每次有商品銷售出去,則按要求輸入商品編號和商品名稱信息,並修改相應的商品信息文件。注意:商品銷售時要檢查庫存數量的合法性(即銷售出去的數量必須小於庫存數量)。4. 按不同條件進行查詢操作,輸出滿足條件的商品信息。(1) 輸入商品名稱,在商品信息文件中查找相應的商品信息並輸出。(2) 輸入商品品牌,在商品信息文件中查找該品牌的所有信息並輸出。5. 按不同條件對商品信息進行統計工作。(1) 輸入商品名稱,在商品信息文件中統計該商品的銷售總額。(2) 設置一個庫存數量警戒值,輸出庫存數量小於該警戒值的所有庫存商品的信息。(3) 輸入商品品牌,在商品信息文件中統計其不同商品名稱的庫存量,並輸出庫存量最高的那個商品的信息。
滿意請採納。
用c語言製作商店商品管理系統
#include stdio.h
#include conio.h
#include bios.h
#include dos.h
#include malloc.h
#define NULL 0
#define LEN sizeof(struct mcd)
struct data /*聲明一個日期的結構體類型*/
{
int year;
int month;
int day;
};
struct mcd /*聲明有關商品信息的結構體類型*/
{
int code; /*編 號*/
char name[12]; /*品 名*/
long price; /*單 價*/
int num; /*數 量*/
char place[20]; /*產 地*/
struct data putdate; /*入庫時間*/
struct data selldate; /*銷售時間*/
struct mcd * next; /*運用指針處理鏈表*/
};
int n; /*記錄鏈表有幾條數據*/
struct mcd *head; /*聲明鏈表頭的指針*/
creat() /*輸入商品信息的函數*/
{
struct mcd *p1,*p2;
n=0;
p1=p2=(struct mcd *)malloc(LEN); /*開闢一個新單元存放信息*/
head=p1;
loop: {
clrscr();
printf(“商品錄入系統\n”);
printf(“錄入號:%d\n”,n+1);
printf(“編 碼:”);
scanf(“%d”,p1-code);
printf(“品 名:”);
scanf(“%s”,p1-name);
printf(“單 價:”);
scanf(“%ld”,p1-price);
printf(“數 量:”);
scanf(“%d”,p1-num);
printf(“產 地:”);
scanf(“%s”,p1-place);
printf(“入庫時間:”);
scanf(“%d-%d-%d”,p1-putdate.year,p1-putdate.month,p1-putdate.day);
}
while(p1-num!=0)
{
n=n+1;
if(n==1)head=p1;
else p2-next=p1;
p2=p1;
p1=(struct mcd *)malloc(LEN);
goto loop;
}
p2-next=NULL;
main();
}
print() /*輸出數據列表的函數*/
{
int m=0;
struct mcd *p;
clrscr();
printf(“編 號||品 名||單 價||數 量|| 產 地 ||入 庫 時 間\n”);
p=head;
if(head!=NULL)
do
{
printf(“%-10d%-14s%-12ld%-10d%-22s%-4d-%-2d-%-2d\n”,p-code,p-name,p-price,p-num,p-place,p-putdate.year,p-putdate.month,p-putdate.day);
p=p-next;
m=m+1;
if(m%23==0){gotoxy(10,25);printf(“按任意鍵繼續.”);getch();}
}while(p!=NULL);
getch();
main();
}
sell()
{
int code,m=3,ch;
long sum=0;
struct mcd *p1;
struct date today;
getdate(today);
clrscr();
printf(“商品銷售系統\n”);
printf(“編 號||||品 名|||| 產 地 ||||單 價(元)||||出 售 時 間\n”);
loop:
do{
gotoxy(23,25);
printf(“按任意鍵繼續,F2結帳,ESC鍵退出”);
ch=bioskey(0);
}while(0);
switch(ch)
{
case 15360:{
if(sum==0)
{
gotoxy(1,m);printf(“還沒有購買商品!”);
getch();
sell();
break;
}
else {
gotoxy(1,m);
printf(“——————————————————————————“);
gotoxy(47,m+1);
printf(“總價: %-12ld元”,sum);
getch();
main();
break;
}
}
case 283:{main();break;}
default:
{
gotoxy(23,25);
printf(“請輸入商品編碼,會顯示商品信息”);
gotoxy(1,m);
scanf(“%d”,code);
if(head==NULL)
{
printf(“你還沒有進貨.”);
getch();
main();
break;
}
p1=head;
while(code!=p1-codep1-next!=NULL)
{p1=p1-next;}
if(code==p1-code)
{
gotoxy(13,m);
printf(“%-16s%-24s%-16ld%4d-%2d-%2d”,p1-name,p1-place,p1-price,today.da_year,today.da_mon,today.da_day);
m=m+1;
p1-num=p1-num-1;
sum=sum+p1-price;
}
}
goto loop;
}
}
go()
{
int ch;
clrscr();
printf(“請問你要進行什麼操作?\n1,插入;2,刪除;3,什麼也不做;\n”);
loop:
do{
ch=bioskey(0);
}while(0);
switch(ch)
{
case 561:insert();break;
case 818:del();break;
case 1075:main();break;
case 283:break;
default:{gotoxy(1,3);printf(“請按數字鍵選擇!”);goto loop;}
}
getch();
main();
}
insert()
{
struct mcd *p0,*p1,*p2;
p0=p1=p2=(struct mcd*)malloc(LEN);
p1=head;
clrscr();
printf(“請輸入要插入的商品的信息:\n”);
printf(“編 碼:”);
scanf(“%d”,p0-code);
printf(“品 名:”);
scanf(“%s”,p0-name);
printf(“單 價:”);
scanf(“%ld”,p0-price);
printf(“數 量:”);
scanf(“%d”,p0-num);
printf(“產 地:”);
scanf(“%s”,p0-place);
printf(“入庫時間:”);
scanf(“%d-%d-%d”,p0-putdate.year,p0-putdate.month,p0-putdate.day);
if(head==NULL)
{
head=p0;
p0-next=NULL;
}
else
{
while((p0-codep1-code)(p1-next!=NULL))
{
p2=p1;
p1=p1-next;
}
if(p0-code=p1-code)
{
if(head==p1)head=p0;
else p2-next=p0;
p0-next=p1;
}
else
{
p1-next=p0;p0-next=NULL;
}
}
n=n+1;
print();
}
del()
{
int code;
struct mcd *p1,*p2;
clrscr();
printf(“請輸入要刪除商品的編號:”);
scanf(“%d”,code);
if(head==NULL)
{
printf(“你還沒有進貨.”);
getch();
main();
}
p1=head;
while(code!=p1-codep1-next!=NULL)
{
p2=p1;
p1=p1-next;
}
if(code==p1-code)
{
if(code==head)head=p1-next;
else p2-next=p1-next;
n=n-1;
print();
}
else
{
printf(“找不到這條商品信息.”);
getch();
print();
}
}
main()
{
do{
clrscr();
printf(” . : : \n”);
printf(” ‘. :””””: : : :””:””:\n”);
printf(” ‘. : : :””” :””” : : :\n”);
printf(” ……………. : : :’, :’, ””’:””’: : :\n”);
printf(” ‘. .’ : : : ‘, : ‘, : :….:….:\n”);
printf(” ‘. .’ : : ,’ ,’ : : : :\n”);
printf(” ‘.’ : : ‘, : : : :\n”);
printf(“………:……….. :……..: : ‘, : :….:….:\n”);
printf(” …………… :”””””””’: ””:”” : \n”);
printf(” : , , : :”””: :”””: ,’ : : \n”);
printf(” : , , : : : : : :””””’: : ,’ : \n”);
printf(” : , , : : : : : : : : ,’ ….:…. \n”);
printf(” :, :”””’: : : : : : : : :,’ : \n”);
printf(” : : : : : : : : :””””” ,’ : \n”);
printf(” : : : : : : : : :………. ,’ : \n”);
printf(” : :…….: : : : : : : : ‘ : \n”);
printf(” : : : : : : : : ……:…..\n”);
printf(” : ..: :……: :……: :………: \n”);
gotoxy(60,19);
printf(“趙飛宇製造 V1.0”);
gotoxy(10,21);
printf(“1,銷售系統;2,進貨系統;3,查看列表;4,插入刪除;5,銷售盈虧;6,幫助文檔”);
gotoxy(32,24);
printf(“按ESC鍵退出”);
key();
}while(0);
}
key()
{
int ch;
loop:
do{
ch=bioskey(0);
}while(0);
switch(ch)
{
case 561:sell();break;
case 818:creat();break;
case 1075:print();break;
case 1332:go();break;
case 283:break;
default:
{
gotoxy(30,22);
printf(“請按數字鍵選擇!”);
goto loop;
}
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297931.html