❶ 商品銷售系統用c語言怎麼寫,求源程序
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define Z 5
#define R 4 /*定義宏常量便於程序的一般化*/ /*R表示銷售員個數*/
typedef struct /*縮短結構體變數名*/
{
int shangpin[Z]; /*定義結構體便於信息的存儲和讀寫,辨別*/ /*R是表示商品的種類,最後一個為該銷售員商品總和*/
}data;
void menu()
{ printf(" *******************************************************\n");
printf(" 0.結束操作\n");
printf(" 1.計算上個月每個人每種產品的銷售額\n");
printf(" 2.按銷售額對銷售員進行排序,輸出排序結果\n");
printf(" 3.統計每種產品的總銷售額,輸出排序結果\n");
printf(" 4.輸出統計報表\n");
printf(" ******************************************************\n");
}
void data_read(data *x) /*讀入函數使程序簡潔*/
{
FILE *fp;
char fname[10];
int i;
printf("您想查詢哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");/*連接文件屬性*/
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!\n");
}
void data_count(data *x) /*計算上個月每個人每種產品的銷售額*/
{
FILE *fp;
char fname[10];
int j,t; /*用於控制循環*/
int i,k,s; /*用於定義職工序號,產品序號,產品數量*/
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息寫入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"wb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(j=0;j<R;j++) /*對商品數量清零*/
for(t=0;t<Z;t++)
(x+j)->shangpin[t]=0;
printf("please put the information about the 職工編號,產品編號,銷售數量\n"); /*寫入信息*/
for(j=0;;j++)
{
scanf("%d%d%d",&i,&k,&s);
if(i==0) /*輸入職工為0時結束信息輸入*/
break;
if(i>R||i<0||k>Z||k<0)
{
printf("the information error!\n"); /*避免輸入信息出錯*/
continue;
}
else
(x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*統計各個人的各種產品的數量,-1為了和數組中的序號相匹配*/
}
for(j=0;j<R;j++)
if(fwrite((x+j),sizeof(data),1,fp)!=1) /*把信息寫入文件中便有以後調用*/
printf("write error!\n");
fclose(fp); /*關閉文件避免信息遺漏*/
}
void range_sxy(data *x) /*按銷售額對銷售員進行排序,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,k,j,t,bianhao[R]=,z;
system("cls");
printf("你要哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!"); /*讀入信息提示*/
for(i=0;i<R;) /*用於存儲職工編號*/
bianhao[i]=i++;
printf("請輸入按何種產品排序\n");
scanf("%d",&k);
k=k-1; /*便於與結構體中的數組值對應*/
for(i=0;i<R;i++) /*按K種產品對銷售員排序,選擇法排序*/
{
t=i;
for(j=i+1;j<R;j++)
if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調用職工各自對應的結構體內的產品數量*/
t=j;
if(t!=i)
{
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("按%d產品對銷售員排序為:\n",k+1);
for(i=0;i<R;i++)
printf("%5d",bianhao[i]+1);
getch();
fclose(fp);
}
void range_shangpin(data *x) /*統計每種產品的總銷售額,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z]=,bianhao[Z]=,z,t,k;
system("cls");
printf("您想計算哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;) /*用於存儲商品編號*/
bianhao[i]=i++;
for(i=0;i<Z;i++)
printf("%3d",bianhao[i]);
for(i=0;i<Z;i++) /*對產品從高到低排序,選擇法排序*/
{
t=i;
for(j=i+1;j<Z;j++) /*產品變化時,產品編號也隨之變化,便於輸出*/
if(sum[t]<sum[j])
t=j;
if(t!=i)
{
k=sum[i];
sum[i]=sum[t];
sum[t]=k;
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("輸出產品排序\n");
printf("產品編號 數量\n");
for(i=0;i<Z;i++)
printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);
getch();
fclose(fp);
}
void data_out(data *x) /*輸出統計報表*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z+1]=;
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;i++) /*求商品總和*/
sum[Z]=sum[Z]+sum[i];
printf("輸出統計報表如下:\n"); /*按要求輸出統計表*/
printf("產品代號 銷售之和 銷售員代號\n");
for(i=0;i<R;i++)
for(j=0;j<Z;j++)
printf("%-10d%-10d%-10d\n",j+1,(x+i)->shangpin[j],i+1);
printf("***********************************\n");
for(i=0;i<Z;i++)
{
if(i==0)
printf("%d產品之和 %-10d 總和 %-10d\n",i+1,sum[i],sum[Z]);
else
printf("%d產品之和 %-10d\n",i+1,sum[i]);
}
getch();
}
void main()
{
int i,choice;
data sxy[R]; /*R表示職工的個數,前面的宏常量*/
for(i=0;;i++)
{
system("cls"); /*清頻命令*/
menu(); /*菜單函數提示用戶怎樣選擇*/
printf("你想做什麼?\n");
printf("請選擇:"); /*輸入要進行的操作*/
scanf("%d",&choice);
if(choice==0) /*退出程序*/
break;
else
switch(choice)
{
case 1 : data_count(sxy);break; /*計算上個月每個人每種產品的銷售額*/
case 2 : range_sxy(sxy);break; /*按銷售額對銷售員進行排序,輸出排序結果*/
case 3 : range_shangpin(sxy);break; /*統計每種產品的總銷售額,輸出排序結果*/
case 4 : data_out(sxy);break; /*輸出統計報表*/
}
}
}
❷ 誰有商品訂購系統的C語言程序設計的原代碼
怎麼凈是C的。。
❸ c語言商品系統管理代碼框架
#include <stdio.h> #include <malloc.h> #include <string.h> typedef struct { char num[10]; char name[20]; float price; int amount; }Proct; typedef struct node { Proct p; struct node *pre; struct node *next; }node,*linklist; linklist head,last; void setData(linklist p) { printf("產品編號:"); scanf("%s",&p->p.num); printf("產品名稱:"); scanf("%s",&p->p.name); printf("產品單價:"); scanf("%f",&p->p.price); printf("產品數量:"); scanf("%d",&p->p.amount); } void Insert(linklist p) { setData(p); p->next=last; last->pre->next=p; p->pre=last->pre; last->pre=p; } void Add() { char ch; do { linklist p=(linklist)malloc(sizeof(node)); system("cls"); Insert(p); printf("是否繼續?"); scanf(" %c",&ch); }while(ch=='y'||ch=='Y'); } linklist Qur() { char num[10]; linklist p=head->next; printf("輸入產品編號:"); scanf("%s",num); while(p!=last) { if(strcmp(num,p->p.num)==0) break; p=p->next; } if(p==last) {printf("未找到\n");system("pause");} return p; } void Del() { linklist p=Qur(); if(p==last) return; p->pre->next=p->next; p->next->pre=p->pre; free(p); printf("刪除成功\n"); system("pause"); } void Modify() { linklist p=Qur(); if(p==last) return ; setData(p); } void printTitle() { printf("編號\t名稱\t單價\t數量\n"); } void show(linklist p) { printf("%s\t%s\t%.2f\t%d\n",p->p.num,p->p.name,p->p.price,p->p.amount); } void Tongji() { linklist p=head->next; int i=0; printTitle(); while(p!=last) { show(p); p=p->next; i++; } printf("共%d項商品\n",i); system("pause"); } void Sort() { linklist p,q; for (p=head->next;p!=last;p=p->next) { for (q=p->next;q!=last;q=q->next) { if(strcmp(p->p.num,q->p.num)<0) { Proct temp=p->p; p->p=q->p; q->p=temp; } } } printf("完成\n"); system("pause"); } void Save() { linklist p=head->next; FILE *fp=fopen("d:\\record.txt","w"); if(fp==NULL) { printf("保存失敗\n"); return; } fprintf(fp,"編號\t名稱\t單價\t數量\n"); while(p!=last) { fprintf(fp,"%s\t%s\t%.2f\t%d\n",p->p.num,p->p.name,p->p.price,p->p.amount); p=p->next; } fclose(fp); printf("完成\n"); system("pause"); } void Disp() { linklist p=head->next; printTitle(); while(p!=last) { show(p); p=p->next; } system("pause"); } void Wrong() { printf("輸入錯誤!\n"); system("pause"); } void menu(void) { system("cls"); printf("********商品銷售管理系統*******\n"); printf("* *\n"); printf("* 1:添加 *\n"); printf("* 2:刪除 *\n"); printf("* 3:查詢 *\n"); printf("* 4:修改 *\n"); printf("* 5:插入 *\n"); printf("* 6:統計 *\n"); printf("* 7:降序排列 *\n"); printf("* 8:存儲 *\n"); printf("* 9:顯示數據 *\n"); printf("* 0:退出 *\n"); printf("* *\n"); printf("*******************************\n"); } int select() { int choose; scanf("%d",&choose); switch(choose) { case 1:Add();break; case 2:Del();break; case 3: { linklist p=Qur(); if(p!=last) {show(p);system("pause");}break; } case 4:Modify();break; case 5: { linklist p=(linklist)malloc(sizeof(node)); Insert(p);break; } case 6:Tongji();break; case 7:Sort();break; case 8:Save();break; case 9:Disp();break; case 0:break; default:Wrong();break; } return choose; } void destroy() { linklist p=head->next; while(p!=last) { head->next=p->next; free(p); p=head->next; } free(head); free(last); } int main(void) { head=(linklist)malloc(sizeof(node)); last=(linklist)malloc(sizeof(node)); head->next=last; last->next=NULL; last->pre=head; head->pre=NULL; do { menu(); } while (select()!=0); destroy(); return 0; }
❹ 服裝銷售系統 C語言 代碼
閑著無聊,就幫你寫個唄。功能: = selt); fclose(fp); fp = fopen("clothse_info.txt","w"); for(j=0;j<i-1;j++) { if(clo[j].code == sel.code) { fprintf(fp,"%d\n",clo[j].code); fprintf(fp,"%s\n",clo[j].model); fprintf(fp,"%s\n",clo[j].spec); fprintf(fp,"%s\n",clo[j].stuff); fprintf(fp,"%s\n",clo[j].color); fprintf(fp,"%d\n",clo[j].price); fprintf(fp,"%d\n",clo[j].num-sel.num); } else { fprintf(fp,"%d\n",clo[j].code); fprintf(fp,"%s\n",clo[j].model); fprintf(fp,"%s\n",clo[j].spec); fprintf(fp,"%s\n",clo[j].stuff); fprintf(fp,"%s\n",clo[j].color); fprintf(fp,"%d\n",clo[j].price); fprintf(fp,"%d\n",clo[j].num); } } fclose(fp); printf("登記完成\n\n"); }---------------------運行截圖: 用VC6.0編譯的。
❺ C語言程序設計報告(商品訂購系統)
題目:商品訂購系統設計。
功能:屏幕上出現一個界面,讓顧客或輸入商品內名稱,或商品型號,或選擇容列表進而輸入商品編號都可以,如查到所選商品,則列出商品編號、商品名稱、商品型號、商品價格、商品產地、庫存數量和已訂購數量;然後給出選購流程:所選商品編號—列出對應商品的信息—要求顧客輸入郵寄地址信息—確認訂購,是否繼續選購其它商品,列出所有選訂商品,再次確認訂購。建立兩個文件,分別存放商品信息與訂購信息。
分步實施:
1、 初步完成總體設計,搭好框架,確定人機對話的界面,確定函數個數;
2、完成最低要求:建立一個小系統,包括10種產品能供顧客選擇。
3、進一步要求:完成全部功能的系統。
要求:1、用C語言實現程序設計;
2、利用結構體數組實現信息的數據結構設計;
3、系統的各個功能模塊要求用函數的形式實現;
4、界面友好(良好的人機交互),程序加必要的注釋。
課程設計實驗報告要求:
1、預習報告:題目、課程設計任務、數據結構、程序的總體設計(演算法)、模塊劃分。
2、實驗總結報告:流程圖、主要源程序代碼(需列印)、測試情況及調試中問題與解決方案、
小結等。
高手請幫幫我好嗎?謝謝~
❻ C語言設計商品管理系統,可以實現商品的錄入,查詢,求源代碼
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define SIZE 300
typedef struct
{
char name[30];
int num;
char shang[10];
float price;
}record;
void DataInput(record *com, int *nptr);
int DataRead(record *com,int *nptr) ;
void DataStorage(record *com, int n); /*信息保存到文件*/
void DataFind( );
void DataDisPlay( );
void DataAdd( );
void DataDel( );
void DataStatistic( );
int main( )
{
record shangpin[SIZE];
int number=20; /*設商品數*/
char fn;
printf("\t~~~~~~商品管理系統~~~~~~");
while(1)
{
printf("\n\t\t1.商品信息錄入\n"); /*顯示主菜單*/
printf("\t\t2.商品信息顯示\n");
printf("\t\t3.商品信息查找\n");
printf("\t\t4.商品信息添加\n");
printf("\t\t5.商品信息刪除\n");
printf("\t\t6.商品信息統計\n");
printf("\t\t0.退出系統");
printf("\n\t~~~~~~~~~~~~~~~~\n");
printf("\t請輸入你的一個選項(數字0-6): ");
fflush(stdin);
scanf("%c",&fn);
puts("\n");
switch(fn) /*切換到不同功能*/
{
case '1':
DataInput(shangpin, &number );
break; /*錄入信息*/
case '2':DataDisPlay();
break; /*信息顯示*/
case '3':
DataFind();
break; /*信息查找*/
case '4':
DataAdd( );
break; /*增加*/
case '5':
DataDel( );
break; /*刪除*/
case '6':
DataStatistic();
break; /*信息統計*/
case '0':
return 0;
default:puts("\t\t沒有這個項!返回主菜單!");
break;
}
printf("\n\t\t完畢!按任意鍵繼續");
getch( );
puts("\n");
}
}
void DataInput(record *com, int *nptr) /*商品信息錄入*/
{
int i = 0;
int n ; /*錄入的總數*/
char YesOrNo; /*判斷是否保存*/
char shangming[30]; /*商名*/
int haoma; /*商品號*/
char shangjia[10]; /*單價*/
float danjia;
printf("\t\t請輸入商品個數:");
scanf("%d",&n);
*nptr = n; /*nptr返回商品個數*/
printf("\t\t現在開始錄入這%d個商品信息:\n\n",n);
while(i<n)
{
printf("請輸入商品的商品名:",i+1);
scanf("%s",&shangming);
printf("請輸入商品的商品號:",i+1);
scanf("%d",&haoma);
printf("請輸入商品的生產商:",i+1);
scanf("%s",&shangjia);
printf("請輸入商品的單價 :",i+1);
scanf("%f",&danjia);
if(danjia>=0&&danjia<=1000) /*有效的單價才錄入*/
{
strcpy(com[i].name,shangming);
com[i].num = haoma;
strcpy(com[i].shang,shangjia);
com[i].price = danjia;
i =i+1;
}
else
printf("輸入的單價是一個無效的值!!!\n\n");
} /*結束while*/
printf("要保存您剛才錄入的數據嗎(Y/N)?"); /*選擇保存*/
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'||YesOrNo=='Y')
DataStorage(com,n);
else if(YesOrNo=='n'||YesOrNo=='N')
return;
else
printf("輸入了不正確的選項\n");
return;
} /*結束函數*/
void DataFind( ) /*查找*/
{
void OnNumber(record *com,int n ); /*按商品號排序*/
int key; /*key為要查找的關鍵值*/
int low = 0; /*下限*/
int high ; /*上限*/
int mid ; /*中間值*/
char ans; /*選項*/
record com[SIZE];
int n;
if(DataRead(com,&n)==1) /*從文件中讀取信息*/
{
OnNumber(com,n); /*先按商品號排序*/
high = n;
do
{
printf("\n\n\t\t請輸入你要查找的商品號:");
scanf("%d",&key);
low = 0;high = n;
while (low <=high)
{
mid = (high + low)/2; /*折半查找法*/
if (key == com[mid].num )
{
printf("\n\t\t你要找的是第%d個商品\n",mid + 1);
printf("\t\t結果如下:\n\n");
printf("序號\t\t商品名\t 商品號\t生產商\t單價\n");
printf("%3d%17s%12d%12s%8.1f\n",mid+1,com[mid].name,com[mid].num,com[mid].shang,
com[mid].price);
break; /*如果找到則退出循環*/
}
if (key > com[mid].num ) low = mid + 1;
else high = mid - 1;
}
if (low > high)
printf("\t\t,沒有找到這個價格!\n");
printf("\n\t\t還要繼續查詢嗎(Y/N)?");
ans = getch( );
}
while (ans =='Y'||ans == 'y'); /*結束do....while*/
}
}
void DataStorage(record *com, int n) /*錄入保存文件*/
{
int i;
FILE *comPtr;
char FileName[20];
printf("請輸入您要保存的文件名:");
scanf("%s",FileName);
printf("正在將商品信息保存到文件,請稍候……\n");
if((comPtr=fopen(FileName,"w"))==NULL)
printf("沒有該文件\n");
else
for(i=0 ; i<n ; i++)
fprintf(comPtr,"\n%17s%12d%12s%8.1f",com[i].name,com[i].num,com[i].shang,com[i].price);
fclose(comPtr);
}
int DataRead(record *com,int *nptr) /*讀取文件*/
{
int i=0;
char datafile[20];
FILE *comPtr;
*nptr = 0;
printf("請輸入文件名:");
scanf("%s",datafile);
if((comPtr = fopen(datafile,"r")) == NULL) /*打開文件*/
{
printf("沒有該文件,請重新輸入!\n");
return 0;
}
else
{
printf("正在讀取商品單價,請稍候……\n");
while (!feof(comPtr))
{
fscanf(comPtr,"%s%d%s%f",&com[i].name,&com[i].num,&com[i].shang,&com[i].price);
i++;
}
*nptr = i;
printf("\n");
fclose(comPtr);
return 1;
}
}
void DataDisPlay()
{
void OnPrice(record *com,int n ); /*按單價*/
void OnNumber(record *com,int n ); /*按商品號*/
int N;
int i;
record com[300];
char YesNo; /*是否按順序顯示*/
char tp;
if(DataRead(com,&N)==1) /*從文件讀取數據*/
{
printf("序號\t\t商品名\t 商品號\t生產商\t單價\n");
for(i=0;i<N;i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,com[i].price);
printf("要按順序顯示嗎?(Y/N)?");
fflush(stdin);
scanf("%c",&YesNo);
if(YesNo=='y'||YesNo=='Y')
{
printf("\t請輸入排序方式:\n");
printf("\t(1.按價格排序從低到高;2.按商品號排序從低到高.)");
fflush(stdin);
scanf("%c",&tp);
if(tp=='1')
OnPrice(com,N);
else if(tp =='2')
OnNumber(com,N);
else
printf("\t輸入了不正確項!\n");
}
}
} /*結束顯示成績*/
void OnPrice(record *com,int n ) /*按單價順序*/
{ int i,j;
record temp;
printf("\t\t按單價排序---\n\n");
printf("商品總數為%d:\n",n);
for(j=0 ; j<n-1 ; j++) /*冒泡排序*/
for(i=0 ; i<n-j-1 ; i++)
if(com[i].price>com[i+1].price)
{
temp=com[i];
com[i]=com[i+1];
com[i+1]=temp;
}
printf("\n\t\t按成績排序的結果如下(按分數從低到高):\n\n");
printf("序號\t\t商品名\t 商品號\t生產商\t單價\n");
for(i=0 ; i<n ; i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);
}
void OnNumber(record *com,int n ) /*按序號順序*/
{
int i,j;
record temp;
printf("\t\t按商品號排序---\n\n");
printf("商品總數為%d:\n",n);
for(j=0 ; j<n-1 ; j++)
for(i=0 ; i<n-j-1 ; i++)
if(com[i].num>com[i+1].num)
{
temp=com[i];
com[i]=com[i+1];
com[i+1]=temp;
}
printf("\n\t按商品號排序的結果如下(按商品號從小到大):\n\n");
printf("序號\t\t商品名\t 商品號\t生產商\t單價\n");
for(i=0 ; i<n ; i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);
}
void DataAdd( ) /*增加*/
{
int i=0,n,m; /*商品名稱*/
char shangming[30];
int haoma; /*生產商*/
char shangjia[10];
float danjia;
char YesOrNo;
record com[SIZE];
printf("\t\t讀取原有數據信息---\n");
if(DataRead(com,&n)==1)
{
printf("\t\t信息讀取完畢!\n\n");
printf("\t\t請輸入要添加的商品總數:");
scanf("%d",&m);
printf("\t\t現在開始錄入這%d個商品信息:\n\n",m);
while(i<m)
{
printf("第%d個商品的商品名:",i+1);
scanf("%s",&shangming);
printf("第%d個商品的商品號:",i+1);
scanf("%d",&haoma);
printf("第%d個商品的生產商:",i+1);
scanf("%s",&shangjia);
printf("第%d個商品的單價:",i+1);
scanf("%f",&danjia);
if(danjia>=0&&danjia<=1000) /*有效的單價才錄入*/
{
strcpy(com[i+n].name,shangming);
com[i+n].num = haoma;
strcpy(com[i+n].shang,shangjia);
com[i+n].price = danjia;
i =i+1;
}
else
printf("輸入的單價是一個無效的值,請重新輸入!\n\n");
}
printf("要保存您剛才錄入的數據嗎(Y/N)?");
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'||YesOrNo=='Y')
DataStorage(com,n+m);
else if(YesOrNo=='n'||YesOrNo=='N')
return;
else
printf("輸入了不正確項,返回上一級\n");
return;
}
}
void DataDel( )//刪除
{
void OnNumber(record *com,int n );
record com[SIZE];
int i; /*總記錄數*/
int n; /*要刪除的記錄號*/
int m;
printf("\t\t讀取原有數據信息---\n");
if(DataRead(com,&n)==1)
{
printf("\t\t原始數據如下:\n\n");
OnNumber(com,n );
printf("請輸入你要刪除的記錄的序號");
scanf("%d",&m);
if(m>=1 && m<=n)
{
for(i=m-1;i<n-1;i++)
com [i] = com[i+1];
DataStorage(com,n-1);
}
}
}
void DataStatistic( ) /*統計信息*/
{
int high=0,low=200,ave=0;
int n,i,sum=0;
int g,l;
record com[SIZE];
printf("讀取數據信息---\n");
if(DataRead(com,&n)==1)
{
printf("商品總數為%d\n\n",n);
for(i=0;i<n;i++)
{
if(com[i].price>high)
{
high = com[i].price;
g=i;
}
if(com[i].price<low)
{
low = com[i].price;
l=i;
}
sum += com[i].price;
}
ave=sum/n;
printf("\t\t最高\t最低\t平均\n"); /*計算值*/
printf("商品單價統計:\t%d\t%d\t%d\n\n",high,low,ave);
printf("序號\t\t商品名\t 商品號\t生產商\t單價\n");
for(i=0 ; i<n ; i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);
printf("\t\t 序號\t\t 商品名\t 商品號\t 生產商 單價\n");
printf("單價最高的商品是:%3d%17s%12d%12s%8.1f\n\n",g+1,com[g].name,com[g].num,com[g].shang,com[g].price);
printf("單價最低的商品是:%3d%17s%12d%12s%8.1f\n",l+1,com[l].name,com[l].num,com[l].shang,com[l].price);
} /*結束統計*/
}
❼ 高分求 C語言 商品銷售管理系統 代碼~ 簡單的~
#include <stdio.h>
#include <malloc.h>
#include <string.h>
typedef struct
{
char num[10];
char name[20];
float price;
int amount;
}Proct;
typedef struct node
{
Proct p;
struct node *pre;
struct node *next;
}node,*linklist;
linklist head,last;
void setData(linklist p)
{
printf("產品編號:");
scanf("%s",&p->p.num);
printf("產品名稱:");
scanf("%s",&p->p.name);
printf("產品單價:");
scanf("%f",&p->p.price);
printf("產品數量:");
scanf("%d",&p->p.amount);
}
void Insert(linklist p)
{
setData(p);
p->next=last;
last->pre->next=p;
p->pre=last->pre;
last->pre=p;
}
void Add()
{
char ch;
do
{
linklist p=(linklist)malloc(sizeof(node));
system("cls");
Insert(p);
printf("是否繼續?");
scanf(" %c",&ch);
}while(ch=='y'||ch=='Y');
}
linklist Qur()
{
char num[10];
linklist p=head->next;
printf("輸入產品編號:");
scanf("%s",num);
while(p!=last)
{
if(strcmp(num,p->p.num)==0) break;
p=p->next;
}
if(p==last) {printf("未找到\n");system("pause");}
return p;
}
void Del()
{
linklist p=Qur();
if(p==last) return;
p->pre->next=p->next;
p->next->pre=p->pre;
free(p);
printf("刪除成功\n");
system("pause");
}
void Modify()
{
linklist p=Qur();
if(p==last) return ;
setData(p);
}
void printTitle()
{
printf("編號\t名稱\t單價\t數量\n");
}
void show(linklist p)
{
printf("%s\t%s\t%.2f\t%d\n",p->p.num,p->p.name,p->p.price,p->p.amount);
}
void Tongji()
{
linklist p=head->next;
int i=0;
printTitle();
while(p!=last)
{
show(p);
p=p->next;
i++;
}
printf("共%d項商品\n",i);
system("pause");
}
void Sort()
{
linklist p,q;
for (p=head->next;p!=last;p=p->next)
{
for (q=p->next;q!=last;q=q->next)
{
if(strcmp(p->p.num,q->p.num)<0)
{
Proct temp=p->p;
p->p=q->p;
q->p=temp;
}
}
}
printf("完成\n");
system("pause");
}
void Save()
{
linklist p=head->next;
FILE *fp=fopen("d:\\record.txt","w");
if(fp==NULL)
{
printf("保存失敗\n");
return;
}
fprintf(fp,"編號\t名稱\t單價\t數量\n");
while(p!=last)
{
fprintf(fp,"%s\t%s\t%.2f\t%d\n",p->p.num,p->p.name,p->p.price,p->p.amount);
p=p->next;
}
fclose(fp);
printf("完成\n");
system("pause");
}
void Disp()
{
linklist p=head->next;
printTitle();
while(p!=last)
{
show(p);
p=p->next;
}
system("pause");
}
void Wrong()
{
printf("輸入錯誤!\n");
system("pause");
}
void menu(void)
{
system("cls");
printf("********商品銷售管理系統*******\n");
printf("* *\n");
printf("* 1:添加 *\n");
printf("* 2:刪除 *\n");
printf("* 3:查詢 *\n");
printf("* 4:修改 *\n");
printf("* 5:插入 *\n");
printf("* 6:統計 *\n");
printf("* 7:降序排列 *\n");
printf("* 8:存儲 *\n");
printf("* 9:顯示數據 *\n");
printf("* 0:退出 *\n");
printf("* *\n");
printf("*******************************\n");
}
int select()
{
int choose;
scanf("%d",&choose);
switch(choose)
{
case 1:Add();break;
case 2:Del();break;
case 3:
{
linklist p=Qur();
if(p!=last) {show(p);system("pause");}break;
}
case 4:Modify();break;
case 5:
{
linklist p=(linklist)malloc(sizeof(node));
Insert(p);break;
}
case 6:Tongji();break;
case 7:Sort();break;
case 8:Save();break;
case 9:Disp();break;
case 0:break;
default:Wrong();break;
}
return choose;
}
void destroy()
{
linklist p=head->next;
while(p!=last)
{
head->next=p->next;
free(p);
p=head->next;
}
free(head);
free(last);
}
int main(void)
{
head=(linklist)malloc(sizeof(node));
last=(linklist)malloc(sizeof(node));
head->next=last;
last->next=NULL;
last->pre=head;
head->pre=NULL;
do
{
menu();
} while (select()!=0);
destroy();
return 0;
}
❽ 跪求C語言服裝銷售系統代碼,要能運行的,謝謝!~
控制台還是用戶界面程序?為什麼一定要用C語言?
❾ 求助C語言例題超市銷售系統的代碼
我這里有個
個樓主看看吧
希望可以幫上樓回主的忙
詳細代碼答http://www.henrysyw.cn/article.asp?id=732