当前位置:首页 » 编程语言 » c语言自动寄存柜

c语言自动寄存柜

发布时间: 2022-02-26 04:12:47

① 如何用c语言实现快递柜管理

这个快递柜的管理系统的题目我见过
我有这个C语言的大作业完整实现版本
我大体的讲述我自己对这个题目的思路
可以用链表或者数组对快递员、快递柜格口、快递包裹进行分类存储
然后根据条件的操作进行身份上的分类划分具体的功能操作
具体的功能就是对应着相关数组或者链表里的数据进行增改查,细节进行细化

② c语言中存储类型自动,静态,外部,寄存都是什么意思

在函数体内声明的变量在默认情况下都是auto[自动]存储类型

在代码块之间传递信息的一种方法就是使用外部变量。当一个变量在函数的外部被声明时,它的存储空间是永久分配的,它的存储类型是extren.外部变量的声明看上去和函数或代码块内部所声明的变量一样。外部变量对于它之后的所有函数都有效。在代码块或函数后,外部变量仍然存在。

static[静态]的基本用途是允许一个局部变量在重新进入代码块时能够保持原来的值。这和自动变量形成了鲜明的对比,自动变量在代码块时会被销毁,再次进入这个代码块时,它必须重新进行初始化。

register[寄存器]存储类型告诉编译器相关的变量应该改量存储在高速度的寄存器中。使用register存储类型的目的一般是为了提高执行速度,但是,register声明只是向编译器所提出的“建议”,并非强制要求。

③ C语言如何写一个快递柜系统

这种题目是属于课程设计大作业的类型吧

可以把数据简单的分成3类:1、快递柜,2、快递员,3、快递存储信息
可以用数组或者链表进行数据的保存
存放,取件对应的快递存储信息的数据的增加操作
我之前做过相关类型的,有完整的功能代码我可以帮你

④ 用C语言设计并实现一个智能快递柜管理程序,要求快递派送员可以查询格口剩余状

这个可以实现的,但是您需要借助第三方的软件才可以完成。

⑤ 存包柜问题(C语言的)

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

typedef struct bag_infor
{
int id;
int pass[6];
int lock_stat;//0 为可用 1为不可用
struct bag_infor *next;
} bag_infor, *bag_link;

int get_length(bag_link *link)
{
bag_link temp_node;
int i = 0;

if(*link == NULL)
{
return i;
}

temp_node = (*link)->next;

while(temp_node)
{
i = i + 1;
temp_node = temp_node->next;
}

return i;
}

void enter_bag(bag_link *link)
{

int count = get_length(link);
int i;
int flag = 0;
int choice;

if(count == 0)
{
printf("\n\n超市存包系统没有进行初始化,不能使用!\n\n");
}
else
{
while(1)
{
printf("\n请放入一枚一元硬币:1->确定 2->取消\n");
printf("请操作:>");
scanf("%d", &choice);
if(choice == 1)
{
bag_link temp_node;
temp_node = (*link)->next;

while(temp_node)
{
if(temp_node->lock_stat == 0)//该柜子是可用的
{
printf("\n存在可用的存包柜,您的存包柜是第%d个\n", temp_node->id);
printf("\n请记住您的密码信息:\n");
srand( (unsigned)time( NULL ) );
for(i = 0; i < 6; i++)
{
//printf("%d", rand() % 10);
temp_node->pass[i] = (rand() % 10);
printf("%d",temp_node->pass[i]);
}
printf("\n\n");
flag = 1;
temp_node->lock_stat = 1;
break;
}
temp_node = temp_node->next;
}

if(flag == 0)
{
printf("\n!存包柜已满,不能进行存包!\n");
}
break;
}
else if(choice == 2)
{
printf("谢谢您的使用!再见");
break;
}
else
{
printf("输入错误!!!");
}
}
}
}

