导航:首页 > 编程语言 > 最小编程达人

最小编程达人

发布时间:2023-08-29 10:57:11

1. 请C语言编程达人帮忙编写一段程序

我没用用文件啊 用的就是结构体typedef struct employee 这个就是结构体
#include<stdio.h>
#include<stdlib.h>
typedef struct employee
{
int id;
char name[20];
char department[20];
int money;
char position[20];
struct employee *next;
}Employee,*ept;
typedef struct
{
ept head;//头指针
ept tail;//尾指针
ept current;
ept p,q;
int tot;
}Linkemployee;
int isfound(Linkemployee &l,int id)//判断是否有重复的职工号
{
int count=0,flag;
l.p=l.head;
while(count++<l.tot)
{
flag=0;
if(l.p->id==id)
flag=1;
else
l.p=l.p->next;
}
if(flag==1)
return 1;
else
return 0;
}
void CreatLink(Linkemployee &l)//构造空链表
{
l.head=l.tail=(Employee*)malloc(sizeof(Employee));
l.head=l.tail=NULL;
l.tot=0;
}
void AddInformation(Linkemployee &l)
{
l.current=(Employee*)malloc(sizeof(Employee));
printf("请输入职工姓名:");
scanf("%s",l.current->name);
printf("请输入职工号:");
scanf("%d",&l.current->id );
printf("请输入职工部门:");
scanf("%s",l.current->department);
printf("请输入职工职位:");
scanf("%s",l.current->position );
printf("请输入职工工资:");
scanf("%d",&l.current->money );
if(l.head==NULL)
{
l.head=l.tail=l.current;
l.head->next=l.tail;
l.tail->next=NULL;
l.tot++;
printf("职工添加成功!!!\n");
}
else
{
if(!isfound(l,l.current->id))
{
l.tail->next=l.current;
l.current->next=NULL;
l.tail=l.current;
l.tot++;
printf("职工添加成功!!!\n");
}
else
printf("职工号已经存在\n");
}

}
void SearchInformation(Linkemployee &l)
{
if(l.tot>0)
{
int findnumber,count=0;
l.p=l.head;
printf("输入要要查找的职工号:");
scanf("%d",&findnumber);
while(count++<l.tot)
{
if(findnumber==l.p->id)
{
printf("职工信息找到!\n");
printf("姓名 职工号 职工部门 职工工资 职工职位\n");
printf("%s%6d%8s%8d%8s\n",l.p->name,l.p->id,l.p->department,l.p->money,l.p->position);
}
else
printf("无输入职工号的信息\n");
l.p=l.p->next;
}
}
else
printf("没有任何信息\n");
}
void DisplayInformation(Linkemployee &l)
{
if(l.tot>0)
{
int count=0;
l.p=l.head;
printf("姓名 职工号 职工部门 职工工资 职工职位\n");
while(count++<l.tot)
{
printf("%s%8d%8s%8d%8s\n",l.p->name,l.p->id,l.p->department,l.p->money,l.p->position);
l.p=l.p->next;
}
}
else
printf("没有任何信息\n");
}
void DeleteInformation(Linkemployee &l)
{
int findid, count=0;
int flag;
int selection;
l.p=l.head;
l.q=l.p;//记录删除节点的前一个节点
if(l.tot>0)
{
printf("输入要删除的职工号:");
scanf("%d",&findid);
while(count++<l.tot)
{
flag=0;
if(findid==l.p->id)
{
flag=1;
}
else
{
l.q=l.p;//记录删除节点的前一个节点
l.p=l.p->next;
}
}
if(flag==1)
{
printf("职工信息找到!\n");
printf("姓名 职工号 职工部门 职工工资 职工职位\n");
printf("%s%6d%6s%6d%6s\n",l.p->name,l.p->id,l.p->department,l.p->money,l.p->position);
printf("确认删除吗?1删除,2退出\n");
scanf("%d",&selection);
if(selection==1)
{
if(l.p==l.tail )
{
l.q->next=NULL;
l.tail=l.q;
free(l.p);
}
else if(l.p==l.head)
{
l.q=l.p;
l.p=l.p->next;
l.head=l.p;
free(l.q);
}
else
{
l.q->next=l.p->next;
free(l.p);
}
l.tot--;
}
else
printf("自动退出\n");
}
else
printf("无输入职工号信息\n");
}
else
printf("没有任何信息\n");
}
void main()
{
int selection;
Linkemployee l;
CreatLink(l);
printf("----------------------------------------------\n欢迎进入公司职工信息管理程序");
printf("\n----------------------------------------------\n");
printf("请选择您的操作:\n1. 增加职工信息\n2. 查找职工信息\n3. 显示所有职工信息\n4. 删除职工信息\n5. 退出\n");
while(scanf("%d",&selection)&&selection!=5)
{
switch(selection)
{
case 1:AddInformation(l);break;
case 2:SearchInformation(l);break;
case 3:DisplayInformation(l);break;
case 4:DeleteInformation(l);break;
}
printf("----------------------------------------------\n欢迎进入公司职工信息管理程序");
printf("\n----------------------------------------------\n");
printf("请选择您的操作:\n1. 增加职工信息\n2. 查找职工信息\n3. 显示所有职工信息\n4. 删除职工信息\n5. 退出\n");
}
}

