真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

商品訂單函數(shù)c語(yǔ)言,商品訂單函數(shù)c語(yǔ)言是什么

請(qǐng)問(wèn)c語(yǔ)言如何實(shí)現(xiàn)輸入一個(gè)商品的名字和購(gòu)買數(shù)量,自動(dòng)計(jì)算出總價(jià),商品有蘋果和梨子,單價(jià)分別是10和

#define?_CRT_SECURE_NO_WARNINGS

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括滿城網(wǎng)站建設(shè)、滿城網(wǎng)站制作、滿城網(wǎng)頁(yè)制作以及滿城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,滿城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到滿城省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

#include?stdio.h

#include?stdlib.h

#include?string.h

struct?goods

{

char?goodsName[20];

int?goodNum;

};

int?priceCount(struct?goods?inputGoods)

{

if?(!strcmp(inputGoods.goodsName,?"蘋果"))

return?inputGoods.goodNum?*?10;

if?(!strcmp(inputGoods.goodsName,?"梨子"))

return?inputGoods.goodNum?*?11;

else

return?-1;

}

int?main()

{

?struct?goods?inputGoods?=?{};

?while?(1)

?{

?printf("請(qǐng)輸入商品名字和購(gòu)買數(shù)量\n");

?scanf("%s%d",?inputGoods.goodsName,?inputGoods.goodNum);

?if?(priceCount(inputGoods)?!=?-1)

?printf("購(gòu)買%s的總價(jià)是:%d\n",?inputGoods.goodsName,?priceCount(inputGoods));

?else

?//printf("我頭像,驚喜")

?printf("商品名字輸入有問(wèn)題\n");

?}

system("pause");

return?0;

}

運(yùn)行結(jié)果:

用c語(yǔ)言編一個(gè)訂單信息管理程序

#include stdio.h

#include string.h

#include malloc.h

#include stdlib.h

int N;//////訂單數(shù)目

struct chanpin

{

long bianhao;

char mingcheng[30];

char cpmingcheng[30];

int cpdingjia;

int shuliang;

long jine;

};////訂單編號(hào)、公司名稱、產(chǎn)品名稱、產(chǎn)品訂價(jià)、訂購(gòu)數(shù)量、訂單金額

void init(struct chanpin *p)

{

printf("輸入訂單編號(hào):\t");

scanf("%d", p-bianhao);

printf("\n輸入公司名稱:\t");

scanf("%s", p-mingcheng);

printf("\n輸入產(chǎn)品名稱:\t");

scanf("%s", p-cpmingcheng);

printf("\n輸入產(chǎn)品定價(jià):\t");

scanf("%d", p-cpdingjia);

printf("\n輸入訂購(gòu)數(shù)量:\t");

scanf("%d", p-shuliang);

p-jine=p-cpdingjia * p-shuliang;

}//初始化

void displaymingcheng(struct chanpin *p)

{

printf("\n");

printf("公司名稱:%s\n", p-mingcheng);

}

void display(struct chanpin *p)

{

displaymingcheng(p);

puts("-----------------------------------------------");//傳說(shuō)中的分割線

printf("訂單編號(hào):\t%ld", p-bianhao);

//printf("\n公司名稱:\t%s", p-mingcheng);

printf("\n產(chǎn)品名稱:\t%s", p-cpmingcheng);

printf("\n產(chǎn)品定價(jià):\t%d", p-cpdingjia);

printf("\n訂購(gòu)數(shù)目:\t%d", p-shuliang);

printf("\n總金額是:\t%ld", p-jine);

puts("-----------------------------------------------");

}//輸出一個(gè)產(chǎn)品的全部信息

void displaycompany(struct chanpin *p)

{

char temp[30];

int i;

printf("輸入公司名稱:\t");

gets(temp);

for(i=0;iN;i++)

{

if(strcmp(temp, p[i].mingcheng)==0)

display(p[i]);

}

puts("訂單信息輸出完畢!!!");

}///////////根據(jù)名稱輸出公司訂單信息

void findbianhao(struct chanpin *p)

{

long temp;

int i;

printf("輸入編號(hào):\t");

scanf("%ld", temp);

for(i=0;iN;i++)

{

if(temp==p[i].bianhao)

display((p+i));

}

puts("根據(jù)編號(hào)查找完成!!!");

}//////根據(jù)編號(hào)查詢 ....其他的查找方法我沒(méi)寫,你可以補(bǔ)上