void get_bag(bag_link *link)
{

char pass[6];
int temp[6];
int i;
int flag = 0;
bag_link temp_node;

printf("\n欢迎使用取包功能\n");
printf("请输入你的密码:>");
scanf("%s", pass);

for(i = 0; i < 6; i++)
{
temp[i] = (int)(pass[i] - '0');
}

temp_node = (*link)->next;

while(temp_node)
{
if(temp_node->lock_stat == 1)
{
for(i = 0; i < 6; i++)
{
if(temp_node->pass[i] != temp[i])
{
break;
}
else
{
if(i == 5)//最后的数据都是相等的
{
temp_node->lock_stat = 0;
flag = 1;
}
}
}
}

if(flag == 1)
{
break;
}

temp_node = temp_node->next;
}

if(flag == 1)
{
printf("\n\n成功打开存包箱\n");
printf("你的存包箱是第%d个\n", temp_node->id);
printf("请妥善保管你的财务,谢谢你的使用\n\n\n");

}
else
{
printf("\n\n密码输入不正确,不能完成取包操作!\n\n");
}
}

void init_bag(bag_link *link)
{
int num;
int i;
bag_link temp_link;

printf("\n\n/**程序将会初始化超市存包柜系统信息**/\n");
printf("请输入超市存包柜个数:>");

scanf("%d", &num);

*link = (bag_link)malloc(sizeof(bag_infor));
(*link)->next = NULL;

for(i = 0; i < num; i++)
{
temp_link = (bag_link)malloc(sizeof(bag_infor));

if(temp_link == NULL)
{
printf("\nError:内存分配失败,程序退出!");
return;
}

temp_link->id = i + 1;
temp_link->lock_stat = 0;

temp_link->next = (*link)->next;
(*link)->next = temp_link;
}

}

void destory_bag(bag_link *link)
{
bag_link temp_node;
temp_node = *link;

while(temp_node)
{
temp_node = (*link)->next;
free(link);
*link = temp_node;
}
}

int main()
{
bag_link bags = NULL;
int menu;
printf("******C存包柜问题模拟程序******\n");

while(1)
{
printf("*******************MENU********************\n");
printf("* *\n");
printf("* 1,初始化存包系统 *\n");
printf("* 2,存包 *\n");
printf("* 3,取包 *\n");
printf("* 4,关闭系统 *\n");
printf("* *\n");
printf("* *\n");
printf("*******************************************\n");

printf("\n\n请选择操作项目:>");
scanf("%d", &menu);

if(menu == 1)
{
init_bag(&bags);
printf("\n\n系统初始化成功.............\n\n");
}
else if(menu == 2)
{
enter_bag(&bags);
}
else if(menu == 3)
{
get_bag(&bags);
}
else if(menu == 4)
{
destory_bag(&bags);
printf("Bye-Bye");
return;
}
else
{
printf("\n选择错误,请重新选择!\n\n");
}
}
return 0;
}

经过我的测试,可以进行使用,使用的是链表的形式完成的,如果有需要加以家QQ:564777005希望对LZ所有帮助

⑥ 自动寄存柜c语言编码求助

(1):该程序的功能是:计算多个学生成绩的平均值,并输出小于平均分学生的成绩;(2):自然语言描述:从键盘输入多个(小于1000)学生的成绩,并记录在score数组中,直到输入任意一个负数停止录入成绩,在录入成绩的同时,计算满足条件(输入大于等于0)的所有成绩总和,之后计算平均成绩,然后循环输出所有学生中成绩小于平均分的学生成绩。(3):结果为:输出平均成绩:61输出低于平均分的学生成绩:56583445注释:printf("ave=%5.0f\n",ave);因为是%5.0f,所以四舍五入取整(小数点后是几就保留几位小数,因为是“5”,所以要空5格);

⑦ C语言 自动寄存机程序

while(i!=0)
{
printf("存物请输入1,取物请输入2,退出请输入0\n");
scanf("%d",&i);

if(i==1)
{
for(;k[y].flag==1;y++);

printf("寄存柜%d已经打开,您的密码为%d\n",y,rand());

}
}

