當前位置:首頁 » 編程語言 » 商品出庫c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

商品出庫c語言

發布時間: 2022-12-14 14:12:37

c語言程序設計加點倉庫管理系統 求大神幫助

我暈了。。。建議樓主好好看看函數,或者去CSDN看看有關操作。C語言函數基本操作必須要會的。

② c語言程序設計 用鏈表編寫商品庫存管理。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct node{
char no[20];//存放編號
char name[40];//存放名稱
int reserve;//庫存
struct node *next;
}NODE;

typedef struct link{
NODE *front;//頭指針
NODE *rear;//尾指針
}LINK;

NODE *create_node(void){
NODE *node = (NODE *)malloc(sizeof(NODE));
printf("請輸入貨物編號:");
gets(node->no);
printf("請輸入貨物名稱:");
gets(node->name);
printf("請輸入貨物名稱:");
char ch;
while( (ch= getchar()) != '\n');//rewind(stdin);
scanf("%d",&node->reserve);
node->next = NULL;
return node;
}

void init_link(LINK *link){
link->rear = NULL;
link->front = NULL;
}

int link_empty(LINK *link){
return link->front == NULL ? 1: 0;
}

int node_num(LINK *link){
int num = 0;
if( link_empty(link)){
return num;
}
num = 1;
NODE *node = link->front;
while(node != link->rear){
node = node->next;
++num;
}
return num;
}

/*NODE *node_find(LINK *link,const int n){
int num = node_num(link);
if(num < n){
printf("公有節點%d個,無法找到第%d個節點\n",num,n);

}
else{

}
}
*/
void node_push(LINK *link){
NODE *node = create_node();
if(link->front == NULL){
link->front = node;
link->rear = node;
node->next = NULL;
}
else{
link->rear->next = node;
link->rear = node;
node->next = NULL;
}
}

