barriers / 阅读 / 详情

C语言课程设计:通讯录管理系统

2023-05-28 17:13:01
共6条回复
ardim

/*

* main_tongxunlu.c

*

* Created on: 2011-6-21

* Author: zhanglujin

*/

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

struct record

{

char name[20]; //姓名

char phone[12]; //电话

char adress[50]; //地址

char postcode[8]; //邮政编码

char e_mail[20]; //电子邮件。

}student[100]; //假设最大数为100.

//定义全局变量num,表示已经输入的人数 。

int num; //这里使用数组解决通讯录的问题,实际上使用链表更好。

int menu_select()

{

char s[80];

int a;/*定义整形变量*/

system("cls");

printf(" ***********欢迎进入通讯管理界面******** ");

printf(" 0. 输入记录 ");

printf(" 1. 显示记录 ");

printf(" 2. 按姓名查找 ");

printf(" 3. 按电话号码查找 ");

printf(" 4. 插入记录 ");

printf(" 5. 按姓名排序 ");

printf(" 6. 删除记录 ");

printf(" 7. Quit ");

printf(" *********************************************** ");

do{

printf("Enter you choice(0~7):");

scanf("%s",s);

a=atoi(s);

}

while (a<0 || a>7);

return a;

}

int adduser()

{

printf(" **************** 请输入用户信息 **************** ");

printf(" 输入姓名: ");

scanf("%s",student[num].name);

printf(" 输入电话号码: ");

scanf("%s",student[num].phone);

printf(" 输入地址: ");

scanf("%s",student[num].adress);

printf(" 输入邮编: ");

scanf("%s",student[num].postcode);

printf(" 输入e-mail: ");

scanf("%s",student[num].e_mail);

num++;

printf(" 是否继续添加?(Y/N): ");

if(getch()=="y" || getch()=="Y")

adduser();

return(0);

}

void list()

{

int i;

system("cls");

if(num!=0)

{

printf(" *************** 以下为通讯录所有信息************ ");

for (i=0;i<num;i++)

{

printf(" 姓名:%s ",student[i].name);

printf(" 电话:%s ",student[i].phone);

printf(" 地址:%s ",student[i].adress);

printf(" 邮编:%s ",student[i].postcode);

printf(" e-mail:%s ",student[i].e_mail);

if(i+1<num)

{

system("pause");

}

}

printf(" ************************************************ ");

}

else

printf(" 通讯录中无任何纪录 ");

printf(" 按任意键返回主菜单: ");

getch(); //这里是无回显的输入字符,你输入的字符不会显示在屏幕上。

return;

}

int searchbyname()

{

int mark=0;

int i;

printf(" ***************** 按姓名查找 ******************* ");

char name[20];

printf(" 请输入姓名: ");

scanf("%s",name);

for(i=0;i<num;i++)

{

if (strcmp(student[i].name,name)==0)

{

printf(" ************* 以下是您查找的用户信息 *********** ");

printf(" 姓名: %s",student[i].name);

printf(" 电话: %s",student[i].phone);

printf(" 地址: %s",student[i].adress);

printf(" e-mail:%s",student[i].e_mail);

printf(" ************************************************ ");

mark++;

if((i+1)<num)

{

printf(" 是否继续查找相同名字的用户信息:(y/n) ");

if(getch()=="y" || getch()=="Y")

{

continue;

}

else

return(0);

}

else

{

printf(" 按任意键返回主菜单");

getch();

return(0);

}

}

}

if(mark == 0)

{

printf(" 没有相同姓名的用户纪录 ");

printf(" 按任意键返回主菜单 ");

getch();

return(0);

}

return 0;

}

int searchbyphone()

{

int mark=0;

int i;

printf(" ****************** 按电话查找 ****************** ");

char phone[10];

printf(" 请输入电话号码: ");

scanf("%s",phone);

for(i=0;i<num;i++)

{

if (strcmp(student[i].phone,phone)==0)

{

printf(" ************** 以下是您查找的用户信息 ********** ");

printf(" 姓名: %s",student[i].name);

printf(" 电话: %s",student[i].phone);

printf(" 地址: %s",student[i].adress);

printf(" e-mail:%s",student[i].e_mail);

printf(" ************************************************ ");

printf(" 按任意键返回主菜单 ");

mark++;

getch();

return(0);

}

}

if (mark==0)

{

printf(" 没有改用户的信息 ");

printf(" 按任意键返回主菜单 ");

getch();

return(0);

}

return(0);

}

void deletebyphone()

{

int i,j;

int deletemark=0;

char phone[20];

printf(" 请输入要删除用户电话号码: ");

scanf("%s",phone);

if(num==0)

{

printf(" 对不起,文件中无任何纪录 ");

printf(" 按任意键返回主菜单 ");

getch();

return;

}

for (i=0;i<num;i++)

{

if (strcmp(student[i].phone,phone)==0)

{

printf(" 以下是您要删除的用户纪录: ");

printf(" 姓名: %s",student[i].name);

printf(" 电话: %s",student[i].phone);

printf(" 地址: %s",student[i].adress);

printf(" e-mail:%s",student[i].e_mail);

printf(" 是否删除?(y/n)");

if (getch()=="y" || getch()=="Y")

{

for (j=i;j<num-1;j++)

student[j]=student[j+1];

num--;

deletemark++;

printf(" 删除成功");

printf(" 是否继续删除?(y/n)");

if (getch()=="y" || getch()=="Y")

deletebyphone();

return;

}

else

return;

}

continue;

}

if (deletemark==0)

{

printf(" 没有该用户的纪录");

printf(" 是否继续删除?(y/n)");

if(getch()=="y" || getch()=="Y")

deletebyphone();

return;

}

return;

}

void deletebyname()

{

int a=0;

int findmark=0;

int j;

int deletemark=0;

int i;

char name[20];

printf(" 请输入要删除用户姓名: ");

scanf("%s",name);

for (i=a;i<num;i++)

{

if(strcmp(student[i].name,name)==0)

{

printf(" 以下是您要删除的用户纪录:");

findmark++;

printf(" ________________________________");

printf(" 姓名: %s",student[i].name);

printf(" 电话: %s",student[i].phone);

printf(" 地址: %s",student[i].adress);

printf(" e-mail:%s",student[i].e_mail);

printf(" ________________________________");

printf(" 是否删除?(y/n)");

if (getch()=="y" || getch() == "Y")

{

for(j=i;j<num-1;j++)

student[j]=student[j+1];

num--;

deletemark++;

printf(" 删除成功");

if((i+1)<num)

{

printf(" 是否继续删除相同姓名的用户信息?(y/n)");

if (getch()=="y")

{

a=i;

continue;

}

}

printf(" 是否继续删除?(y/n)");

if (getch()=="y")

deletebyname();

return;

}

if((i+1)<num)

{

printf(" 是否继续删除相同姓名的用户信息?(y/n)");

if (getch()=="y" || getch() == "Y")

{

a=i;

continue;

}

}

}

else

continue;

}

if ((deletemark==0)&&(findmark==0))

{

printf(" 没有该用户的纪录");

printf(" 是否继续删除?(y/n)");

if(getch()=="y" || getch() == "Y")

deletebyphone();

return;

}

else if (findmark!=0)

{

printf(" 没有重名信息");

printf(" 没有该用户的纪录");

printf(" 是否继续删除?(y/n)");

if(getch()=="y" || getch() == "Y")

deletebyphone();

return;

}

}

int dele()

{

char choic;

printf(" 1-按电话号码删除 2-按姓名删除");

printf(" 请选择:");

choic=getch();

switch (choic)

{

case "1":deletebyphone();break;

case "2":deletebyname();break;

}

return(0);

}

int sortbyname() //按姓名进行排序

{

int i,j;

struct record tmp;

for (i=1;i<num;i++)

{

if(strcmp(student[i].name,student[i-1].name)<0)

{

tmp=student[i];

j=i-1;

do

{

student[j+1]=student[j];

j--;

}while ((strcmp(tmp.name,student[j].name)<0&&j>=0));

student[j+1]=tmp;

}

}

printf(" 排序成功,是否显示?(y/n)");

if (getch()=="y")

list();

return(0);

}

