当前位置:首页 » 编程语言 » 商品出库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]
请采纳。