void findcpmingcheng(struct chanpin *p)

{}///////產(chǎn)品名稱查找

void findcpdingjia(struct chanpin *p)

{}////產(chǎn)品定價(jià)查找

int menu()

{

int x;

printf("根據(jù)公司名稱輸出訂單輸入 :\t c\n");

printf("根據(jù)編號(hào)查找輸入:\t b\n");

printf("根據(jù)產(chǎn)品名稱輸入:\t m \n");

printf("根據(jù)定價(jià)查找輸入:\t d \n");

printf("退出輸入:\t e \n");

x=getchar();

getchar();

return x;

}

void main()

{

struct chanpin *cp;

int choic;

int i;

printf("請(qǐng)輸入總書目:\t");

scanf("%d", N);

cp=(struct chanpin *)malloc(N*sizeof(struct chanpin));

for(i=0;iN;i++)

init(cp+i);//初始化所有產(chǎn)品

for(i=0;iN;i++)

display(cp+i);///顯示所有產(chǎn)品信息

choic=menu();

while(choic!='e')

{

if(choic=='c')

displaycompany(cp);/////調(diào)用公司查找

else if(choic=='b')

findbianhao(cp);///調(diào)用編號(hào)查找

else if(choic=='m')

findcpmingcheng(cp);////調(diào)用名稱查找

else if(choic=='d')

findcpdingjia(cp);

else

printf("出入錯(cuò)誤!\n");

choic=menu();

}

puts("感謝使用");

}

c語(yǔ)言feof()函數(shù)問(wèn)題

while(1)

{

fread(a[j],sizeof(struct stu),1,fp);/*這里一旦讀到結(jié)束位置,后面輸出應(yīng)停止,所以在fread后面增加判斷即可*/

if(feof(fp)) break;

printf("%10d",a[j].a);

printf("%10s",a[j].b);

printf("%10s",a[j].c);

printf("%10.2lf",a[j].d);

printf("%10d",a[j].e);

printf("%10.2lf\n",a[j].f);

j++;

}

fclose(fp);

}

原因:

當(dāng)遇到文件結(jié)束標(biāo)志,不立即結(jié)束而再執(zhí)行后面幾個(gè)printf才結(jié)束,會(huì)由于%s輸出遇不到字符串結(jié)束標(biāo)志而一直向下輸出,后面內(nèi)容是隨機(jī)的,當(dāng)遇到字符串結(jié)束標(biāo)志才停止。至于在那里停止,沒(méi)有辦法固定,要看內(nèi)存單元%s正在訪問(wèn)位置是否是字符串結(jié)束標(biāo)志。

C語(yǔ)言設(shè)計(jì)商品管理系統(tǒng),可以實(shí)現(xiàn)商品的錄入,查詢,求源代碼

#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; /*設(shè)商品數(shù)*/

char fn;

printf("\t~~~~~~商品管理系統(tǒng)~~~~~~");

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.商品信息統(tǒng)計(jì)\n");

printf("\t\t0.退出系統(tǒng)");

printf("\n\t~~~~~~~~~~~~~~~~\n");

printf("\t請(qǐng)輸入你的一個(gè)選項(xiàng)(數(shù)字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; /*信息統(tǒng)計(jì)*/

case '0':

return 0;

default:puts("\t\t沒(méi)有這個(gè)項(xiàng)!返回主菜單!");

break;

}

printf("\n\t\t完畢!按任意鍵繼續(xù)");

getch( );

puts("\n");

}

}

void DataInput(record *com, int *nptr) /*商品信息錄入*/