int main()

{

printf(" ************************************************ ");

printf(" ********welcome to TONGXUNLU ******************* ");

printf(" ###########code by XXXXX ################### ");

printf(" ************************************************* ");

printf("按任意键进入主菜单 ");

getch();

int selectnum;

while(1)

{

selectnum = menu_select();

switch(selectnum)

{

case 0:

{

adduser();

break;

}

case 1:

{

list();

break;

}

case 2:

{

searchbyname();

break;

}

case 3:

{

searchbyphone();

break;

}

case 4:

{

adduser(); //这里插入,应该能指定位置,不过意义不大,所以和添加记录一样了。

break;

}

case 5:

{

sortbyname();

break;

}

case 6:

{

dele();

break;

}

case 7:

{

printf("BYE BYE! ");

system("pause");

getchar();

exit(0);

}

}

}

getchar();

return 0;

}

左迁
wio

#include <stdio.h>

#include <stdlib.h> /*与malloc.h差不多*/

#include <string.h>

#include <iostream.h>

#define maxlen 15

struct persons

{

int num; /*定义结构体数组用于缓存数据*/

char name[20];

char e_addr[20];

char tel_no[15];

char sim_no;

char arch;

}persons[maxlen];

typedef struct lnode

{ /*通讯录结构中结点的定义*/

int num;

char name[20];

char e_addr[20];

char tel_no[15];

char sim_no;

char arch;

struct lnode *next;

}listnode,*linklist;

linklist head=NULL,r=NULL; /*定义头指针和尾指针*/

listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7,*p8,*p9;

int i;

char name1[10],ch;char tel_no1[15];char arch1;char sim_no1;char e_addr1[20];

char s1[20];

FILE *fp; /*定义文件指针*/

void creat() /*将文件的信息读入结构体数组在转存入链表中*/

{

int j;

long k;

fp=fopen("数据文件.txt","r t"); /*打开文件*/

if(fp!=NULL)

{

for(i=0;i<=maxlen;i++ )

{

j=fgetc(fp);

if(j==EOF)

return;

k=i;

fseek(fp,k*sizeof(struct persons),0); /*读取一个人的信息*/

fread(&persons[i],sizeof(struct persons),1,fp);

s=(linklist)malloc(sizeof(listnode)); /*装存入链表中*/

s->num=persons[i].num;

strcpy(s->name,persons[i].name);

strcpy(s->e_addr,persons[i].e_addr);

strcpy(s->tel_no,persons[i].tel_no);

s->sim_no=persons[i].sim_no;

s->arch=persons[i].arch;

if(head==NULL) /*用尾插法将其插入链表中*/

{

head=s;r=head;head->next=NULL;}

else

{

r->next=s;

r=s;r->next=NULL;

}

}fclose(fp);}

else

{

fp=fopen("数据文件.txt","w"); /*不能打开另开辟一个文件*/

i=1;

}

}

void searchbyname()//按姓名查询

{

int mark=0;

int i;

int a=0;

printf(" ***************** 按姓名查找 *******************");

char name[20];

printf(" 请输入姓名:");

scanf("%s",name);

for(i=0;i<15;i++)

{

if (strcmp(persons[i].name,name)==0)

{

printf(" ************* 以下是您查找的人的信息 ***********");

cout<<endl;

cout<<p1->name<<endl;

cout<<p1->tel_no<<endl;

cout<<p1->e_addr<<endl;

cout<<p1->sim_no<<endl;

printf(" ************************************************");

mark++;

}

}

}

void ShowA()

{

p1=head;

while(p1!=NULL)

{

if(p1->arch=="A")

{

cout<<endl;

cout<<p1->name<<endl;

cout<<p1->tel_no<<endl;

cout<<p1->sim_no<<endl;}

p1=p1->next;continue;}

}

void ShowB()

{

p1=head;

while(p1!=NULL)

{

if(p1->arch=="B")

{

cout<<endl;

cout<<p1->name<<endl;

cout<<p1->tel_no<<endl;

cout<<p1->sim_no<<endl;}

p1=p1->next;continue;}

}

void ShowC()

{

p1=head;

while(p1!=NULL)

{

if(p1->arch=="C")

{

cout<<endl;

cout<<p1->name<<endl;

cout<<p1->tel_no<<endl;

cout<<p1->sim_no<<endl;}

p1=p1->next;continue;}

}

void Show() /*显示所有的信息*/

{

char ch1;

printf("Which arch do you want to show? ");

cout<<"A:办公类"<<"B:个人类"<<"C:商务类"<<endl;

cout<<"请选择:"<<endl;

cin>>ch1;

switch(ch1)

{

case"A":ShowA();break;

case"B":ShowB();break;

case"C":ShowC();break;

default:cout<<"error"<<endl;

}

}

void searchmenu()//查询菜单

{

char choic;

system("cls");

printf(" ******************* 查询菜单 *******************");

printf(" ********** 1-按类查询 ************");

printf(" ********** 2-按姓名查询 ************");

printf(" ************************************************");

printf(" 请选择:");

cin>>choic;

switch (choic)

{

case "1":Show();break;

case "2":searchbyname();break;

}

}

void Delete() /*定义一个删除的函数*/

{

printf(" 请输入要删除用户的姓名:");

cin>>name1;

p4=head;

if(strcmp(p4->name,name1)==0)

{

p4=p4->next; /*根据各种情况判断可能性*/

head=p4;

}

else if(strcmp(p4->name,name1)!=0)

{

while(strcmp(p4->next->name,name1)!=0)

p4=p4->next;

p5=p4->next;

p4->next=p5->next;

free(p5);

}

}

void Input() /*向.通讯录中输入一个人的信息*/

{

s=(linklist)malloc(sizeof(listnode));

printf(" 请输入该用户的信息:");

cout<<"name:";

cin>>s->name;

cout<<"tel_no:";

cin>>s->tel_no;

cout<<"sim_no:";

cin>>s->sim_no;

cout<<"e_addr:";

cin>>s->e_addr;

cout<<"arch:";

cin>>s->arch;

if(head==NULL)printf(" ");

else

{

p8=head;

while(p8!=NULL&&strcmp(s->name,p8->name)!=0&&strcmp(s->tel_no,p8->tel_no)!=0)

p8=p8->next;

if(p8!=NULL)

{printf("您添加的用户已存在!");

free(s);

}

}

if(head==NULL)

{

head=s;head->next=NULL;

}

else

{

r->next=s;

r=s;r->next=NULL;}

}

void Alter() /*改变一个人的信息*/

{

printf(" 请输入姓名:");

cin>>name1;

p3=head;

while(p3!=NULL&&strcmp(name1,p3->name)!=0)

p3=p3->next;

if(p3==NULL)

printf(" 您选择的用户不存在!");

else

{

printf(" 请输入该用户的新信息!"); /*输入要改人的新信息*/

cout<<"name:";

cin>>name1;

cout<<"tel_no:";

cin>>tel_no1;

cout<<"e_addr:";

cin>>e_addr1;

cout<<"sim_no:";

cin>>sim_no1;

cout<<"arch:";

cin>>arch1;

while(p9!=NULL&&strcmp(name1,p9->name)!=0&&strcmp(tel_no1,p9->tel_no)!=0)

p9=p9->next;

if(p9==NULL)

{

strcpy(p3->name,name1);

strcpy(p3->tel_no,tel_no1);

strcpy(p3->e_addr,e_addr1);

p3->sim_no=sim_no1;

p3->arch=arch1;

}

else

printf("您添加的用户已存在!");

}

}

void Dial()