2. VB编程达人请速进,今晚必需,在线等【穷举法】

你自己打开看看!


代码在下面:


Option Explicit


Private Sub Command1_Click()

Dim i As Integer

Dim j As Integer

Dim k As Integer

Dim Y As Integer

Dim n69 As Integer

Dim n39 As Integer

Dim n29 As Integer

Y = 600

For i = 1 To 8 '设截取69CM的有i根,600/69 最多为8

For j = 1 To 15 '设截取39CM的有J根,600/39 最多为15

For k = 1 To 20 '设截取29CM的有K根,600/29 最多为20

If i * 69 + j * 39 + k * 29 <= 600 Then '如果满足不超过600CM的,就是一组答案

If 600 - (i * 69 + j * 39 + k * 29) < Y Then '如果余数比变量Y里的小,就保存i,j,k以及余数

n69 = i

n39 = j

n29 = k

Y = 600 - (i * 69 + j * 39 + k * 29)

End If

End If

Next k

Next j

Next i

Print "69CM:"; n69; "根"

Print "39CM:"; n39; "根"

Print "29CM:"; n29; "根"

Print "余:"; Y; "CM"

Print

Print

Print



End Sub


Private Sub Command2_Click()

Dim i As Integer

For i = 0 To 99 '把这两位看作一个两位数字,范围是0-99

'注意要乘以10,充当5位数字的十位和百位,mod 等于0,表示能整除

If (67008 + 10 * i) Mod 78 = 0 And (67008 + 10 * i) Mod 67 = 0 Then

Print 67008 + 10 * i

End If

Next i

End Sub


3. 编程达人在线教育怎么样

编程达人很不错的。老师都是有3年以上开发经验的程序员,真正知道该教什么知识。学费还便宜,相比其他机构要低很多很多。

阅读全文

与最小编程达人相关的资料

热点内容
linux的现状 浏览:924
命令与征服叛逆者修改器 浏览:246
怎么用ios玩安卓全民枪战 浏览:668
程序员入行前后的头发 浏览:709
嵌入式图像算法 浏览:329
服务器如何访问服务器失败 浏览:875
android进度球 浏览:1001
Linux造成xfs文件夹 浏览:457
华为手机怎么修改wifi加密类型 浏览:250
服务器封口是什么意思 浏览:743
有限元分析是算法吗 浏览:901
空气压缩机性能曲线 浏览:22
京城程序员2019 浏览:406
android新系统 浏览:512
安卓80有什么bug 浏览:678
如何做单机服务器 浏览:945
校讯通查成绩怎么显示服务器异常 浏览:884
冰箱压缩机工作压力是多少 浏览:410
程序员20多平米租房 浏览:451
电工知识用线的算法 浏览:340