{

int i = 0;

int n ; /*錄入的總數(shù)*/

char YesOrNo; /*判斷是否保存*/

char shangming[30]; /*商名*/

int haoma; /*商品號(hào)*/

char shangjia[10]; /*單價(jià)*/

float danjia;

printf("\t\t請(qǐng)輸入商品個(gè)數(shù):");

scanf("%d",n);

*nptr = n; /*nptr返回商品個(gè)數(shù)*/

printf("\t\t現(xiàn)在開(kāi)始錄入這%d個(gè)商品信息:\n\n",n);

while(in)

{

printf("請(qǐng)輸入商品的商品名:",i+1);

scanf("%s",shangming);

printf("請(qǐng)輸入商品的商品號(hào):",i+1);

scanf("%d",haoma);

printf("請(qǐng)輸入商品的生產(chǎn)商:",i+1);

scanf("%s",shangjia);

printf("請(qǐng)輸入商品的單價(jià) :",i+1);

scanf("%f",danjia);

if(danjia=0danjia=1000) /*有效的單價(jià)才錄入*/

{

strcpy(com[i].name,shangming);

com[i].num = haoma;

strcpy(com[i].shang,shangjia);

com[i].price = danjia;

i =i+1;

}

else

printf("輸入的單價(jià)是一個(gè)無(wú)效的值!!!\n\n");

} /*結(jié)束while*/

printf("要保存您剛才錄入的數(shù)據(jù)嗎(Y/N)?"); /*選擇保存*/

fflush(stdin);

scanf("%c",YesOrNo);

if(YesOrNo=='y'||YesOrNo=='Y')

DataStorage(com,n);

else if(YesOrNo=='n'||YesOrNo=='N')

return;

else

printf("輸入了不正確的選項(xiàng)\n");

return;

} /*結(jié)束函數(shù)*/

void DataFind( ) /*查找*/

{

void OnNumber(record *com,int n ); /*按商品號(hào)排序*/

int key; /*key為要查找的關(guān)鍵值*/

int low = 0; /*下限*/

int high ; /*上限*/

int mid ; /*中間值*/

char ans; /*選項(xiàng)*/

record com[SIZE];

int n;

if(DataRead(com,n)==1) /*從文件中讀取信息*/

{

OnNumber(com,n); /*先按商品號(hào)排序*/

high = n;

do

{

printf("\n\n\t\t請(qǐng)輸入你要查找的商品號(hào):");

scanf("%d",key);

low = 0;high = n;

while (low =high)

{

mid = (high + low)/2; /*折半查找法*/

if (key == com[mid].num )

{

printf("\n\t\t你要找的是第%d個(gè)商品\n",mid + 1);

printf("\t\t結(jié)果如下:\n\n");

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\n");

printf("%3d%17s%12d%12s%8.1f\n",mid+1,com[mid].name,com[mid].num,com[mid].shang,

com[mid].price);

break; /*如果找到則退出循環(huán)*/

}

if (key com[mid].num ) low = mid + 1;

else high = mid - 1;

}

if (low high)

printf("\t\t,沒(méi)有找到這個(gè)價(jià)格!\n");

printf("\n\t\t還要繼續(xù)查詢嗎(Y/N)?");

ans = getch( );

}

while (ans =='Y'||ans == 'y'); /*結(jié)束do....while*/

}

}

void DataStorage(record *com, int n) /*錄入保存文件*/