{

int a;char b;

cout<<"1.拨叫用户:"<<endl;

cout<<"2.使用单键拨号:"<<endl;

cin>>a;

p0=head;

if(a==1)

{

cout<<"请输入拨叫用户的姓名:";

cin>>name1;

while(strcmp(name1,p0->name)!=0&&p0!=NULL)

p0=p0->next;

if(p0==NULL)

cout<<"您选择的用户不存在!";

else

/*for(c=0;c<15;c++)

{cout<<endl;

cout<<(*p0).tel_no[c];}*/

{

cout<<endl;

cout<<p0->tel_no;

cout<<endl;}

}

else

{

cout<<"请输入单键号码:";

cin>>b;

while(p0!=NULL&&b!=p0->sim_no)

p0=p0->next;

if(p0==NULL)

cout<<"您输入的单键号码不存在!";

else

{

cout<<endl;

cout<<p0->name<<endl;

cout<<p0->tel_no;

cout<<endl;}

}

}

void Save() /*保存信息*/

{

int j;

fp=fopen("数据文件.txt","w");

for(p2=head,j=0;p2!=NULL;j++ ,p2=p2->next)/*将信息装出入结构体数组在出入链表中*/

{ /*避免地址的出入,造成乱码文件*/

strcpy(persons[j].name,p2->name);

strcpy(persons[j].tel_no,p2->tel_no);

persons[j].sim_no=p2->sim_no;

strcpy(persons[j].e_addr,p2->e_addr);

persons[j].arch=p2->arch;

fwrite(&persons[j],sizeof(struct persons),1,fp);

}

}

void main()

{

creat();

do

{

printf(" 欢迎使用您的通讯录!");/*显示提示的信息*/

printf(" 请选择操作:");

printf(" 1.显示通讯录");

printf(" 2.删除通讯录");

printf(" 3.添加通讯录");

printf(" 4.编辑通讯录");

printf(" 5.拨号功能");

printf(" 6.保存刚才的操作并退出");

printf(" ");

printf(" 请选择:");

cin>>ch;

switch(ch)

{

case "1": searchmenu(); /*用单条件多选择语句实现调用与循环*/

break;

case "2": Delete();

break;

case "3": Input();

break;

case "4": Alter();

break;

case "5": Dial();

break;

case "6": Save();

fclose(fp);

exit(0);

break;

default:

printf(" The num should 1-6!!! ");

printf(" **********************************");

break;

}

}

while(1);

}

西柚不是西游
给你个参考 自己多动手哦
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#define N 10
struct student
{
int num;
char name[12];
char sex[4];
char clas[20];
int a,b,c;
double pjf;
};