void node_insert(LINK *link,const int n){
int num = 0,i = 1;
NODE *node = link->front;
NODE *new_node = NULL;
if ( link_empty(link) ){
printf("鏈表為空,將建立鏈表!\n");
node_push(link);
}
else{
if( n <= 1){
printf("在鏈表頭插入數據\n");
new_node = create_node();
new_node->next = link->front;
link->front = new_node;
}
else if( n>= num = node_num(link) ){
printf("節點數少於%d,將在末尾插入節點.\n",n);
node_push(link);
}
else{
printf("在第n個節點後插入數據\n");
if(num >= n){
while( i != n){
node = node->next;
++i;
}
new_node = create_node();
new_node-next = node->next;
node->next = new_node;
}
}
}

void find_node_insert(LIKNK *link,const char *name){
NODE *node = link->front;
if( link_empty(link) )
node_push(link);
else {
while(strcmp(node->name,name) != 0){
if(node != link->rear)
node = node->next;
else break;

}
if(node != NULL){

NODE *new_node = create_node();
new_node-next = node->next;
node->next = new_node;
}
else {
printf("沒有找到相關貨物,將在頭節點插入數據\n");
intsert(link,0);
}
}

/*由於我不知到你對貨物統計具體實現的要求,關於貨物數量統計就你自己寫了,應該比較簡單。*/
/* 代碼沒有具體運行過,如果你學過C結構體與指針,就這個代碼思路應該看得明白,真正的實現你自己實現吧
這樣對你會更好寫。可能會有錯誤的地方,請謹慎。 */

③ 產品出庫管理系統C語言編程

系統結構

圖1 RFID倉儲管理系統結構圖

RFID倉儲管理系統由業務管理軟體、RFID標簽發行系統和RFID標簽識別採集系統組成,這幾個系統互相聯系,共同完成物品管理的各個流程。後台資料庫管理系統是整個系統的核心,RFID識別採集是實現管理功能的基礎和手段。

後台管理軟體由中心數據伺服器和管理終端組成,是系統的數據中心。負責與手持機通訊,將手持機上傳的數據轉換並插入到後台業務倉儲管理系統的資料庫中,對標簽管理信息、發行標簽和採集的標簽信息集中進行儲存和處理。

RFID標簽發行系統由電子標簽專用列印機和標簽製作管理軟體組成,負責完成庫位標簽、物品標簽、箱標簽的信息寫入和標簽表面信息列印工作。

電子標簽專用列印機採用內嵌非接觸讀寫器的工業級熱轉印列印機,能夠在標簽晶元寫入信息的同時在標簽表面列印預先設定的內容信息。標簽製作管理軟體的核心是標簽製作函數動態連接庫,它嵌入在後台系統內,為後台倉儲管理系統提供操作列印機製作標簽的開發介面函數。基於該動態庫還提供了一個獨立的標簽製作軟體,可以手工輸入標簽數據,便於臨時製作標簽。

RFID標簽識別採集系統可通過手持機或固定位置終端採集標簽信息,完成標簽數據的存儲,並通過RFID中間件與管理中心進行數據的交換。

系統功能

本系統利用電子標簽對每一個需要管理的對象在其管理周期內進行標記管理。管理人員利用本系統可以實時了解掌控每個被管理對象(物品)的性質、狀態、位置、歷史變化等信息,並根據這些信息採取相應的管理對策和措施,達到提高使用單位的運營水平和管理質量的目的。可以廣泛用於軍隊、鐵路、醫療衛生、煙草、電信等行業企事業單位的倉儲管理。

根據需求,系統包含了若干模塊:系統管理、標簽製作、入庫管理、出庫管理、盤點管理、調撥管理、退換管理、報表分析、終端數據採集程序。

系統管理:系統設置以及系統用戶信息和許可權。

標簽製作:依據入庫單及標簽製作申請單錄入的貨物信息生成每個物品的電子標簽,在標簽表面上列印標簽序號及產品名稱、型號規格,在晶元內記錄產品的詳細信息。

入庫管理:入庫時,倉庫管理員根據訂貨清單清點檢查每一件貨品,檢查合格後交給倉庫保管員送入庫房。倉庫保管員持手持機掃描貨架庫位標簽和入庫物品上的標簽並輸入物品數量進行入庫登記,數據記入手持機內的入庫操作數據表,然後將物品放置到指定庫位上。

如果需要將物品裝入包裝箱內存放,還需要掃描箱標簽以更新手持機內箱明細表。

全部物品入庫完畢後,將手持機交給管理員,由管理員將入庫數據導入後台管理資料庫內,完成入庫操作。

經過這一流程後,倉庫中每一種物品的位置、數量、規格型號等都可以在倉儲管理軟體中一目瞭然的查找出來,實現了倉儲狀態的可視化。

出庫管理:出庫時,倉庫管理員根據根據領料申請查詢倉儲狀態,然後做出預出庫單;保管員根據預出庫單將指定庫位的物品取出,使用手持機掃描庫位標簽和物品標簽將出庫信息進行登記,數據記入手持機出庫數據表;全部出庫物品取出後將出庫信息上傳到主機,與預出庫單作比較,並根據實出數量進行登帳。

盤點管理:使用手持數據採集終端進行數據的採集,如物品標簽、擺放貨架、物品數量等。系統可根據事先設定的產品分類,自動產生或人工選擇產生盤點任務表,進行盤點作業,盤點作業主要掃描產品標簽和相應的庫位信息。數據上傳後,系統會自動列出已盤產品與未盤產品,並根據需求進行盤盈、盤虧等操作。

調撥管理:出現調撥情況時,根據調撥情況選擇不同的調撥流程。

退換貨管理:客戶退貨的時候,通過讀取產品標簽可以查詢的該產品是否是屬於此客戶,銷售時間等信息,並且方便查詢當時的銷售信息,進行有效的監督和管理。對於確認需要退貨的產品,手持機在讀取標簽時會將當前時間寫入標簽中的退貨時間欄位。

報表分析:對系統的數據進行統計分析,生成相關報表。

④ C語言寫一個倉庫管理系統

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<malloc.h>#define max 32int ifempty=0;//標志,判斷鏈表是無否為空typedef struct dnode /* 定義雙向鏈表結構體 */ {int number; /* 貨物編號 */char name[max]; /* 貨物名稱 */ int counter; /* 貨物數量 */struct dnode *prior, *next;/* 定義兩指針,分別指向其前驅和後繼 */}dlnode; dlnode *create(dlnode *L);dlnode *input(dlnode *L);dlnode *output(dlnode *L);dlnode * outnum(dlnode *L);dlnode * outname(dlnode *L);dlnode *current(dlnode *L);void search(dlnode *L);void print(dlnode *L);void searchnum(dlnode *L);void searchname(dlnode *L);void display(dlnode *L) ;void main(){int x;dlnode *L;if(!(L=(dlnode *)malloc(sizeof(dlnode)))) //分配空間{printf("\n");exit(1);}create(L);///調用函數,創建頭節點while(1){////////////////////////主菜單///////////////////////////printf(" ============================\n");printf(" 1. 貨物出庫和入庫\n");printf(" 2. 查找貨物表\n"); printf(" 3. 顯示倉庫貨物表\n");printf(" 4. 輸出到文件\n");printf(" 0. 退出\n");printf(" =============================\n");printf(" 選擇0--3:");scanf("%d",&x);switch(x){case 2:search(L);break;//調用查找函數case 1:current(L);break;//調用入庫出庫函數case 3:display(L);break;//調用顯示輸出函數case 4:print(L);break;//調用列印函數case 0:printf("\n bye!see you!\n");getchar();getchar();exit(0);//退出程序default:printf("\n Enter erreor!please input 0--4!"); getchar();getchar();}}}dlnode *create(dlnode *L)//創建鏈表頭節點{printf(" 歡迎使用我的倉庫管理系統");getchar(); ifempty=0;///////初始化頭節點的值////////L->next=NULL;L->prior=NULL;L->number=L->counter=0;strcpy(L->name," "); return L;}void search(dlnode *L) ///查找的主要菜單{int y;if(ifempty==0){printf("沒有輸入貨物!\n");getchar();getchar();return;}else{while(1){printf("=====================\n");printf("1.按編號查詢\n");printf("2.按貨物名稱查詢\n");printf("0.返回上一層\n");printf("====================\n");printf("選擇0--2:");scanf("%d",&y);switch(y){case 1:searchnum(L);break;//調用按編號查找的函數case 2:searchname(L);break;//調用按名稱查找的函數case 0:return;//返回default:printf("enter error!Please input 0--2!\n\n");getchar();getchar();printf("\n\n");}}}}void searchnum(dlnode *L)///按編號查找的函數{int num,flag=0;//flag為是否找到的標志dlnode *head=L;if(ifempty==0){printf("沒有貨物被輸入\n");getchar();getchar();return;}printf("輸入你要查找的貨物編號:\n");scanf("%d",&num);while((L=L->next)!=head){if(L->number==num){ flag=1;//flag為1時表示找到printf("找到指定編號貨物 \n"); printf("\n編號:%d\n",L->number);printf("名稱:%s\n",L->name) ;printf("數量:%d\n\n",L->counter); } }if(flag==0)//flag為0時表示沒有找到printf("沒有找到指定編號貨物,請查看是否還有貨物。\n");getchar();getchar();}void searchname(dlnode *L)//按名稱查找的函數{int flag=0;//flag為是否找到的標志char na[32];dlnode *head=L;if(ifempty==0){printf("沒有貨物被輸入\n");getchar();getchar();return;}printf("輸入你要查找的貨物名稱\n");scanf("%s",&na);while((L=L->next)!=head){if(strcmp(L->name,na)==0){ flag=1;//flag為1時表示找到printf("找到指定名稱貨物 \n"); printf("\n編號:%d\n",L->number);printf("名稱:%s\n",L->name) ;printf("數量:%d\n\n",L->counter); } }if(flag==0)//flag為0時表示沒有找到printf("沒有找到指定編號貨物,請查看是否還有貨物。\n\n");getchar();getchar();}dlnode *current(dlnode *L)//貨物出庫入庫函數{int y;while(1){printf("========================\n");printf(" 1.貨物入庫\n");printf(" 2.貨物出庫\n");printf(" 0.返回上一層\n");printf("========================\n");printf(" 選擇0--2:");scanf("%d",&y);switch(y){case 1:input(L);break;//調用入庫函數case 2:output(L);break;//調用出庫函數case 0:return(L);//返回上一層default:printf("enter error!Please input 0--2!");getchar();getchar();printf("\n\n");}}}dlnode *input(dlnode *L)//定義入庫函數{dlnode *in,*head;head=in=(dlnode *)malloc(sizeof(dlnode));//分配空間head=L;printf("\n請輸入貨物數據:\n");printf("編號:");scanf("%d",&in->number);printf("名稱:");scanf("%s",&in->name);printf("數量:");scanf("%d",&in->counter);if(L->next==NULL) //如果只有頭節點,{ //把剛輸入的in節點L->next=in; //跟在頭節點後面L->prior=in; //in->next=L; //in->prior=L; //ifempty++; //ifempty加1}else{//如果當前L的下一個節點不是頭節點while((L=L->next)!=head){//如果輸入的數大於L->number,則插到L的前面if(L->number<in->number){in->next=L;in->prior=L->prior; L->prior->next=in;L->prior=in;ifempty++; //ifempty加1return(head);} }//輸入的編號比其它編號都小,則插到最後個節點,並首尾相連head->prior->next=in;in->prior=head->prior;head->prior=in;in->next=head;ifempty++; //ifempty加1} return head;}dlnode *output(dlnode *L)//出庫的函數{int y;dlnode *head=L;if(ifempty==0)//檢測是否有貨物輸入{printf("沒有貨物輸入系統\n");getchar();getchar();return(head);} while(1){printf("=============\n");printf("1.按編號出庫\n");printf("2.按名稱出庫\n");printf("0.返回上一層\n");printf("==============\n");printf("選擇0--2:");scanf("%d",&y);switch(y){case 1:outnum(L);break;//調用按編號出庫函數case 2:outname(L);break;//調用按名稱出庫函數case 0:return(L);default:printf("enter error!Please input 0--2!");getchar();getchar();printf("\n\n");}}} dlnode *outnum(dlnode *L)//按編號出庫函數{ int num;dlnode *head=L;printf("請輸入出庫貨物的編號:");scanf("%d",&num);while((L=L->next)!=head){//如果找到就刪除節點if(L->number==num){L->prior->next=L->next;L->next->prior=L->prior;ifempty--; //ifempty減1 printf("編號為%d的貨物成功出庫",num); getchar();getchar();return head; } }printf("沒有此編號的貨物,請查看是否還有貨物。\n\n");getchar();getchar();return (head);}dlnode *outname(dlnode *L)//按名稱出庫函數{char na[32];dlnode *head=L;printf("請輸入出庫貨物的名稱:");scanf("%s",&na);while((L=L->next)!=head){//如果找到就刪除節點if(strcmp(L->name,na)==0){L->prior->next=L->next;L->next->prior=L->prior;ifempty--; //ifempty減1 printf("名稱為%s的貨物成功出庫",na);getchar();getchar();return (head);}}printf("沒有此名稱的貨物,請查看是否還有貨物。\n\n");getchar();getchar();return(head);} void display(dlnode *L)//顯示貨物清單{dlnode *head=L;if(ifempty==0){printf("沒有貨物可顯示\n");getchar();getchar();return;}L=L->next;do{ printf("\n編號:%d\n",L->number);printf("名稱:%s\n",L->name) ;printf("數量:%d\n\n",L->counter);}while((L=L->next)!=head);getchar();getchar(); }void print(dlnode *L){dlnode *head=L;L=L->next;char filename[max];FILE *out;if(ifempty==0){printf("沒有貨物可輸出\n");getchar();getchar();return;}printf("請輸入文件名稱:");scanf("%s",filename);if((out=fopen(filename,"w"))==NULL){printf("打開文件失敗!\n");getchar();getchar();return;}do{ fprintf(out,"編號:%d\n名稱:%s\n數量:%d\n\n",L->number,L->name,L->counter);}while((L=L->next)!=head);printf("輸出成功\n");getchar();getchar();fclose(out);}

⑤ C語言里的倉庫管理程序

樓主,你好,你的題目用c來寫確實需要好大一陣功夫。一般沒人願意幫你做的,最好還是自己做,遇到什麼問題再問,這樣才是好的學習方法。希望對你有幫助。

⑥ C語言 倉庫庫存貨物管理系統

去搜北京富通維爾科技有限公司網站,有很多這方面的設計資料

Ware-WMS是一套廣泛適用於各種類型倉庫管理的通用軟體。該軟體結合維爾公司多年為物流企業信息化的經驗,從管理和操作角度出發,處處為倉儲業務設想,努力通過信息化手段,提高倉庫業務的操作效率、降低倉儲成本,為提高企業管理能力和行業競爭力奠定堅實的基礎。
Ware-WMS主要有以下特點:
1、快速安裝部署以及廣泛的適用性,能夠適用於多種行業多種類型的倉庫業務管理
2、全方位管理倉庫內部業務,從入庫、出庫、庫存、盤點,到自動補貨、自動報警功能
3、快速與其他倉庫信息化設備集成,如RF、RFID、立體貨架、電子標簽揀貨設備等
4、高度業務容錯功能,通過許可權配置、工作流設置、狀態履歷跟蹤,以及業務回退功能,層層把關,防止業務差錯發生。
5、靈活應用和快速定製化,能夠按照企業要求,快速定製出符合企業特殊業務的功能。
Ware-WMS主要功能:
1、倉庫要素管理:多倉庫、多貨主、 多包裝單位、立體貨位
商品屬性管理:生產日期、生產批號、顏色、尺寸、序列號、條形碼
2、訂單管理:入出庫單錄入/導入、 單據審核、單據查詢、訂單執行情況追蹤
3、入庫管理:進貨檢驗、允許分批入庫、自動碼放指令、允許自由混放、高度容錯
4、出庫管理:多種揀貨方式(按單進貨、波次揀貨)、先進先出、自由分配、高度容錯
5、庫內管理:庫間移動、貨位移動、盤點、次品管理等
6、流通加工:商品組裝拆分、填充與包裝、貼標簽
7、費用管理:倉儲租金、入出庫操作費、日常管理費、各種雜費等
8、其他:支持RF作業、支持電子標簽揀貨設備、支持RFID作業

⑦ 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(i<6&&i>=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 chu(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);
chu(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語言源代碼

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是結構體的定義,用於存放書籍及借書的信息。*/

void page_title(char *menu_item)
{
clrscr();
printf(">>> 圖 書 管 理 系 統 <<<\n\n- %s -\n\n",menu_item);
}
/*上面是列印頁眉的函數,同時通過參數menu_item,可以顯示當前的狀態。*/

void return_confirm(void)
{
printf("\n按任意鍵返回……\n");
getch();
}
/*上面是返回前請求確認的函數,以便在返回前觀察結果*/

int search_book(void)
{
int n,i;
printf("請輸入圖書序號:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("書名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("存數:%d of ",books[n].store);
printf("%d\n",books[n].total);
return n;
}
}
printf("\n輸入錯誤或無效圖書序號.\n");
return -1;
}
/*上面的函數是在數組中找到圖書號匹配的記錄,顯示其信息並返
回數組下標,如果找不到相應記錄則提示錯誤並返回-1。*/

void book_out(void)
{
int n,s,l,d;
page_title("借閱圖書");
if((n=search_book())!=-1&&books[n].store>0)
{
printf("請輸入借書證序號:");
scanf("%d",&s);
printf("請輸入可借天數:");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1&&books[n].store==0) printf("此書已經全部借出.\n");
return_confirm();
}
/*上面是借書的函數,首先調用找書函數*/

void book_in(void)
{
int n,s,l;
page_title("歸還圖書");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{
printf("借閱者圖書證列表:\n");
for(l=0;l<10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("請輸入借書證序號:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1&&books[n].store==books[n].total)
printf("全部入藏.\n");
return_confirm();
}

void book_add(void)
{
int n;
page_title("注冊新書");
for(n=0;n<100;n++)
if(books[n].id==0) break;
printf("序號:");
scanf("%d",&books[n].id);

⑨ c語言倉庫管理系統源代碼

學籍管理的程序,你自己改改吧
#include<stdio.h>
#include<windows.h>
#include<conio.h>
int add();
int amend();
int remove();
int show_student();
int show_class();
struct info //定義結構體info,用於存儲學生信息
{
char name[20]; //姓名
char sex[20]; //性別
char idcard[20]; //身份證號碼
char stuid[10]; //學號
char academe[20]; //學院
char specialty[20]; //專業
char classid[20]; //班級
char home[20]; //生源地
}stu[100];
int j=0;
int main(void) //主函數
{
/*登陸界面設計*/
char gongnengxuanzhe;
int flag=1;
system("cls");
printf("\n");
printf("\t\t\t\t 歡迎\n");
printf("\n\n\t尊敬的用戶, 非常感謝您使用本系統 , 您的完美體驗將是我們前進的方向 !\n\n\n");
printf("\t系統功能簡介:\n\n\n");
printf("\t\t①:通過鍵盤輸入某位學生的學生證信息。\n\n");
printf("\t\t②:給定學號,顯示某位學生的學生證信息。\n\n");
printf("\t\t③:給定某個班級的班號,顯示該班所有學生的學生證信息。\n\n");
printf("\t\t④:給定某位學生的學號,修改該學生的學生證信息。\n\n");
printf("\t\t⑤:給定某位學生的學號,刪除該學生的學生證信息。\n\n");
printf("\t\t⑥:按出生日期對全班學生的信息進行排序。\n\n\n");
printf("\t按任意鍵進入系統......");
getch();
do
{
system("cls");
printf("\n\n\n");
printf(" 尊敬的用戶 ,歡迎您使用本系統 !\n");
printf("\n\n\n");
printf(" 1.增加學生信息\n\n");
printf(" 2.修改學生信息\n\n");
printf(" 3.刪除學生信息\n\n");
printf(" 4.顯示單個學生信息\n\n");
printf(" 5.顯示整個班級學生信息\n\n");
printf(" 0.退出系統\n\n\n\n");
printf(" 請選擇您需要使用的功能:");
gongnengxuanzhe=getch();
switch(gongnengxuanzhe)
{
case '1':add();break;
case '2':amend();break;
case '3':remove();break;
case '4':show_student();break;
case '5':show_class();break;
case '0':flag=0;break;
default:
{
printf("\n\n 您的輸入有誤,請仔細閱讀使用說明!");
printf("\n 任意鍵繼續...");
getch();
}

}
}while(flag==1);
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t尊敬的用戶,非常感謝您的使用,您對於完美的追求是我們唯一的動力!");
printf("\n\n\t\t\t 按任意鍵退出系統......");
getch();
return 0;
}
int add() //增加學生信息函數
{
char flag='1';
do
{
system("cls");
printf("\n\t姓名:");
scanf("%s",&stu[j].name);
printf("\n\n\t性別:");
scanf("%s",&stu[j].sex);
printf("\n\n\t身份證號:");
scanf("%s",&stu[j].idcard);
printf("\n\n\t學院:");
scanf("%s",&stu[j].academe);
printf("\n\n\t專業:");
scanf("%s",&stu[j].specialty);
printf("\n\n\t班級:");
scanf("%s",&stu[j].classid);
printf("\n\n\t學號:");
scanf("%s",&stu[j].stuid);
printf("\n\n\t生源地:");
scanf("%s",&stu[j].home);
j++;
printf("\n\t繼續增加請鍵入1,返回請鍵入其他任意鍵:");
getchar();
flag=getchar();
}while(flag=='1');
return 0;
}
int amend() //修改學生信息函數
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系統無任何可以修改的記錄,請先行輸入數據!");
printf("\n\n\t\t\t 按任意鍵返回......");
getch();
return 0;
}
char a[20];
int z;
int flag=0;
do
{
system("cls");
printf("\n\t需要修改的學生學號:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
break; //break退出後,z++不會執行
}
}
if(flag==0)
{
printf("\t對不起,你請求學生信息不存在,請核實後重試!\n");
printf("\t按任意鍵繼續......");
getch();
}
}while(flag==0);
system("cls");
printf("\n\t姓名:");
scanf("%s",&stu[z].name);
printf("\n\n\t性別:");
scanf("%s",&stu[z].sex);
printf("\n\n\t身份證號:");
scanf("%s",&stu[z].idcard);
printf("\n\n\t學院:");
scanf("%s",&stu[z].academe);
printf("\n\n\t專業:");
scanf("%s",&stu[z].specialty);
printf("\n\n\t班級:");
scanf("%s",&stu[z].classid);
printf("\n\n\t學號:");
scanf("%s",&stu[z].stuid);
printf("\n\n\t生源地:");
scanf("%s",&stu[z].home);
return 0;
}
int remove() //刪除學生信息函數
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系統無任何可以刪除的記錄,請先行輸入數據!");
printf("\n\n\t\t\t 按任意鍵返回......");
getch();
return 0;
}
char a[20];
int z;
int x;
int flag=0;
do
{
system("cls");
printf("\n\t需要刪除的學生學號:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
for(x=z;x<j;x++)
{
strcpy(stu[x].name,stu[x+1].name);
strcpy(stu[x].sex,stu[x+1].sex);
strcpy(stu[x].idcard,stu[x+1].idcard);
strcpy(stu[x].academe,stu[x+1].academe);
strcpy(stu[x].specialty,stu[x+1].specialty);
strcpy(stu[x].classid,stu[x+1].classid);
strcpy(stu[x].stuid,stu[x+1].stuid);
strcpy(stu[x].stuid,stu[x+1].stuid);
}
j--;
printf("\n\t刪除成功!");
printf("\n\t按任意鍵返回上級菜單......");
getch();
}
}
if(flag==0)
{
printf("\t對不起,你請求學生信息不存在,請核實後重試!\n");
printf("\t按任意鍵繼續......");
getch();
}
}while(flag==0);
return 0;
}
int show_student() //單個顯示學生信息函數
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系統無任何可以顯示的記錄,請先行輸入數據!");
printf("\n\n\t\t\t 按任意鍵返回......");
getch();
return 0;
}
char a[20];
int z;
int flag=0;
do
{
system("cls");
printf("\n\t需要顯示的學生學號:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].stuid,a)==0)
{
flag=1;
system("cls");
printf("\n\t姓名:%s",stu[z].name);
printf("\n\n\t性別:%s",stu[z].sex);
printf("\n\n\t身份證號:%s",stu[z].idcard);
printf("\n\n\t學院:%s",stu[z].academe);
printf("\n\n\t專業:%s",stu[z].specialty);
printf("\n\n\t班級:%s",stu[z].classid);
printf("\n\n\t學號:%s",stu[z].stuid);
printf("\n\n\t生源地:%s",stu[z].home);
printf("\n\n\t按任意鍵返回上級菜單......");
getch();
}
}
if(flag==0)
{
printf("\t對不起,你請求顯示的學生信息不存在,請核實後重試!\n");
printf("\t按任意鍵繼續......");
getch();
}
}while(flag==0);
return 0;
}
int show_class() //顯示整個班級學生信息函數
{
if(j==0)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\t\t 系統無任何可以顯示的記錄,請先行輸入數據!");
printf("\n\n\t\t\t 按任意鍵返回......");
getch();
return 0;
}
char a[20];
int z;
int x;
int flag=0;
do
{
system("cls");
printf("\n\t需要顯示的班級號碼:");
scanf("%s",a);
for(z=0;z<j;z++)
{
if(strcmp(stu[z].classid,a)==0)
{
flag=1;
system("cls");
printf("\t%s %s 基本信息\n",stu[z].specialty,stu[z].classid);
for(x=0;x<j;x++)
{
if(strcmp(stu[x].classid,a)==0)
{
printf("\n\n\t姓名:%s",stu[z].name);
printf("\n\t性別:%s",stu[z].sex);
printf("\n\t身份證號:%s",stu[z].idcard);
printf("\n\t學院:%s",stu[z].academe);
printf("\n\t專業:%s",stu[z].specialty);
printf("\n\t班級:%s",stu[z].classid);
printf("\n\t學號:%s",stu[z].stuid);
printf("\n\t生源地:%s",stu[z].home);
}
}
printf("\n\n\t按任意鍵返回上級菜單......");
getch();
}
}
if(flag==0)
{
printf("\t對不起,你請求顯示的班級信息不存在,請核實後重試!\n");
printf("\t按任意鍵繼續......");
getch();
}
}while(flag==0);
return 0;
}
有疑問聯系我,[email protected]
請採納。