久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于c語言的簡易商品信息管理系統程序源碼
[打印本頁]
作者:
猴子偷桃
時間:
2018-7-18 20:16
標題:
基于c語言的簡易商品信息管理系統程序源碼
基于c語言的簡易管理系統,已用visual c++6.0調試可用
單片機源程序如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define PR printf
#define SC scanf
struct goods
{
int num;
char name[20];
char sort[20];
int count;
float price;
}goods[100]; //全局定義結構體名稱
int k,n,i;
void input();
void sequence();
void purchase();
void sell();
void edit();
void correct();
void search();
void scan();
void reserve();
int open();
void main ()
{
i=1;
while(i) /*菜單選擇界面*/
{
system("color F0");
PR("\n\n--★-☆--★-☆--☆-★--☆-★--☆-☆--★-\n");
PR("\n\t\t\t 商品信息管理系統\t\n\n");
PR("\t 1 →重新輸入商品信息\n\n");
PR("\t 2 →排序商品信息\n\n");
PR("\t 3 →輸入進貨信息\n\n");
PR("\t 4 →輸入銷售信息\n\n");
PR("\t 5 →增加/刪除商品\n\n");
PR("\t 6 →修改商品信息\n\n");
PR("\t 7 →查詢商品信息\n\n");
PR("\t 8 →瀏覽商品信息\n\n");
PR("\t 9 →保存商品信息\n\n");
PR("\t 10→打開一個文件\n\n");
PR("\t 0 →退出系統\n\n");
PR("\n\n--☆-★--☆-★--☆-☆--★-☆--★-☆--★-");
PR("\n\n");
PR("\t請選擇您所要的操作:");
fflush(stdin);
SC("%d",&k);
system("cls");
switch(k)
{
case 1: input();break;
case 2: sequence();break;
case 3: purchase();break;
case 4: sell();break;
case 5: edit();break;
case 6: correct();break;
case 7: search();break;
case 8: scan();break;
case 9: reserve();break;
case 10: open();break;
case 0: PR("\n\n\t…………謝謝使用,歡迎再來,再見O(∩_∩)O…………");exit(0);
default: puts("輸入錯誤,請按任意健返回主菜單:\n"); break;
}
system("cls"); /*清屏*/
}
}
void input() /*功能1:重新輸入商品信息*/
{
PR("\n\n\t\t請輸入需要建立新庫存的商品數量:");
SC("%d",&n);
system("cls");
for(i=0;i<n;i++) /*用循環實現輸入n個商品*/
{
PR("\n\t 請輸入商品的編號:(數字)");
SC("%ld",&goods[i].num);
PR("\n\t 請輸入商品的名稱:");
SC("%s",goods[i].name);
PR("\n\t 請輸入商品的種類:");
SC("%s",goods[i].sort);
PR("\n\t 請輸入商品的數量:(數字)");
SC("%d",&goods[i].count);
PR("\n\t 請輸入商品的單價:(數字)");
SC("%f",&goods[i].price);
PR("\n …………………………………………………………………………………………………\n");
}
PR("\tPlease press any key to continue");
getch();
main();
}
void sequence() /*功能2:排序商品信息*/
{
int temp;
float temptemp;
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) /*按商品類別首字母由小到大排序*/
{
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);
temp=goods[i].count;
goods[i].count=goods[i+1].count;
goods[i+1].count=temp;
temptemp=goods[i].price;
goods[i].price=goods[i+1].price;
goods[i+1].price=temptemp;
}
PR("--------------------------------------------------------------------------------");
PR("\n\t\t按商品類別排序后的商品信息\n\n");
PR("\n|★商品類別★ 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
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) /*按商品首字母由小到大排序*/
{
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);
temp=goods[i].count;
goods[i].count=goods[i+1].count;
goods[i+1].count=temp;
temptemp=goods[i].price;
goods[i].price=goods[i+1].price;
goods[i+1].price=temptemp;
}
PR("--------------------------------------------------------------------------------");
PR("\n\t\t按商品名稱排序后的商品信息\n");
PR("\n|商品類別 商品編號 ★商品名稱★ 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
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);
temp=goods[i].count;
goods[i].count=goods[i+1].count;
goods[i+1].count=temp;
temptemp=goods[i].price;
goods[i].price=goods[i+1].price;
goods[i+1].price=temptemp;
}
PR("--------------------------------------------------------------------------------");
PR("\n\t\t按商品編號排序后的商品信息\n\n");
PR("\n|商品類別 ★商品編號★ 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("--------------------------------------------------------------------------------\n");
PR("please press any key to continue");
getch();
main();
}
void purchase() /*功能3:進貨商品信息*/
{
long temp; /*定義臨時變量表示剛進貨的商品編號*/
int j;
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\n\t請輸入剛進貨的商品編號:");
SC("%ld",&temp);
fflush(stdin);
PR("\n\t請輸入剛進貨的商品數量:");
SC("%d",&j);
fflush(stdin);
for(i=0;i<n;i++) /*尋找與進貨相同的商品信息*/
if(temp==goods[i].num)
goods[i].count=goods[i].count+j; /*更改商品數量*/
PR("\n\tpress any key to continue:");
getch();
PR("\n\t進貨后的商品信息:");
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\n\n\t\tPress any key to enter menu");
getch();
main();
}
void sell() /*功能4:銷售商品信息*/
{
int number,sell; /*臨時變量temp:表示剛銷售的商品編號*/
PR("\n|\t商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\n\t請輸入剛銷售的商品編號:");
SC("%ld",&number);
fflush(stdin);
PR("\n\t請輸入剛銷售的商品數量:");
SC("%d",&sell);
for(i=0;i<n;i++) /*找到剛銷售的商品信息*/
{
if(number==goods[i].num)
{
for(;sell>goods[i].count;) /*如果銷售額大于庫存量,則出現錯誤提示*/
{
PR("\n\t售出數量大于商品原有數量,請重新輸入:");
SC("%d",&sell);
}
goods[i].count=goods[i].count-sell; /*更改商品數量的功能*/
}
}
PR("\n\tpress any key to continue:");
getch();
PR("\n| 銷售后商品信息: |");
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\n\tPress any key to enter menu");
getch();
main(); /*返回功能選擇界面*/
}
void edit() /*功能5:添加或刪除商品信息*/
{
void add(); /*聲明子函數*/
void delete();
PR("\n\t請選擇:1.添加商品信息; 2.刪除商品信息;\n");
SC("%d",&k);
switch(k) /*用switch語句實現功能選擇*/
{
case 1: add();break;
case 2: delete();break;
}
PR("\n\tPress any key to enter menu");
getch();
main(); /*返回主菜單*/
}
void add() /*添加商品信息*/
{ /*定義子函數*/
PR("\t*請輸入所添加商品的商品編號:");
SC("%ld",&goods[n].num);
PR("\n\t請輸入所添加商品的名稱:");
SC("%s",goods[n].name);
PR("\n\t請輸入所添加商品的類別:");
SC("%s",goods[n].sort);
PR("\n\t請輸入所添加商品的數量:");
SC("%d",&goods[n].count);
PR("\n\t請輸入所添加商品的價格:");
SC("%f",&goods[n].price);
n=n+1;
PR("\n");
return;
}
void delete() /*刪除商品信息*/
{ /*定義子函數*/
int temp; /*定義局部變量*/
int j;
PR("\n|\t商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\n請輸入要刪除的商品編號:");
SC("%d",&temp);
PR("\n\n");
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; /*商品總庫存量減少*/
}
}
for(i=0;i<n;i++)
{
PR("刪除后的商品信息為:\n");
PR("\n|\t商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
}
return; /*返回主界面*/
}
void correct() /*功能6:修改商品信息*/
{
int temp; /*定義局部變量*/
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\t請輸入要修改的商品的編號:");
SC("%d",&temp); /*輸入新的商品信息*/
PR("\n");
for(i=0;i<n;i++) /*保存新的商品信息*/
{
if(temp==goods[i].num)
{
PR("\t請輸入一個新的的商品編號:");
SC("%ld",&goods[i].num);
PR("\n\t請輸入新的商品的名稱:");
SC("%s",goods[i].name);
PR("\n\t請輸入新的商品的類別:");
SC("%s",goods[i].sort);
PR("\n\t請輸入新的商品的數量:");
SC("%d",&goods[i].count);
PR("\n\t請輸入新的商品價格:");
SC("%f",&goods[i].price);
PR("\n");
}
}
PR("修改之后的商品信息為:\n");
PR("\n|\t商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("Please press any key to continue"); /*返回功能選擇界面*/
getch();
main(); /*返回主菜單*/
}
void search() /*功能7:查詢商品信息*/
{
int a; /*定義局部變量*/
int temp1;
char temp2[30],temp3[20];
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("\n1-按商品編號查詢\n2-按商品名查詢\n3-按商品類別查詢\n4-查需要進貨的商品\n");
PR("\n\t請輸入數字確定查詢方式:");
SC("%d",&k);
switch(k) /*查詢方式的選擇*/
{
case 1:
PR("\n\t請輸入要查詢的商品的編號:"); /*按商品編號查詢*/
SC("%d",&temp1);
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
if(temp1==goods[i].num)
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
break;
case 2:
PR("\n\t請輸入要查詢的商品名:"); /*按商品名查詢數據*/
SC("%s",temp2);
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
if(strcmp(temp2,goods[i].name)==0)
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
break;
case 3:
PR("\n\t請輸入要查詢的商品類別:"); /*按商品類別查詢數據*/
SC("%s",temp3);
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
if(strcmp(temp3,goods[i].sort)==0)
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
break;
case 4:
printf("請輸入進貨標準:(標準庫存)");
scanf("%d",&a);
for(i=0;i<n;i++) /*查詢需要進貨的商品名*/
{
if(goods[i].count<a)
PR("\n需要進貨的商品名:%s 現有庫存量:%d\n",goods[i].name,goods[i].count);
}
break;
}
PR("\n\n\tPress any key to enter menu");
getch();
main();
}
void scan() /*功能8:瀏覽商品信息*/
{
PR("\t\t\t瀏覽輸入的商品信息\n");
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
PR("Press any key to enter menu");
getch();
main();
}
void reserve() /*功能9:保存文件*/
{
FILE *fp;
system("cls"); /*清屏*/
PR("\n\t請輸入文件名");
fp=fopen("GOODS.txt","w+"); /*創建并打開一個文件,并得到該文件的地址*/
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for(i=0;i<n;i++)
{
fprintf(fp,"%10s %5d %10s %5d %6.2f\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
}
fclose(fp); /*關閉文件*/
PR("文件已經保存!\n");
getch();
system("cls"); /*清屏*/
main();
}
int open()
{
int number=0;
FILE *fp;
if((fp=fopen("GOODS.txt","r"))==NULL)/*p1是圖書管理系統的書籍信息文件指針*/
{
PR("還沒有保存過文件呢,朋友\n");
PR("按任意鍵回到主菜單!\n");
getch();
return(0);
main();
}
else
{
n=0;
fflush(stdin);
PR("文件內容如下:\n\n\n");
PR("\n|商品類別 商品編號 商品名稱 商品數量 商品單價|\n");
for (i=0; !feof(fp); i++)
{
fflush(stdin);
/*fscanf(里邊必須加\n,否則會有奇怪的一行0)*/
fscanf(fp,"%s %d %s %5d %f\n",goods[i].sort,&goods[i].num,goods[i].name,&goods[i].count,&goods[i].price);
PR("|%-10s %5d %10s %5d %6.2f |\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
n++;
}
fclose(fp);
printf("按任意鍵回到主菜單!\n\n");
getch();
return(n);
main();
}
}
復制代碼
所有資料51hei提供下載:
基于c語言的簡易商品管理系統.rar
(3.27 KB, 下載次數: 10)
2018-7-18 20:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
黄色1级片
|
日韩午夜片
|
日韩精品在线观看视频
|
免费网站观看www在线观
|
三级在线免费观看
|
中文字幕观看
|
国产精品国产精品国产专区不片
|
欧美色图一区二区三区
|
日本在线免费视频
|
国产免费成人
|
日韩激情一区
|
成年人观看视频
|
不卡视频一区二区
|
亚洲国产区
|
久久久久国产视频
|
国产精品va
|
黄色一区二区三区
|
成人免费毛片嘿嘿连载视频
|
中文字幕精品一区久久久久
|
欧美午夜理伦三级在线观看
|
精品国产一区二区三区四区
|
精品国产毛片
|
av播播
|
99热最新
|
亚洲视频一区二区三区四区
|
国产h视频
|
欧美黄色片
|
成人做受黄大片
|
金银在线
|
亚洲成人av
|
亚洲国产第一页
|
国产三级在线播放
|
狠狠做深爱婷婷久久综合一区
|
真实人妻互换毛片视频
|
国产一区久久
|
欧美日韩中文字幕在线观看
|
中文字幕不卡在线
|
国产福利在线视频
|
五月婷婷av
|
亚洲视频在线播放
|
日本理论片午伦夜理片在线观看
|