void main()
{
void shuru(struct student stu[N]);
void chuli(struct student stu[N]);
void xiugai(struct student stu[N]);
void shuchu(struct student stu[N]);
void paixu(struct student stu[N]);
void chaxun(struct student stu[N]);
void tongj(struct student stu[N]);
double pjf(struct student stu[N]);
void bjgkm(struct student stu[N]);
struct student stu[N];
int i=0,j=0,p=0,u=0;
char str[70][500];
FILE *fp1,*fp;
if((fp=fopen("号码信息.txt","r"))==NULL)
printf("注意:为免出错,第一次使用,请选1 手动添加数据. ");
else
{
for(i=1;i<=N;i++)
{
if(i==1)
fp=fopen("号码信息.txt","r");
fscanf(fp,"%d%s%s%s%d%d%d",&stu[i].num,stu[i].name,stu[i].sex,stu[i].clas,&stu[i].a,&stu[i].b,&stu[i].c);
if(1==N)
fclose(fp);
}
}
int choice;
do{
for(i=0;i<14;i++)
printf("**");
printf("主菜单");
for(j=0;j<14;j++)
printf("**");
printf(" ");
printf("#请选择: 1 号码添加 2 数据添加或删除 3 数据查看 4 信息输出 5 退出# ");
for(i=0;i<20;i++)
printf("***");
printf("** ");
scanf("%d",&choice);
switch(choice)
{
case 1 :
shuru(stu) ; break;
case 2 :
xiugai(stu) ; break;
case 3 :
chuli(stu) ; break;
case 4 :
shuchu(stu) ; break;
case 5 : break;
default : puts("error"); return;
}

} while(choice!=5);
fp1=fopen("号码信息.txt","w");
for(i=1;i<=N;i++)
{

fprintf(fp1,"%d ",stu[i].num);
fprintf(fp1,"%s ",stu[i].name);
fprintf(fp1,"%s ",stu[i].sex);
fprintf(fp1,"%s ",stu[i].clas);
fprintf(fp1,"%d ",stu[i].a);
fprintf(fp1,"%d ",stu[i].b);
fprintf(fp1,"%d ",stu[i].c);
fprintf(fp1," ");
}
puts("信息已保存在“号码信息.txt”中 Thank you!!");
fclose(fp1);
}
void shuru(struct student stu[N])
{
int i=0,p=0;
for(i=1;i<=N;i++)
{
printf("现在添加第%d个联系人的信息! ",i);
printf("条目编号:");
scanf("%d",&stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
printf("性别(f or m):");
scanf("%s",stu[i].sex);
printf("联系人地址:");
scanf("%s",stu[i].clas);
printf("工资: ");
printf("1.邮箱:");
scanf("%d",&stu[i].a);
printf("2.手机(电话)号码:");
scanf("%d",&stu[i].b);
printf("3.qq号码:");
scanf("%d",&stu[i].c);
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
}
return;
}
void xiugai(struct student stu[N])
{
int i,n,abc,def,ghi,jkl,j=0,k=0,oop,h=0,et=0;
do
{

if(et!=0)
{
printf("请选择:1.继续 2.返回 ");
scanf("%d",&def);
}
if(def==2)
break;
printf("请添加要修改的联系人的条目编号:");
scanf("%d",&n);
for(i=1;i<=N;i++)
if(stu[i].num==n)
break;
printf("*****%d的信息如下: ",stu[i].num);
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 三工资均值 ");
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f ",stu[i].num,stu[i].name,stu[i].sex,stu[i].clas,stu[i].a,stu[i].b,stu[i].c,stu[i].pjf);
printf("要改%d的几个信息?(1.2.3.4.5 中选一个数字添加) ",stu[i].num);
scanf("%d",&ghi);
for(k=0;k<ghi;k++)
{
for(j=0;j<14;j++)
printf("^^");
printf("数据修改");
for(j=0;j<14;j++)
printf("^^");
printf(" ");
puts("选择要改的选项:1 条目编号 2 姓名 3 性别 4.联系人地址 5 联系方式修改 6 返回;");
for(j=0;j<32;j++)
printf("^^");
printf(" ");
scanf("%d",&abc);
if(abc==6)
return;
switch(abc)
{
case 1 : printf("原条目编号为%d,添加新条目编号:",stu[i].num);
scanf("%d",&stu[i].num); break;
case 2 : printf("原姓名为%s,添加新姓名:",stu[i].name);
scanf("%s",stu[i].name); break;
case 3 : printf("原性别为%s,添加新性别:",stu[i].sex);
scanf("%s",stu[i].sex); break;
case 4 : printf("原联系人地址为%s,添加新联系人地址:",stu[i].clas);
scanf("%s",stu[i].clas); break;
case 5 : printf("要改几种?(1,2,3)中选一个数字添加) ");
scanf("%d",&oop);
for(h=0;h<oop;h++)
{
for(j=0;j<4;j++)
printf("^^");
printf("语数外工资修改");
for(j=0;j<4;j++)
printf("^^");
printf(" ");
printf("请选择:1.邮箱 2.手机(电话)号码 3.qq号码 ");
for(j=0;j<15;j++)
printf("^^");
printf(" ");
scanf("%d",&jkl);
if(jkl==1)
{
printf("原工资为%d,添加新邮箱工资:",stu[i].a);
scanf("%d",&stu[i].a);
}
else if(jkl==2)
{
printf("原工资为%d,添加新手机(电话)号码工资:",stu[i].b);
scanf("%d",&stu[i].b);
}
else
{
printf("原工资为%d,添加新qq号码:",stu[i].c);
scanf("%d",&stu[i].c);
}
}
break;
default : break;
}
et=1;
}
}while(abc!=5);
}
void chuli(struct student stu[N])
{
int xyz,i,j=0;
void paixu(struct student stu[N]);
void chaxun(struct student stu[N]);
void tongj(struct student stu[N]);
for(i=0;i<3;i++)
{
for(j=0;j<14;j++)
printf("^");
printf("数据处理");
for(j=0;j<14;j++)
printf("^");
printf(" ");
printf("请选择:1.排序 2.查询 3.统计 4.返回 ");
for(j=0;j<36;j++)
printf("^");
printf(" ");
scanf("%d",&xyz);
if(xyz==4)
break;
switch(xyz)
{
case 1: paixu(stu) ; break;
case 2: chaxun(stu) ; break;
case 3: tongj(stu) ; break;
}
}
}
void shuchu(struct student stu[N])
{
int i;
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 三工资均值 ");
for(i=1;i<=N;i++)
{
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].clas,stu[i].a,stu[i].b,stu[i].c,stu[i].pjf);
printf(" ");
}

}
void paixu(struct student stu[N])
{
int i,j;
struct student temp[N];
struct student *e[N];
for(i=1;i<=N;i++)
e[i]=&stu[i];
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
{
if(stu[j+2].num<stu[j+1].num)
{
temp[i+1]=*e[j+2];
*e[j+2]=*e[j+1];
*e[j+1]=temp[i+1];
}
}
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 ");
for(i=1;i<=N;i++)
{
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d",stu[i].num,stu[i].name,stu[i].sex,stu[i].clas,stu[i].a,stu[i].b,stu[i].c);
printf(" ");
}
}
void chaxun(struct student stu[N])
{
int n,i,j,choice,yuw,shux,yingy,xuanz2,kz=1;
char xm[12],xbei[4],banj[20];
for(j=0;j<27;j++)
printf("^");
printf("查询");
for(j=0;j<27;j++)
printf("^");
printf(" ");
printf("请选择查询方式:1.按条目编号 2.按姓名 3.按联系人地址 4.按性别 5按工资 ");
for(j=0;j<59;j++)
printf("^");
printf(" ");
scanf("%d",&choice);
switch(choice)
{
case 1 : printf("请添加条目编号: ");
scanf("%d",&n);
for(i=1;i<=N;i++)
{
if(stu[i].num==n)
{
if(kz==1)
{
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 三工资均值 ");
kz=0;
}
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].clas,stu[i].a,stu[i].b,stu[i].c,stu[i].pjf);
printf(" ");
}
}
break;
case 2 : printf("请添加姓名:");
scanf("%s",xm);
for(i=1;i<=N;i++)
{
if(strcmp(stu[i].name,xm)==0)
{
if(kz==1)
{
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 三工资均值 ");
kz=0;
}
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].clas,stu[i].a,stu[i].b,stu[i].c,stu[i].pjf);
printf(" ");
}
}
break;
case 3 : printf("请添加联系人地址:");
scanf("%s",banj);
for(i=1;i<=N;i++)
{
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].a,stu[i].b,stu[i].c,stu[i].pjf);
printf(" ");
}
}
break;
case 4 : printf("请添加性别:");
scanf("%s",xbei);
for(i=1;i<=N;i++)
{
if(strcmp(stu[i].sex,xbei)==0)
{
if(kz==1)
{
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 ");
kz=0;
}
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].a,stu[i].b,stu[i].c);
printf(" ");
}
}
break;
case 5 : for(j=0;j<18;j++)
printf("^");
printf("查询");
for(j=0;j<18;j++)
printf("^");
printf(" ");
printf("请选择一门联系方式来查询:1.邮箱 2.手机(电话)号码 3.qq号码 ");
for(j=0;j<40;j++)
printf("^");
printf(" ");
scanf("%d",&xuanz2);
switch(xuanz2)
{
case 1 : printf("请添加邮箱:");
scanf("%d",&yuw);
for(i=1;i<=N;i++)
{
if(stu[i].a==yuw)
{
if(kz==1)
{
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 ");
kz=0;
}
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].a,stu[i].b,stu[i].c);
printf(" ");
}
}
break;
case 2 : printf("请添加手机(电话)号码:");
scanf("%d",&shux);
for(i=1;i<=N;i++)
{
if(stu[i].b==shux)
{
if(kz==1)
{
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 ");
kz=0;
}
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].a,stu[i].b,stu[i].c);
printf(" ");
}
}
break;
case 3 : printf("请添加qq号码:");
scanf("%d",&yingy);
for(i=1;i<=N;i++)
{
if(stu[i].c==yingy)
{
if(kz==1)
{
printf("条目编号 姓名 性别 联系人地址 邮箱 手机(电话)号码 qq号码 ");
kz=0;
}
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-12d%-12s%-5s%-16s%-5d%-5d%-5d%-10.3f",stu[i].num,stu[i].name,stu[i].sex,stu[i].a,stu[i].b,stu[i].c);
printf(" ");
}
}
break;
default : break;
}
break;
default :break;
}
}
void tongj(struct student stu[N])
{
int uuu,i,j=0;
void pjf(struct student stu[N]);
void bjgkm(struct student stu[N]);
for(i=0;i<2;i++)
{
for(j=0;j<10;j++)
printf("^^");
printf("统计");
for(j=0;j<10;j++)
printf("^^");
printf(" ");
printf("请选择:1.查看个人类或商务类联系方式 2.查看办公类联系方式 3.返回 ");
for(j=0;j<22;j++)
printf("^^");
printf(" ");
scanf("%d",&uuu);
if(uuu==3)
return;
if(uuu==1)
pjf(stu);
else
bjgkm(stu);
}
}
void pjf(struct student stu[N])
{
int yu=0,sh=0,yi=0;
int i;
for(i=1;i<=N;i++)
{
yu+=stu[i].a;
sh+=stu[i].b;
yi+=stu[i].c;
}
printf(" 商务类或个人类联系人有以下: ");
printf("邮箱,手机(电话)号码,qq号码分别为:%.3f ,%.3f ,%.3f ",yu*1.0/N,sh*1.0/N,yi*1.0/N);
printf("条目编号 姓名 联系人地址 ");
for(i=1;i<=N;i++)
{
stu[i].pjf=(stu[i].a+stu[i].b+stu[i].c)/(3.0);
printf("%-11d%-12s%-10.3f ",stu[i].num,stu[i].name);
}
}
void bjgkm(struct student stu[N])
{
int i;
printf(" 办公类联系人有以下: ");
printf("邮箱,手机(电话)号码,qq号码分别为: ");
printf("条目编号 姓名 联系人地址 ");
for(i=1;i<=N;i++)
{
if(stu[i].a<800||stu[i].b<800||stu[i].c<800)
{
printf("%-11d%-12s%-16s",stu[i].num,stu[i].name,stu[i].clas);
tt白

我的天啊我业遇到了同样的问题啊,你说怎么整啊但是我真的是不会做啊

哎炯啊

cloud123

理工大的吧 我 有

相关推荐

adress英文

adress英文的意思为地址,相关信息如下:通讯地址是指能在信封、邮寄物品、电子邮箱等一切通过邮政方式或互联网发送的邮件上,注明并接收的有效实际地址。通讯地址一般由地区名,街道名及门牌号码组成;一般大型网站就可以注册免费的个人邮箱,申请的邮箱即是你的电子地址。通讯地址又名通信地址,简称地址。通讯地址是几个有上下属关系的地名组合。国内地址多由省(市自治区)名、市(县区)名、乡镇(街道)名、门牌号码、企事业单位名等几部分组成。由于拼写起来很长,为醒目起见,各个层次之间可以用逗号隔开。一般根据实际地址,由大范围到小范围依次写上,比如“山东省青岛市开平路53号国棉四厂二宿舍1号楼2单元204户甲”,“香港九龙将军澳工业村骏才街七十七号电视广播城”。英文地址一般的写法与中文描述的相反,由小写到大,以下为示范:NO. 204,Entrance A, Building NO. 1, The 2nd Dormitory of the NO. 4 State-owned Textile Factory, 53 Kaiping Road, Qingdao, Shandong。
2023-05-28 16:40:591

excel中如何用adress引用其它表中的地址

=AVERAGE(INDIRECT("sheet2!"&A1&A2&":"&A1&A3))
2023-05-28 16:41:331

student1 student2 整型变量no 结构体变量adress?

你想问什么?
2023-05-28 16:41:423

留学生在美国订回国机票的billing adress

填你现在居住地的地址119 aptos beach dr.aptos ca 95003U S A 这样填就行
2023-05-28 16:42:002

怎样设置DNS的IP地址

点击"开始"按钮,打开"控制面板"   2. 打开"网络和Internet"   3. 打开"网络和共享中心"   4. 如果您使用的是"本地连接",请点击"本地连接",再点"属性"。如果您使用的是无线网络,请点击对应的无线网络连接,再点"属性"   5. 双击"Internet协议版本4(TCP/IPv4)".   6. 选中"使用下面的DNS服务器地址",在"首选DNS服务器"里输入"8.8.8.8",备用“8.8.4.4”再点确认就可以了
2023-05-28 16:42:113

HTTP Adress与URL有什么不同?

URLabbr.1. =Uniform Resource Locator 【电脑】一致资源定址器统一资源定位符 (Uniform Resource Locator, URL)URI 方案集,包含如何访问 Internet 上的资源的明确指令。URL 是统一的,因为它们采用相同的基本语法,无论寻址哪种特定类型的资源(网页、新闻组)或描述通过哪种机制获取该资源。对于 Intranet 服务器或万维网服务器上的目标文件,可以使用“统一资源定位符 (URL)”地址(该地址以“http://”开始)。Web 服务器使用“超文本传输协议 (HTTP)”,一种“幕后的”Internet 信息传输协议。例如,http://www.microsoft.com/ 为 Microsoft 网站的万维网 URL 地址。URL的一般格式为:scheme://host:port/path?query#fragment例如:http://www.imailtone.com:80/WebApplication1/WebForm1.aspx?name=tom&;age=20#resumescheme,通信协议方案,下表列出 Scheme 属性的有效方案名称。file 资源是本地计算机上的文件。ftp 通过 FTP 访问资源。gopher 通过 Gopher 协议访问该资源。http 通过 HTTP 访问该资源。https 通过安全的 HTTP 访问该资源。mailto 资源为电子邮件地址,通过 SMTP 访问。news 通过 NNTP 访问该资源。host,主机,指定的服务器的域名系统 (DNS) 主机名或 IP 地址。port,端口号,整数,可选,省略时使用方案的默认端口,如http的默认端口为80。path,路径,由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。query,查询,可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。fragment,信息片断,字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。注意,Windows 主机不区分 URL 大小写,但是,Unix/Linux 主机区分大小写。
2023-05-28 16:43:411

to address such concerns是何意?

为了回应这样的关切
2023-05-28 16:43:497

makeadress是she么意思

make a dress 制作一条裙子以上仅为个人浅见,望采纳多谢。
2023-05-28 16:44:047

现在要你设计一个程序,返回一个3 * 5 的二维数组各元素的地址

然后呢
2023-05-28 16:44:212

adress的发音是怎样的?

音标发音:英[əˈdres]美[ˈædres]adress是地址的意思。(名词)n. 地址; 称呼; 演说; 通信处。(动词)v. 称呼; 演说; 写姓名地址; 向…说话。第三人称单数:addresses  复数:addresses 。现在分词:addressing 过去式:addressed 过去分词:addressed 。形近词: undress codress edress。扩展资料:单词address的用法:address的基本含义有三:①指正式的、有准备的讲话,含有讲话有目的、有分量、有长度或讲话者与众不同等意味。②指应付困难的或新的局面以及与陌生人交往时表现出的机敏、得体,从而能博得他人好感或获得成功,可灵活译为“儒雅的风度”“得体的举止”“圆滑的手段”“巧妙的本领”等。③指人们生活、工作地点的市镇、街区、门牌号和电话、传真号等,即通讯地址。有时也包括姓名。
2023-05-28 16:44:391

吉林省松原市的DNS怎么填写???

你可以试试下面两种方法:1.【开始】->【运行】->输入 cmd ->接着输入 ipconfig把IP Adress后面的地址记下来,然后输入nslookup+空格+上面记的IP地址出现的Server:……Adress:……Server是服务器域名Adress是DNS服务器IP地址2.开始--运行---CMD--ipconfig /allDNS server就是你要的
2023-05-28 16:45:051

have you got e-mail adress 翻译

have you got e-mail adress 你有邮件地址了吗?
2023-05-28 16:45:137

Access violation at address 00000000.Read of adress 00000000

我给您翻译一下:访问冲突在地址00000000,读取在地址00000000软件和系统有冲突
2023-05-28 16:45:293

byk色差仪包adress error怎么办

可能是驱动没有安装,建议点开我的电脑-属性-驱动查看是否安装BYK软件驱动,另外把杀毒软件关闭再安装
2023-05-28 16:45:361

一道C语言链表通讯录的题

#include <stdio.h>#include<iostream.h>#include <string.h>#include <conio.h>#include <stdlib.h>#define null 0 ;struct record{ char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30];}student[30];struct LinkList{ struct record US; struct LinkList *next;}a;struct LinkList *head=null;int num=0;FILE *fp;int menu_select();int adduser();int list();int search();int display();int add();int listbyname();int dele();int save();int exit();void main(){ system("cls"); for(;;) { switch(menu_select()) { case 0: adduser(); break; case 1: list(); break; case 2: search(); break; case 3: display(); break; case 4: add(); break; case 5: listbyname(); break; case 6: dele(); break; case 7: save(); break; case 8: exit(0); } }}menu_select(){ int s; int a; cout<<"*_* 按任意键进入菜单! *_* "<<endl; getch(); system("cls"); cout<<" ********************MENU********************* "<<endl; cout<<" 0. 输入记录"<<endl; cout<<" 1. 显示记录 "<<endl; cout<<" 2. 按姓名查找"<<endl; cout<<" 3. 按电话号码查找"<<endl; cout<<" 4. 增加用户"<<endl; cout<<" 5. 按姓名排序"<<endl; cout<<" 6. 删除记录"<<endl; cout<<" 7. 记录保存文件"<<endl; cout<<" 8. Quit"<<endl; cout<<" ***********************************************"<<endl; do{ cout<<" 输入你的选择(0~8):"; cin>>s; a=s; } while (a<0||a>8); return a;}adduser(){ cout<<" **************** 请输入用户信息 ****************"<<endl; cout<<" 输入姓名:"; cin>>student[num].name; cout<<" 输入电话号码:"; cin>>student[num].phone; cout<<" 输入地址:"; cin>>student[num].adress; cout<<" 输入邮编:"; cin>>student[num].postcode; cout<<" 输入e-mail:"; cin>>student[num].e_mail; num++; cout<<" 是否继续添加?(Y/N):"; char z; cin>>z; if((z=="y")||(z=="Y")) adduser(); return(0);}list(){ int i; system("cls"); if(num!=0) { cout<<" *************** 以下为通讯录所有信息************"; for(i=0;i<num;i++) { cout<<" 姓名:"<<student[i].name; cout<<" 电话: "<<student[i].phone; cout<<" 地址: "<<student[i].adress; cout<<" 邮编: "<<student[i].postcode; cout<<" e-mail:"<<student[i].e_mail; cout<<" "; if(i+1<num) { cout<<" __________________________"; system("pause"); } } cout<<" ************************************************"; } else cout<<" 通讯录中无任何纪录"; cout<<" 按任意键返回主菜单:"; getch(); return(0);}search(){ int mark=0; int i; int a=0; cout<<" ***************** 按姓名查找 *******************"; char name[20]; cout<<" 请输入姓名:"; cin>>name; for(i=a;i<num;i++) { if(strcmp(student[i].name,name)==0) { cout<<" ************* 以下是您查找的用户信息 ***********"; cout<<" 姓名: "<<student[i].name; cout<<" 电话: "<<student[i].phone; cout<<" 地址: "<<student[i].adress; cout<<" e-mail:"<<student[i].e_mail; cout<<" ************************************************"; mark++; if((i+1)<num) { cout<<" 是否继续查找相同名字的用户信息:(y/n)"; char y;cin>>y; if((y=="y")||(y=="Y")) { a=i; continue; } else return(0); } else { cout<<" 按任意键返回主菜单"; getch(); return(0); } } } if(mark==0) { cout<<" 没有相同姓名的用户纪录"; cout<<" 按任意键返回主菜单"; getch(); return(0); }}display(){ int mark=0; int i; int a=0; cout<<" ****************** 按电话查找 ******************"; char phone[10]; cout<<" 请输入电话号码:"; cin>>phone; for(i=0;i<num;i++) { if(strcmp(student[i].phone,phone)==0) { cout<<" ************** 以下是您查找的用户信息 **********"; cout<<" 姓名: "<<student[i].name; cout<<" 电话: "<<student[i].phone; cout<<" 地址: "<<student[i].adress; cout<<" e-mail:"<<student[i].e_mail; cout<<" ************************************************"; cout<<" 按任意键返回主菜单:"; mark++; getch(); return(0); } } if(mark==0) { cout<<" 没有改用户的信息"; cout<<" 按任意键返回主菜单"; getch(); return(0); } return(0);}add(){ int i; if((fp=fopen("student.bin","wb"))==NULL) { cout<<" 文件打开失败"; } for (i=0;i<num;i++) { if (fwrite(&student[i],sizeof(struct record),1,fp)!=1) { cout<<" 写入文件错误! "; } cout<<" **************** 请输入用户信息 ****************"<<endl; cout<<" 输入姓名:"; cin>>student[num].name; cout<<" 输入电话号码:"; cin>>student[num].phone; cout<<" 输入地址:"; cin>>student[num].adress; cout<<" 输入邮编:"; cin>>student[num].postcode; cout<<" 输入e-mail:"; cin>>student[num].e_mail; num++; cout<<" 是否继续添加?(Y/N):"; if(getch()=="y") adduser(); return(0); } fclose(fp); cout<<" 通讯录文件已保存"; cout<<" 按任意键退出程序 "; exit(0); return(0);}void deletebyphone(){ int i,j; int deletemark=0; char phone[20]; cout<<" 请输入要删除用户电话号码:"; cin>>phone; if(num==0) { cout<<" 对不起,文件中无任何纪录"; cout<<" 按任意键返回主菜单"; getch(); return; } for (i=0;i<num;i++) { if(strcmp(student[i].phone,phone)==NULL) { cout<<" 以下是您要删除的用户纪录:"; cout<<" 姓名: "<<student[i].name; cout<<" 电话: "<<student[i].phone; cout<<" 地址: "<<student[i].adress; cout<<" e-mail:"<<student[i].e_mail; cout<<" 是否删除?(y/n)"; char u;cin>>u; if((u=="y")||(u=="Y")) { for(j=i;j<num-1;j++) student[j]=student[j+1]; num--; deletemark++; cout<<" 删除成功"; cout<<" 是否继续删除?(y/n)"; char v;cin>>v; if((v=="y")||(v=="Y")) deletebyphone(); return; } else return; } continue; } if(deletemark==0) { cout<<" 没有该用户的纪录"; cout<<" 是否继续删除?(y/n)"; char m;cin>>m; if((m=="y")||(m=="Y")) deletebyphone(); return; }}void deletebyname(){ int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; cout<<" 请输入要删除用户姓名:"; cin>>name; for(i=a;i<num;i++) { if(strcmp(student[i].name,name)==NULL) { cout<<" 以下是您要删除的用户纪录:"; findmark++; cout<<" ________________________________"; cout<<" 姓名: "<<student[i].name; cout<<" 电话: "<<student[i].phone; cout<<" 地址: "<<student[i].adress; cout<<" e-mail:"<<student[i].e_mail; cout<<" ________________________________"; cout<<" 是否删除?(y/n)"; char n;cin>>n; if((n=="y")||(n=="Y")) { for(j=i;j<num-1;j++) student[j]=student[j+1]; num--; deletemark++; cout<<" 删除成功"; if((i+1)<num) { cout<<" 是否继续删除相同姓名的用户信息?(y/n)"; char l;cin>>l; if((l=="y")||(l=="Y")) { a=i; continue; } } cout<<" 是否继续删除?(y/n)"; char o;cin>>o; if((o=="y")||(o=="Y")) deletebyname(); return; } if((i+1)<num) { cout<<" 是否继续删除相同姓名的用户信息?(y/n)"; char p;cin>>p; if((p=="y")||(p=="Y")) { a=i; continue; } } } else continue; } if((deletemark==0)&&(findmark==0)) { cout<<" 没有该用户的纪录"; cout<<" 是否继续删除?(y/n)"; char q;cin>>q; if((q=="y")||(q=="Y")) deletebyphone(); return; return; } else if(findmark!=0) { cout<<" 没有重名信息"; cout<<" 没有该用户的纪录"; cout<<" 是否继续删除?(y/n)"; char r;cin>>r; if((r=="y")||(r=="Y")) deletebyphone(); return; return; }}dele(){ int choic; cout<<" 1-按电话号码删除 2-按姓名删除"; cout<<" 请选择:"; cin>>choic; switch (choic) { case 1: deletebyphone(); break; case 2: deletebyname(); break; } return(0);}listbyname(){ int i,j; struct record tmp; for(i=1;i<num;i++) { if(strcmp(student[i].name,student[i-1].name)<0) { tmp=student[i]; j=i-1; do { student[j+1]=student[j]; j--; }while ((strcmp(tmp.name,student[j].name)<0&&j>=0)); student[j+1]=tmp; } } cout<<" 排序成功,是否显示?(y/n)"; char x;cin>>x; if((x=="y")||(x=="Y")) list(); return(0);}save(){ int j; FILE*fp; fp=fopen("student.txt","w"); if (fp==NULL) cout<<"不能打开文件."; if(num!=0) { for(j=0;j<num;j++) { fwrite(student,sizeof(student),1,fp); } } cout<<"保存成功!"; fclose(fp); return(0);}
2023-05-28 16:45:451

如何更新List里某个对象的属性

。List<student> s= new student(){   new student {name ="11111",adress ="22222"},   new student {name ="22222",adress ="22222"},   new student {name ="33333",adress ="22222"}}正确的写法其实是这样的:using System.Collections.Generic;using System.Linq;        public static void Test()        {            var students = new List<Student>()            {                new Student {Name = "11111", Adress = "22222"},                new Student {Name = "22222", Adress = "22222"},                new Student {Name = "33333", Adress = "22222"}            };            var list = students.Where(o => o.Name == "22222").ToList();            foreach (var student in list)            {                student.Adress = "00000";            }        }        private class Student        {            public string Name { get; set; }            public string Adress { get; set; }        }
2023-05-28 16:46:101

无效的以太网帧都有什么?

我们在测试中经常会听到各种以太网帧术语,比如说CRC,Alignment, Fragment,超小帧(Runt),超长帧(oversize),Jabber帧, Jumbo帧等。很多初学者对这些概念不清楚,我在此想对这些术语做些总结。首先介绍一些基本的概念然后再做关于错误的介绍。2 以太网帧基本概念以太网主要有两种帧结构Ethernet II帧和IEEE 802.3帧:PreambleSOFDestinationAdressSourceAdressTYPELenghDATAFCSPreamble : 称前导符, 由0,1 交替组成的7字节, 通知目的地准备接收SOF: 帧首定界字符, 由两个连续的代码1结尾, 标识一帧的开始Destination Adress & Source Adress: 目的MAC地址源MAC地址,可以是单播,组播或广播地址;TypeLength: type表明数据域类型长度;Length表明紧随其后数据段的字节数。该值的大小区分Ethernet II帧和IEEE 802.3帧大于1500:类型域中数值大于1500的帧是Ethernet II帧,该域中的值最小为1536 (600 hex)。小于等于1500:长度域中数值小于等于1500的帧是IEEE 802.3帧, 该域中的值最大为1500。DATA: 数据段, 以太网的字节传输最大值是1518 bytes(未启用Jumbo),最小值是64 bytes,数据包中的字节数必须要能被8整除。FCS : 帧校验,该序列为4个字节的循环冗余校验CRC, 发送方按一定计算方式产生,接收方对接收到的数据用同样的方式计算并将得到的校验码和接收到的校验码比较,如果一致认为传输正确.。Jumbo帧:伴随着以太网速率的提高,千兆以太网的产生而提出了Jumbo帧.也称巨型帧即字节数大于1518字节的帧. 现在的单板TGE,SEC,RSEBRSEA, MSEBMSEA都有支持Jumbo帧的配置选项. MSEB单板最大支持的帧长可以达到64kbyte(需求只要求9600byte).
2023-05-28 16:46:191

canyoumakeadressforme什么意思

你能为我做件衣服吗?make adress 做衣服
2023-05-28 16:46:283

我用c语言编写的顺序表程序,请帮忙看一下。

我不写程序好多年。
2023-05-28 16:46:422

vue破解不了

我用的是8.5的,安装程序都是一样的。希望对你能有帮助。确保你的电脑卸载干净。重新安装一下。1.运行安装程序;2.安装过程中提示你输入serialnumber,运行keygen底下那排的第一个按钮genserial创建一个,把第一栏serial里生成的数字添上;3.安装完成以后.运行程序.会提示你需要激活.这时候按下你的keygen的底下第2个按钮genactivation.把(第三栏)得到的activation复制进去,点一下"Finalizeactivation";4.进入vue程序里.在help菜单底下选择RegisterRenderCowPack,在弹出来的窗口点击Add.同时去keygen里把底下的第三个按钮genrendercowlic按下,把从keygen里算出来的第四栏rendercowpacklicense里的号码复制进去。注意事项:整个安装过程不要关闭keygen窗口,不要反复按获取激活码按钮;如果第三步出现了问题,就需要更改keygen窗口中macadress栏中的地址。方法如下:进入C:DocumentsandSettingsAllUsersApplicationDatae-onsoftware文件夹,打开Vue8.5xStream文件,将macadress后边的内容替换原macadress栏中的内容,然后继续即可。
2023-05-28 16:46:491

海运提单的收货人写shipping adress 还是billing adress

收货人写你们客户的公司名和地址,联系电话,传真即可
2023-05-28 16:46:562

在英国办银行卡需要proof adress,但是住朋友家应该怎么证明?

一般是需要driving licence(因为上面有地址信息)或者税单,水电气费单(有你的名字)或者学校证明。你是旅游签证的话一般办不了的。
2023-05-28 16:47:142

为什么我安装一个软件的时候弹出一个Access violation at adress 0040993E,Write of adress 00401000?

Access Violation(非法访问),General Protection Fault(一般保护性错误)或者Invalid Page Fault(无效页面错误),虽然说法不一样,但本质上总是由同一种错误引起的。Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。 Access violation at address <十六进制值> in module <应用程序名> Read of address <十六进制值> “Access violation at address 00000000.Read of adress 00000000.意思是:在地址 00000000 存取违反,禁止对地址00000000的读取 出现access violation at address 00000000. read of address 00000000.原因是:没有运行服务端软件,所以客户机会提示"Access violation at address 00000000, read of address 0000000",开启服务端程序或检查网线即可解决。 另外,可能出现这个问题的原因是因为你是在WINRAR的窗口中运行程序,而程序又找不到主要文件引起的。 解决方法:)~~ 尝试用兼容方式运行该程序.右键点击图标——属性——兼容型——选中“以兼容方式运行该程序”——下面的选框中可以选择以95、98、NT4.0或2000模式来运行。推荐选择98试试看。 遇到Access Violation的一些解决方法可以看这里面 http://www.wesoho.com/showlog.asp?log_id=1403&cat_id=28参考资料:http://zhidao.baidu.com/question/6817227.html
2023-05-28 16:47:231

where is the place?还是what is the place? What is your adress?还是where is your adress

你好!问地方的两个都可以,前者是问“这个地方在哪”,后者是问“这是哪”。问地址的是前者对。如果对你有帮助,望采纳。
2023-05-28 16:47:301

用c语言程序设计一个学生通讯录系统

OO,lz可能要自己动手写了!~ 控制台程序,其实很简单的!
2023-05-28 16:47:382

必须声明标量变量“@7”,求解答

你的inset sql 语句中将最后三个参数命名为@7,@8,@9,前面都是@p*,而你插入参数的时候时候又是用@p7/@p8/@p9的,所以改的你sql语句中的@7/@8/@9为@p7,@p8,@p9
2023-05-28 16:47:451

ASP页面源码!

试试把../../admin/FeedbackSave.asp改为../.././admin/FeedbackSave.asp
2023-05-28 16:48:002

传奇私服登陆器器,出现access violation at adress 042cf300 ,write ofaddress 042cf300 如何解决

从新安装
2023-05-28 16:48:183

C语言查字节数的问题

看错了 不好意思 感觉15的样子
2023-05-28 16:48:276

箱单发票上的受益人

如果不是做信用证的话,向你的客户确认,根据客户的要求来写.
2023-05-28 16:48:483

我打开个东西.就弹出“Access violation at address 0044FB01.WRITE of adress 00000000.怎么解决?

把access软件卸载了,重装就应该没事了,是软件出问题了,还有一种懒法,就是运行--msconfig,把access软件从开机启动项里请出去就可以了
2023-05-28 16:48:551

C语言结构体里引用字符串成员报错怎么回事?

printf("%c ", p->ID);//%d printf("%d ", p->name);//%s
2023-05-28 16:49:102

雷蛇哈尔滨售后

雷蛇官网哈市全部3家指定经销商信息如下,有问题的话建议先咨询一下他们看看能不能帮助解决吧。http://cn.razerzone.com/reseller.php?tdid=9哈尔滨弘程公司Adress南通大街258号船舶电子大世界中区112室 Phone0451-82589307 哈尔滨弘程公司Adress松花江街139号教化电子大世界347室 & 1楼20号 Phone0451-86231198 哈尔滨明锐电子科技有限公司Adress哈尔滨西大直街百脑汇电脑城4A24B Phone045155588717另,雷蛇相关质保条款参见如下官网链接:http://cn.razerzone.com/about.php?aid=45供参考。祝好运!
2023-05-28 16:49:251

iwanttobuyadress(翻译)

我想要买一条裙子
2023-05-28 16:49:442

vue破解不了

我用的是8.5的,安装程序都是一样的。希望对你能有帮助。确保你的电脑卸载干净。重新安装一下。1.运行安装程序;2.安装过程中提示你输入serialnumber,运行keygen底下那排的第一个按钮genserial创建一个,把第一栏serial里生成的数字添上;3.安装完成以后.运行程序.会提示你需要激活.这时候按下你的keygen的底下第2个按钮genactivation.把(第三栏)得到的activation复制进去,点一下"Finalizeactivation";4.进入vue程序里.在help菜单底下选择RegisterRenderCowPack,在弹出来的窗口点击Add.同时去keygen里把底下的第三个按钮genrendercowlic按下,把从keygen里算出来的第四栏rendercowpacklicense里的号码复制进去。注意事项:整个安装过程不要关闭keygen窗口,不要反复按获取激活码按钮;如果第三步出现了问题,就需要更改keygen窗口中macadress栏中的地址。方法如下:进入C:DocumentsandSettingsAllUsersApplicationDatae-onsoftware文件夹,打开Vue8.5xStream文件,将macadress后边的内容替换原macadress栏中的内容,然后继续即可。
2023-05-28 16:49:511

刚学PHP HTML里面的按钮怎么样点击一下就调用PHP里面的方法 进行对数据库的操作?

<?phpif(isset($_POST["update"]))//意思是判断是否点了名字为update的按钮{}?>
2023-05-28 16:50:002

win7_32下利用netsh命令netsh interface ip add adress wlan 192.168.1.100,提示“找不到元素”,为什么

...win7用命令行来配置吗?不用吧?
2023-05-28 16:50:104

where is the place?还是what is the place? What is your adress?还是where is your adress

where is the place?还是what is the place?都对前者问这地方在哪? 后者指内容。What is your adress?还是where is your adress前者对
2023-05-28 16:50:172

vue8怎么安装

我用的是8.5的,安装程序都是一样的。希望对你能有帮助。1.运行安装程序;2.安装过程中提示你输入serialnumber,运行keygen底下那排的第一个按钮genserial创建一个,把第一栏serial里生成的数字添上;3.安装完成以后.运行程序.会提示你需要激活.这时候按下你的keygen的底下第2个按钮genactivation.把(第三栏)得到的activation复制进去,点一下"Finalizeactivation";4.进入vue程序里.在help菜单底下选择RegisterRenderCowPack,在弹出来的窗口点击Add.同时去keygen里把底下的第三个按钮genrendercowlic按下,把从keygen里算出来的第四栏rendercowpacklicense里的号码复制进去。注意事项:整个安装过程不要关闭keygen窗口,不要反复按获取激活码按钮;如果第三步出现了问题,就需要更改keygen窗口中macadress栏中的地址。方法如下:进入C:DocumentsandSettingsAllUsersApplicationDatae-onsoftware文件夹,打开Vue8.5xStream文件,将macadress后边的内容替换原macadress栏中的内容,然后继续即可。
2023-05-28 16:50:241

MySql是如何多表循环遍历更新

MySql数据库中存在大量的表结构,而且这些表都存在一个共同点,就是表中都有相同字段,比如id,name,city,adress,lat,lng。表中字段id,name,city,adress不允许为空,所以表中这几个字段的数据都是已经赋给实值的,而lat与lng(经纬度)是为空的。现在要写一个程序,根据city,adress请求获取数据,把循环每一表中根据city,adress请求获取的数据更新到相应表,相应表中对应的那一行数据。这句话,可能你有点晕,说白了就是,先循环查询遍历表中city与adress的值,根据city,adress的值请求获取数据,更新到相应行中,这个表循环更新完了就跳到下个表中再循环更新,以此类推,直到全部更新。
2023-05-28 16:50:311

猩猩属于哪一种动物?

猩猩和狒狒的区别有以下几点:一、尾巴不同:1、狒狒有尾巴,又长又细,屁股上有一大片鲜红的区域。2、黑猩猩没有尾巴,可以用手或脚搬运东西。二、与人类的相似性不同:1、猩猩与人类非常相似,基因相似性为96.4%。2、在灵长目动物中,狒狒仅次于猩猩,但与人类的相似程度没有那么高。三、不同的分类:1、狒狒有五种:阿拉伯狒狒、几内亚狒狒、东非狒狒、热带草原狒狒和海豚尾狒狒。2、猩猩则分为三种:红毛猩猩、大猩猩和黑猩猩。四、饮食不同:1、狒狒是杂食性动物,几乎在任何环境都能找到食物。2、猩猩主要吃水果、树枝、芽、昆虫和藤本植物。偶尔它们也吃鸟蛋和小型脊椎动物。香蕉、树叶、小树枝、无脊椎动物、富含矿物质的泥土、脊椎动物、种子、树或葡萄树的树皮、树洞流出的水、蜂蜜、白蚁等。
2023-05-28 16:50:442

建筑工程中箍筋Hn/3是什么意思,跪求

Hn是指柱所在楼层的净高,Hn/3是指箍筋加密区的范围,即柱净高的1/3处加密
2023-05-28 16:50:541

说一个人是HN那这个词是什么意思?

是说他是河南人(he nan )
2023-05-28 16:51:012

gorilla怎么读

英语和西班牙语里都有gorilla,意思都为“大猩猩”。在英语里,按音标应该这样读: [g?′ril?]。在西班牙语里,每个字母都有其固定发音,读出来与“葛里亚”发音差不多。
2023-05-28 16:51:071

.hn.cn是什么域名?.hn.cn域名代表什么?

河南是:ha.cn河北是:he.cn湖北是:hb.cn目前可供选择的后缀有34种,含盖国内34个省市自治区直辖市。注册国内行政区域名过程及步骤与国内通用英文域名一致。目前国内行政区域名仅限英文域名,并只能是国内企事业单位注册,个人暂时不能注册。各省市自治区域名的说明:“行政区域名”有34个,适用于我国的各省、自治区、直辖市,分别为:省市名称域名后缀北京市bj.cn福建省fj.cn上海市sh.cn江西省jx.cn天津市tj.cn山东省sd.cn重庆市cq.cn河南省ha.cn河北省he.cn湖北省hb.cn山西省sx.cn湖南省hn.cn内蒙古自治区nm.cn广东省gd.cn辽宁省ln.cn广西省gx.cn吉林省jl.cn海南省hi.cn黑龙江省hl.cn四川省sc.cn江苏省js.cn贵州省gz.cn浙江省zj.cn云南省yn.cn安徽省ah.cn西藏自治区xz.cn陕西省sn.cn台湾tw.cn甘肃省gs.cn香港hk.cn青海省qh.cn澳门mo.cn宁夏回族自治区nx.cn新疆维吾尔自治区xj.cn
2023-05-28 16:51:103

hn商城是哪里登录?谢谢您!

如果你是用手机打开这个商城的话,你一点进首页就会有一个登录的弹框如果你是在电脑上打开网页,在网页的右上角会有一个登录和注册按钮。
2023-05-28 16:50:381

gorilla是《英雄联盟》哪个英雄?

战队辅助GorillA。GorillA曾和Faker、Impact等传奇选手同处一个时代,是一位在役时间非常久的老将。他在LCK辗转三个战队获得过三个冠军(白盾、Rox Tiger、KZ)、连续四次参加世界赛,在LCK赛区出场高达394场次,没有人否认这位25岁男孩已经获得的成就。但这位优秀的辅助选手在采访时直言自己很害怕被观众们遗忘,并害怕被LOL新生代超越,至少,这些原因促使他回到了韩国,在2020年签约Sandbox战队。最新报道:“最近我开始怀疑自己是否正在慢慢地从人们的记忆中消失,”GorillA对记者说。“我已经打了七年职业了,我以前的对手们都已经退役了。尤其是今年,我们失去了一些支撑。”他表示,当自己看到网上那些同伴们宣布放下键盘结束职业生涯的新闻,会有一点心痛。但是尽管悲伤,这也驱使他努力走向“成功”。虽然GorillA目前的队伍平均年龄比他本人要小四岁,但是对于这群青春年少的“弟弟”队友,他笑着表示,这不会打击他,而是让他产生了一种“嘿我曾经也年轻过!”的想法。他对于自己曾经的战友们纷纷离开LCK或不再与他并肩战斗而有些失望,但他尤其补充了Smeb的离开对于他而言其实是一种动力。“Smeb在休息,而我想要成功。只有这样我才能骄傲地告诉他,如果我能的话,他也可以。我想像全世界证明,我还可以保持巅峰状态。”最后,GorillA表示,自己在离开韩国之前表现不是很好,所以自己的未来并不确定。“但我又要开始挑战自己了,如果我们可以像今天这样赢比赛,那么一切都会好起来的!”
2023-05-28 16:50:301

大猩猩goriila英语怎么读?

gorilla 英[ɡəˈrɪlə] 美[gəˈrɪlə] n. 大猩猩;打手
2023-05-28 16:50:223

gorilla词源词根?

据说来自希腊语 Gorillai [多毛女人的部落] 在涉及到gorilla 这个词的历史时,传说中的两次探险可以联系在一起, 这同样也证明了古典文学对科学术语命名的影响.汤姆斯·S·萨维奇医生,到西非传教的美国传教士,在1847年第一次描述了大猩猩并给它起了个新拉丁语名字Troglodytes gorilla .在命名时他就用了希腊文学知识,这个命名也同样出现在一本公元前 4世纪安诺写的见闻译本里,安诺也到过西非. 这位迦太基航海家,公元前 480年之前开始出航, 在他的探险过程中,最远到达过塞拉利昂.在他写见闻的希腊译本里,他说他见到了Gorillai , 据他自己声称他是从当地向导那儿学到这个名字的,并认为它是指多毛女人部落的成员.实际上他们可能是大约24世纪以后汤姆斯·萨奇所描述的同样的动物
2023-05-28 16:50:021

js是江苏的缩写,hn是哪个省份的缩写啊?

湖南
2023-05-28 16:49:595