{

int i;

FILE *comPtr;

char FileName[20];

printf("請(qǐng)輸入您要保存的文件名:");

scanf("%s",FileName);

printf("正在將商品信息保存到文件,請(qǐng)稍候……\n");

if((comPtr=fopen(FileName,"w"))==NULL)

printf("沒(méi)有該文件\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("請(qǐng)輸入文件名:");

scanf("%s",datafile);

if((comPtr = fopen(datafile,"r")) == NULL) /*打開(kāi)文件*/

{

printf("沒(méi)有該文件,請(qǐng)重新輸入!\n");

return 0;

}

else

{

printf("正在讀取商品單價(jià),請(qǐng)稍候……\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 ); /*按單價(jià)*/

void OnNumber(record *com,int n ); /*按商品號(hào)*/

int N;

int i;

record com[300];

char YesNo; /*是否按順序顯示*/

char tp;

if(DataRead(com,N)==1) /*從文件讀取數(shù)據(jù)*/

{

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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請(qǐng)輸入排序方式:\n");

printf("\t(1.按價(jià)格排序從低到高;2.按商品號(hào)排序從低到高.)");

fflush(stdin);

scanf("%c",tp);

if(tp=='1')

OnPrice(com,N);

else if(tp =='2')

OnNumber(com,N);

else

printf("\t輸入了不正確項(xiàng)!\n");

}

}

} /*結(jié)束顯示成績(jī)*/

void OnPrice(record *com,int n ) /*按單價(jià)順序*/

{ int i,j;

record temp;

printf("\t\t按單價(jià)排序---\n\n");

printf("商品總數(shù)為%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按成績(jī)排序的結(jié)果如下(按分?jǐn)?shù)從低到高):\n\n");

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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 ) /*按序號(hào)順序*/

{

int i,j;

record temp;

printf("\t\t按商品號(hào)排序---\n\n");

printf("商品總數(shù)為%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按商品號(hào)排序的結(jié)果如下(按商品號(hào)從小到大):\n\n");

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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; /*生產(chǎn)商*/

char shangjia[10];

float danjia;

char YesOrNo;

record com[SIZE];

printf("\t\t讀取原有數(shù)據(jù)信息---\n");

if(DataRead(com,n)==1)

{

printf("\t\t信息讀取完畢!\n\n");

printf("\t\t請(qǐng)輸入要添加的商品總數(shù):");

scanf("%d",m);

printf("\t\t現(xiàn)在開(kāi)始錄入這%d個(gè)商品信息:\n\n",m);

while(im)

{

printf("第%d個(gè)商品的商品名:",i+1);

scanf("%s",shangming);

printf("第%d個(gè)商品的商品號(hào):",i+1);

scanf("%d",haoma);

printf("第%d個(gè)商品的生產(chǎn)商:",i+1);

scanf("%s",shangjia);

printf("第%d個(gè)商品的單價(jià):",i+1);

scanf("%f",danjia);

if(danjia=0danjia=1000) /*有效的單價(jià)才錄入*/

{

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("輸入的單價(jià)是一個(gè)無(wú)效的值,請(qǐng)重新輸入!\n\n");

}

printf("要保存您剛才錄入的數(shù)據(jù)嗎(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("輸入了不正確項(xiàng),返回上一級(jí)\n");

return;

}

}

void DataDel( )//刪除

{

void OnNumber(record *com,int n );

record com[SIZE];

int i; /*總記錄數(shù)*/

int n; /*要?jiǎng)h除的記錄號(hào)*/

int m;

printf("\t\t讀取原有數(shù)據(jù)信息---\n");

if(DataRead(com,n)==1)

{

printf("\t\t原始數(shù)據(jù)如下:\n\n");

OnNumber(com,n );

printf("請(qǐng)輸入你要?jiǎng)h除的記錄的序號(hào)");

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( ) /*統(tǒng)計(jì)信息*/

{

int high=0,low=200,ave=0;

int n,i,sum=0;

int g,l;

record com[SIZE];

printf("讀取數(shù)據(jù)信息---\n");

if(DataRead(com,n)==1)

{

printf("商品總數(shù)為%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最高\(yùn)t最低\t平均\n"); /*計(jì)算值*/

printf("商品單價(jià)統(tǒng)計(jì):\t%d\t%d\t%d\n\n",high,low,ave);

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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 序號(hào)\t\t 商品名\t 商品號(hào)\t 生產(chǎn)商 單價(jià)\n");

printf("單價(jià)最高的商品是:%3d%17s%12d%12s%8.1f\n\n",g+1,com[g].name,com[g].num,com[g].shang,com[g].price);

printf("單價(jià)最低的商品是:%3d%17s%12d%12s%8.1f\n",l+1,com[l].name,com[l].num,com[l].shang,com[l].price);

} /*結(jié)束統(tǒng)計(jì)*/

}

c語(yǔ)言商品管理系統(tǒng)源代碼,加注釋

#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; /*設(shè)商品數(shù)*/

char fn;

printf("\t~~~~~~商品管理系統(tǒng)~~~~~~");

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.商品信息統(tǒng)計(jì)\n");

printf("\t\t0.退出系統(tǒng)");

printf("\n\t~~~~~~~~~~~~~~~~\n");

printf("\t請(qǐng)輸入你的一個(gè)選項(xiàng)(數(shù)字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; /*信息統(tǒng)計(jì)*/

case '0':

return 0;

default:puts("\t\t沒(méi)有這個(gè)項(xiàng)!返回主菜單!");

break;

}

printf("\n\t\t完畢!按任意鍵繼續(xù)");

getch( );

puts("\n");

}

}

void DataInput(record *com, int *nptr) /*商品信息錄入*/

{

int i = 0;

int n ; /*錄入的總數(shù)*/

char YesOrNo; /*判斷是否保存*/

char shangming[30]; /*商名*/

int haoma; /*商品號(hào)*/

char shangjia[10]; /*單價(jià)*/

float danjia;

printf("\t\t請(qǐng)輸入商品個(gè)數(shù):");

scanf("%d",n);

*nptr = n; /*nptr返回商品個(gè)數(shù)*/

printf("\t\t現(xiàn)在開(kāi)始錄入這%d個(gè)商品信息:\n\n",n);

while(in)

{

printf("請(qǐng)輸入商品的商品名:",i+1);

scanf("%s",shangming);

printf("請(qǐng)輸入商品的商品號(hào):",i+1);

scanf("%d",haoma);

printf("請(qǐng)輸入商品的生產(chǎn)商:",i+1);

scanf("%s",shangjia);

printf("請(qǐng)輸入商品的單價(jià) :",i+1);

scanf("%f",danjia);

if(danjia=0danjia=1000) /*有效的單價(jià)才錄入*/

{

strcpy(com[i].name,shangming);

com[i].num = haoma;

strcpy(com[i].shang,shangjia);

com[i].price = danjia;

i =i+1;

}

else

printf("輸入的單價(jià)是一個(gè)無(wú)效的值!!!\n\n");

} /*結(jié)束while*/

printf("要保存您剛才錄入的數(shù)據(jù)嗎(Y/N)?"); /*選擇保存*/

fflush(stdin);

scanf("%c",YesOrNo);

if(YesOrNo=='y'||YesOrNo=='Y')

DataStorage(com,n);

else if(YesOrNo=='n'||YesOrNo=='N')

return;

else

printf("輸入了不正確的選項(xiàng)\n");

return;

} /*結(jié)束函數(shù)*/

void DataFind( ) /*查找*/

{

void OnNumber(record *com,int n ); /*按商品號(hào)排序*/

int key; /*key為要查找的關(guān)鍵值*/

int low = 0; /*下限*/

int high ; /*上限*/

int mid ; /*中間值*/

char ans; /*選項(xiàng)*/

record com[SIZE];

int n;

if(DataRead(com,n)==1) /*從文件中讀取信息*/

{

OnNumber(com,n); /*先按商品號(hào)排序*/

high = n;

do

{

printf("\n\n\t\t請(qǐng)輸入你要查找的商品號(hào):");

scanf("%d",key);

low = 0;high = n;

while (low =high)

{

mid = (high + low)/2; /*折半查找法*/

if (key == com[mid].num )

{

printf("\n\t\t你要找的是第%d個(gè)商品\n",mid + 1);

printf("\t\t結(jié)果如下:\n\n");

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\n");

printf("%3d%17s%12d%12s%8.1f\n",mid+1,com[mid].name,com[mid].num,com[mid].shang,

com[mid].price);

break; /*如果找到則退出循環(huán)*/

}

if (key com[mid].num ) low = mid + 1;

else high = mid - 1;

}

if (low high)

printf("\t\t,沒(méi)有找到這個(gè)價(jià)格!\n");

printf("\n\t\t還要繼續(xù)查詢嗎(Y/N)?");

ans = getch( );

}

while (ans =='Y'||ans == 'y'); /*結(jié)束do....while*/

}

}

void DataStorage(record *com, int n) /*錄入保存文件*/

{

int i;

FILE *comPtr;

char FileName[20];

printf("請(qǐng)輸入您要保存的文件名:");

scanf("%s",FileName);

printf("正在將商品信息保存到文件,請(qǐng)稍候……\n");

if((comPtr=fopen(FileName,"w"))==NULL)

printf("沒(méi)有該文件\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("請(qǐng)輸入文件名:");

scanf("%s",datafile);

if((comPtr = fopen(datafile,"r")) == NULL) /*打開(kāi)文件*/

{

printf("沒(méi)有該文件,請(qǐng)重新輸入!\n");

return 0;

}

else

{

printf("正在讀取商品單價(jià),請(qǐng)稍候……\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 ); /*按單價(jià)*/

void OnNumber(record *com,int n ); /*按商品號(hào)*/

int N;

int i;

record com[300];

char YesNo; /*是否按順序顯示*/

char tp;

if(DataRead(com,N)==1) /*從文件讀取數(shù)據(jù)*/

{

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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請(qǐng)輸入排序方式:\n");

printf("\t(1.按價(jià)格排序從低到高;2.按商品號(hào)排序從低到高.)");

fflush(stdin);

scanf("%c",tp);

if(tp=='1')

OnPrice(com,N);

else if(tp =='2')

OnNumber(com,N);

else

printf("\t輸入了不正確項(xiàng)!\n");

}

}

} /*結(jié)束顯示成績(jī)*/

void OnPrice(record *com,int n ) /*按單價(jià)順序*/

{ int i,j;

record temp;

printf("\t\t按單價(jià)排序---\n\n");

printf("商品總數(shù)為%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按成績(jī)排序的結(jié)果如下(按分?jǐn)?shù)從低到高):\n\n");

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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 ) /*按序號(hào)順序*/

{

int i,j;

record temp;

printf("\t\t按商品號(hào)排序---\n\n");

printf("商品總數(shù)為%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按商品號(hào)排序的結(jié)果如下(按商品號(hào)從小到大):\n\n");

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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; /*生產(chǎn)商*/

char shangjia[10];

float danjia;

char YesOrNo;

record com[SIZE];

printf("\t\t讀取原有數(shù)據(jù)信息---\n");

if(DataRead(com,n)==1)

{

printf("\t\t信息讀取完畢!\n\n");

printf("\t\t請(qǐng)輸入要添加的商品總數(shù):");

scanf("%d",m);

printf("\t\t現(xiàn)在開(kāi)始錄入這%d個(gè)商品信息:\n\n",m);

while(im)

{

printf("第%d個(gè)商品的商品名:",i+1);

scanf("%s",shangming);

printf("第%d個(gè)商品的商品號(hào):",i+1);

scanf("%d",haoma);

printf("第%d個(gè)商品的生產(chǎn)商:",i+1);

scanf("%s",shangjia);

printf("第%d個(gè)商品的單價(jià):",i+1);

scanf("%f",danjia);

if(danjia=0danjia=1000) /*有效的單價(jià)才錄入*/

{

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("輸入的單價(jià)是一個(gè)無(wú)效的值,請(qǐng)重新輸入!\n\n");

}

printf("要保存您剛才錄入的數(shù)據(jù)嗎(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("輸入了不正確項(xiàng),返回上一級(jí)\n");

return;

}

}

void DataDel( )//刪除

{

void OnNumber(record *com,int n );

record com[SIZE];

int i; /*總記錄數(shù)*/

int n; /*要?jiǎng)h除的記錄號(hào)*/

int m;

printf("\t\t讀取原有數(shù)據(jù)信息---\n");

if(DataRead(com,n)==1)

{

printf("\t\t原始數(shù)據(jù)如下:\n\n");

OnNumber(com,n );

printf("請(qǐng)輸入你要?jiǎng)h除的記錄的序號(hào)");

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( ) /*統(tǒng)計(jì)信息*/

{

int high=0,low=200,ave=0;

int n,i,sum=0;

int g,l;

record com[SIZE];

printf("讀取數(shù)據(jù)信息---\n");

if(DataRead(com,n)==1)

{

printf("商品總數(shù)為%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最高\(yùn)t最低\t平均\n"); /*計(jì)算值*/

printf("商品單價(jià)統(tǒng)計(jì):\t%d\t%d\t%d\n\n",high,low,ave);

printf("序號(hào)\t\t商品名\t 商品號(hào)\t生產(chǎn)商\t單價(jià)\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 序號(hào)\t\t 商品名\t 商品號(hào)\t 生產(chǎn)商 單價(jià)\n");

printf("單價(jià)最高的商品是:%3d%17s%12d%12s%8.1f\n\n",g+1,com[g].name,com[g].num,com[g].shang,com[g].price);

printf("單價(jià)最低的商品是:%3d%17s%12d%12s%8.1f\n",l+1,com[l].name,com[l].num,com[l].shang,com[l].price);

} /*結(jié)束統(tǒng)計(jì)*/

}


網(wǎng)站標(biāo)題:商品訂單函數(shù)c語(yǔ)言,商品訂單函數(shù)c語(yǔ)言是什么
當(dāng)前路徑:http://weahome.cn/article/hspesi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部