在線商城系統c語言,電子商務C語言

本文目錄一覽:

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語言商品管理系統

假設某超市經營各種商品,每種商品包括以下信息:商品編號、商品名稱、商品品牌、庫存數量、售價、已售數量。系統的主要功能包括:1. 創建商品信息文件:根據提示輸入若干商品的信息,並將信息保存至一個文件中。2. 商品進貨管理:每次購入新商品,需按要求輸入商品所含各項信息並存入商品信息文件中。如果已經存在該商品(以商品編號為準),則修改相應的庫存數量信息,否則生成新的商品信息記錄。3. 商品銷售管理:每次有商品銷售出去,則按要求輸入商品編號和商品名稱信息,並修改相應的商品信息文件。注意:商品銷售時要檢查庫存數量的合法性(即銷售出去的數量必須小於庫存數量)。4. 按不同條件進行查詢操作,輸出滿足條件的商品信息。(1) 輸入商品名稱,在商品信息文件中查找相應的商品信息並輸出。(2) 輸入商品品牌,在商品信息文件中查找該品牌的所有信息並輸出。5. 按不同條件對商品信息進行統計工作。(1) 輸入商品名稱,在商品信息文件中統計該商品的銷售總額。(2) 設置一個庫存數量警戒值,輸出庫存數量小於該警戒值的所有庫存商品的信息。(3) 輸入商品品牌,在商品信息文件中統計其不同商品名稱的庫存量,並輸出庫存量最高的那個商品的信息。

滿意請採納。

用C語言編寫一簡單的商品銷售管理系統

第一個功能商品入庫其實就是輸入數據 不要想得太複雜 直接用scanf輸入就可以了

第二個商品銷售 就是改一下商品的數量

查詢用折半查找順序查找都可以 查到之後printf

排序可以用選擇法

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(in)

{

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=0danjia=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 ; in ; 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;iN;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 ; jn-1 ; j++) /*冒泡排序*/

for(i=0 ; in-j-1 ; i++)

if(com[i].pricecom[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 ; in ; 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 ; jn-1 ; j++)

for(i=0 ; in-j-1 ; i++)

if(com[i].numcom[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 ; in ; 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(im)

{

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=0danjia=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;in-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;in;i++)

{

if(com[i].pricehigh)

{

high = com[i].price;

g=i;

}

if(com[i].pricelow)

{

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 ; in ; 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語言設計商品信息管理系統

如果你不是為了學慣用途,直接用藍點產品管理系統好了,這些需求基本直接就實現了的。

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(in)

{

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=0danjia=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 ; in ; 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;iN;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 ; jn-1 ; j++) /*冒泡排序*/

for(i=0 ; in-j-1 ; i++)

if(com[i].pricecom[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 ; in ; 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 ; jn-1 ; j++)

for(i=0 ; in-j-1 ; i++)

if(com[i].numcom[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 ; in ; 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(im)

{

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=0danjia=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;in-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;in;i++)

{

if(com[i].pricehigh)

{

high = com[i].price;

g=i;

}

if(com[i].pricelow)

{

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 ; in ; 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);

} /*結束統計*/

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/240316.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:21
下一篇 2024-12-12 12:21

相關推薦

  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • 如何在樹莓派上安裝Windows 7系統?

    隨著樹莓派的普及,許多用戶想在樹莓派上安裝Windows 7操作系統。 一、準備工作 在開始之前,需要準備以下材料: 1.樹莓派4B一台; 2.一張8GB以上的SD卡; 3.下載並…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 分銷系統開發搭建

    本文主要介紹如何搭建一套完整的分銷系統,從需求分析、技術選型、開發、部署等方面進行說明。 一、需求分析 在進行分銷系統的開發之前,我們首先需要對系統進行需求分析。一般來說,分銷系統…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28

發表回復

登錄後才能評論