改成:
do
{
printf("存物请输入1,取物请输入2,退出请输入0\n");
scanf("%d",&i);
if(i==1)
{
for(;k[y].flag==1;y++);
printf("寄存柜%d已经打开,您的密码为%d\n",y,rand());
}
}while(i!=0)

⑧ c语言用链表存储自动存储柜,每一句什么意思

1、链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。2、例程:

/**对链表的综合操作*功能有建立,排序,插入,删除,输出*/#include<stdio.h>#include<malloc.h>typedef int ElemType;typedef struct NodeType{ElemType data;struct NodeType *next;} NodeType,*LinkType;LinkType create(){//建立链表,返回链表的首地址,头结点没有数据LinkType head,p1,p2;head=(LinkType)malloc(sizeof(NodeType));p1=head;while(p1->data!=0)//当data=0时链表结束{p2=p1;p1=(LinkType)malloc(sizeof(NodeType));printf("Enter student's information:\ndata=");scanf("%d",&p1->data);p2->next=p1;}p2->next=NULL;free(p1);return(head);}void output(LinkType head){//链表的输出,接收链表的首地址head=head->next;while(head!=NULL){printf("data=%d\n",head->data);head=head->next;}}LinkType sort(LinkType head){//链表排序,接收链表首地址,返回链表首地址LinkType ph,p1;ElemType temp;ph=head->next;p1=head->next;while(p1->next!=NULL)//冒泡法{ph=head;while(ph->next!=NULL){if(ph->data>ph->next->data)//按data由小到大排序{temp=ph->data;ph->data=ph->next->data;ph->next->data=temp;}ph=ph->next;}p1=p1->next;}return(head);}LinkType del(LinkType head){//删除结点,接收链表的首地址,返回链表的首地址ElemType DelData;LinkType ph,p;ph=head->next;printf("Enter the data you want to del:\nDelData=");scanf("%d",&DelData);while(ph!=NULL && ph->data!=DelData)//寻找要删除的结点{p=ph;ph=ph->next;}if(ph==NULL)//没有找到要删除的结点{printf("Enter error!\n");return(head);}else{if(ph==head->next)//删除头结点{head->next=ph->next;}else//删除其它结点{p->next=ph->next;}}free(ph);return(head);}LinkType insert(LinkType head){//插入结点,接收链表首地址,返回链表首地址LinkType ph,p,insert,temp;insert=(LinkType)malloc(sizeof(NodeType));printf("Enter the data you want to insert:\ndata=");scanf("%d",&insert->data);ph=head->next;while(ph!=NULL && ph->data < insert->data)//寻找插入的位置{p=ph;ph=ph->next;}if(head->next->data > insert->data)//插入头部{temp=head->next;head->next=insert;insert->next=temp;}else//插入到其它地方{p->next=insert;insert->next=ph;}return(head);}void main(){LinkType head;head=create();output(head);printf("\n\n");head=sort(head);output(head);printf("\n\n");head=del(head);output(head);printf("\n\n");head=insert(head);output(head);}

⑨ C语言写智能快递柜管理程序代码

这个是GCU的数据结构大作业来的吧
我写过这份题目,有完整实现的功能代码
我是用单链表把这些快递柜,快递,快递员,取件码,收件人的信息
分别存储,然后相关的功能就是细节化后的增删改查罢了

热点内容
如何制作原始传奇脚本 发布:2025-01-10 23:00:30 浏览:117
小程序免费模板源码下载 发布:2025-01-10 22:55:23 浏览:233
gradle编译jar 发布:2025-01-10 22:54:36 浏览:796
服务器搭建棋牌游戏 发布:2025-01-10 22:53:49 浏览:642
java记事本程序 发布:2025-01-10 22:38:27 浏览:666
如何通过网吧电脑进入网吧服务器 发布:2025-01-10 22:22:30 浏览:706
数据库缓存是什么 发布:2025-01-10 22:21:05 浏览:386
dns配置出现错误该怎么办 发布:2025-01-10 22:13:00 浏览:439
云顶算法 发布:2025-01-10 22:10:07 浏览:991
收件服务器有什么作用 发布:2025-01-10 21:50:01 浏览:391