求助C语言学生系统中按照姓名进行查找学生
#include
按照姓名进行查找代码 按姓名查询窗体
按照姓名进行查找代码 按姓名查询窗体
#include
#include
struct Link/定义结构体链表/
{int number;
char name[20];
char [4];
int chinese;
int math;
int lizong;
int english;
int sum;
float erage;
struct Linknext;
};
void Picture(void);/进行函数调用/
char Menu1(void);
char Menu2(void);
struct Link Append(struct Link head);
void Print(struct Linkhead);
struct Link Delete(struct Link head);
struct Link Change(struct Link head);
void Find(struct Linkhead);
void Sort1(struct Linkhead);
void Sort2(struct Linkhead);
void Sort3(struct Linkhead);
void Sort4(struct Linkhead);
void Deletememory(struct Linkhead);
void Beifen(struct Linkhead);
struct LinkHuanyuan(struct Linkhead);
int Total(struct Linkhead);
const char file="wenjian";
char Mima(void);
int main()
{char cho,ch,shuru,mima[7]="123456";
struct Link head=NULL;
("color 4f");
Picture();
printf("登陆身份认证:n你是一位老师还是一名学生?(Teacher/Student)n");
scanf("%c",&ch);
if(ch=='T'||ch=='t')
{do
{ printf("请输入6位密码:n");
scanf("%s",shuru);
if(strcmp(shuru,mima)==0)
break;
else {printf("输入密码不正确n");}
}while(strcmp(shuru,mima)!=0);
while(1)
{("cls");
cho=Menu1();
switch(cho)
{case '1':
head=Append(head);
("cls");
break;
case '2':
Print(head);
break;
case '3':
head=Delete(head);
break;
case '4':("cls");
head=Change(head);
printf("想要查看吗?(Y/N)");
scanf(" %c",&ch);
if(ch=='Y'||ch=='y')
Print(head);
break;
case '5':Find(head);
break;
case '6':Sort1(head);
printf("已经排好顺序了n");
break;
case '7':Sort2(head);
printf("已经排好顺序了n");
break;
case '8':Sort3(head);
printf("已经排好顺序了n");
break;
case '9':Sort4(head);
printf("已经排好顺序了n");
break;
case 'A':Beifen(head);
exit(0);
case 'B':head=Huanyuan(head);
char i=getchar();
printf("您已经成功还原,按ENTER键返回主菜单n");
i=getchar();
break;
case 'C':Deletememory(head);
exit(0);
default:printf("input error!");
break;
}}
}else
{while(1)
{("cls");
cho=Menu2();
switch(cho)
{case '1':
Print(head);
break;
case '2':Find(head);
break;
case '3':Sort1(head);
char i=getchar();
printf("已经排好顺序了,按ENTER键返回主菜单n");
i=getchar();
break;
case '4':Sort2(head);
i=getchar();
printf("已经排好顺序了,按ENTER键返回主菜单n");
i=getchar();
break;
case '5':Sort3(head);
i=getchar();
printf("已经排好顺序了,按ENTER键返回主菜单n");
i=getchar();
break;
case '6':Sort4(head);
i=getchar();
printf("已经排好顺序了,按ENTER键返回主菜单n");
i=getchar();
Print(head);
break;
case '7':head=Huanyuan(head);
i=getchar();
printf("您已经成功还原,按ENTER键返回主菜单n");
i=getchar();
break;
case '8':Deletememory(head);
exit(0);
default:printf("input error!");
break;
}}
}}
char Menu1(void)/教师菜单/
{char ch;
printf("%5t教师菜单n");
printf("创名校 做名师 育名人n");
printf("%5t1、增添n");
printf("%5t2、列表显示n");
printf("%5t3、删除n");
printf("%5t4、修改n");
printf("%5t5、查询n");
printf("%5t6、以总分降序排列n");
printf("%5t7、以总分升序排列n");
printf("%5t8、以学号降序排列n");
printf("%5t9、以学号升序排列n");
printf("%5tA、备份文件n");
printf("%5tB、还原文件n");
printf("%5tC、退出n");
printf("please enter your cho:n");
scanf(" %c",&ch);
return ch;
}char Menu2(void)/学生菜单/
{char ch;
printf("%5t学生菜单n");
printf("规格严格 功夫到家n");
printf("%5t1、列表显示n");
printf("%5t2、查询n");
printf("%5t3、以总分降序排列n");
printf("%5t4、以总分升序排列n");
printf("%5t5、以学号降序排列n");
printf("%5t6、以学号升序排列n");
printf("%5t7、还原文件n");
printf("%5t8、退出n");
printf("please enter your cho:n");
scanf(" %c",&ch);
return ch;
}struct Link Append(struct Link head)/增添的函数/
{char c;
do{
("cls");
("color 1f");
struct Link p=NULL;
struct Link pr=head;
p=(struct Link)malloc(sizeof(struct Link));
if(p==NULL)
{printf("没有足够内存,返回主菜单n");
break;
}if(head==NULL)
{head=p;
}else
{while(pr->next!=NULL)
{pr=pr->next;
}pr->next=p;
}pr=p;
printf("请输入学号n");
scanf("%d",&p->number);
printf("请输入姓名n");
scanf("%s",p->name);
printf("请输入性别n");
scanf("%s",p->);
printf("请输入语文成绩(0——150)n");
do{
scanf("%d",&p->chinese);
if((p->chinese)chinese)>150)
printf("输入分数有误,请重新输入n");
}while((p->chinese)chinese)>150);
printf("请输入数学(0——150)n");
scanf("%d",&p->math);
printf("请输入理科综合成绩(0——300)n");
scanf("%d",&p->lizong);
printf("请输入英语成绩(0——150)n");
scanf("%d",&p->english);
p->sum=(p->chinese)+(p->math)+(p->lizong)+(p->english);
p->erage=(float)(p->sum)/4;
pr->next=NULL;
printf("nnew nodes he been append!n");
printf("n是否想新增加一个新成员?(Y/N)n");
scanf(" %c",&c);
}while(c=='Y'||c=='y');
return head;
}void Print(struct Linkhead)/列表显示的函数/
{if(head==NULL)
{char i=getchar();
printf("无内容,无法显示,按ENTER键返回菜单n");
i=getchar();
("cls");
}else{
printf("学号 姓名 性别 语文 数学 理科综合 英语 总分 平均分n");
struct Linkp=head;
while(p!=NULL)
{printf("n%d %s %s %d",p->number,p->name,p->,p->chinese);
printf(" %d %d %d %d %.2f",p->math,p->lizong,p->english,p->sum,p->erage);
p=p->next;
}char i=getchar();
printf("n按ENTER键返回主菜单n");
i=getchar();
("cls");
}}
struct Link Delete(struct Link head)/删除的函数/
{if(head==NULL)
{char i=getchar();
printf("链表为空,没有要删除对象,按ENTER键返回主菜单n");
i=getchar();
("cls");
}else{
int c;
char ch;
do{
if(head==NULL)
{char i=getchar();
printf("链表为空,没有要删除对象,按ENTER键返回主菜单n");
i=getchar();
("cls");
break;
}printf("请输入要删除的学号n");
scanf("%d",&c);
struct Link p=head,pr=head;
while(c!=p->number&&p->next!=NULL)
{pr=p;
p=p->next;
}if(c==p->number)
{if(p==head)
{head=p->next;
}else
{pr->next=p->next;
}free(p);
printf("您已经成功删除");
}else printf("没有找到!");
printf("n想继续吗?(Y/N)");
scanf(" %c",&ch);
}while(ch=='Y'||ch=='y');
("cls");
}return head;
}struct Link Change(struct Link head)/修改的函数/
{int c;
char ch;
do{
if(head==NULL)
{printf("链表为空,没有要删除对象n");
break;
}printf("请输入要修改的学号n");
scanf("%d",&c);
struct Link p=head;
while(c!=p->number&&p!=NULL)
{p=p->next;
}if(c==p->number)
{printf("请输入改后学号n");
scanf("%d",&p->number);
printf("请输入改后姓名n");
scanf("%s",p->name);
printf("请输入改后性别n");
scanf("%s",p->);
printf("请输入改后语文成绩n");
scanf("%d",&p->chinese);
printf("请输入改后数学n");
scanf("%d",&p->math);
printf("请输入改后理科综合成绩n");
scanf("%d",&p->lizong);
printf("请输入改后英语成绩n");
scanf("%d",&p->english);
p->sum=(p->chinese)+(p->math)+(p->lizong)+(p->english);
p->erage=(float)(p->sum)/4;
printf("您已经成功修改n");
}else printf("没找到!n");
printf("想继续修改吗?(Y/N)");
scanf(" %c",&ch);
}while(ch=='Y'||ch=='y');
return head;
}void Find(struct Linkhead)/查找的函数/
{int c;
char ch;
struct Linkp=head;
do{
printf("请输入想要查询的学号:n");
scanf("%d",&c);
if(head==NULL)
{printf("链表为空,没有查询对象n");
break;
}while(c!=p->number&&p!=NULL)
{p=p->next;
}if(c==p->number)
{printf("学号 姓名 性别 语文 数学 理科综合 英语 总分 平均分n");
printf("n%d %s %s %d",p->number,p->name,p->,p->chinese);
printf(" %d %d %d %d %.2f",p->math,p->lizong,p->english,p->sum,p->erage);
}else printf("您的输入有误,暂时没有此学号的学生,请查证后再查询n");
printf("想继续查询吗?(Y/N)n");
scanf(" %c",&ch);
}while(ch=='Y'||ch=='y');
}void Picture(void)/超豪华界面,后来发现可以比这更简单,但已经做完了,就没有修改/
{printf ("hello world");
}void Sort1(struct Linkhead)/排序函数1/
{struct Linkp;
int flag=0;
char temp1[20];
int temp2;
do
{if(head==NULL)
{char i=getchar();
printf("链表为空,按ENTER键返回菜单n");
i=getchar();
break;
}flag=0;
p=head;
while(p->next!=NULL)
{if((p->sum)next->sum))/只交换内容/
{temp2=(p->next->sum);//sum
(p->next->sum)=(p->sum);
(p->sum)=temp2;
strcpy(temp1,(p->next->name));//name
strcpy((p->next->name),(p->name));
strcpy((p->name),temp1);
strcpy(temp1,(p->next->));//
strcpy((p->next->),(p->));
strcpy((p->),temp1);
temp2=(p->next->chinese);
(p->next->chinese)=(p->chinese);
(p->chinese)=temp2;
temp2=(p->next->math);
(p->next->math)=(p->math);
(p->math)=temp2;
temp2=(p->next->lizong);
(p->next->lizong)=(p->lizong);
(p->lizong)=temp2;
temp2=(p->next->english);
(p->next->english)=(p->english);
(p->english)=temp2;
temp2=(p->next->erage);
(p->next->erage)=(p->erage);
(p->erage)=temp2;
flag=1;
}p=p->next;
}}while(flag);
}void Sort2(struct Linkhead)/排序函数2/
{struct Linkp;
int flag=0;
char temp1[20];
int temp2;
do
{if(head==NULL)
{char i=getchar();
printf("链表为空,按ENTER键返回菜单n");
i=getchar();
break;
}flag=0;
p=head;
while(p->next!=NULL)
{if((p->sum)>(p->next->sum))/只交换内容/
{temp2=(p->next->sum);//sum
(p->next->sum)=(p->sum);
(p->sum)=temp2;
strcpy(temp1,(p->next->name));//name
strcpy((p->next->name),(p->name));
strcpy((p->name),temp1);
strcpy(temp1,(p->next->));//
strcpy((p->next->),(p->));
strcpy((p->),temp1);
temp2=(p->next->chinese);
(p->next->chinese)=(p->chinese);
(p->chinese)=temp2;
temp2=(p->next->math);
(p->next->math)=(p->math);
(p->math)=temp2;
temp2=(p->next->lizong);
(p->next->lizong)=(p->lizong);
(p->lizong)=temp2;
temp2=(p->next->english);
(p->next->english)=(p->english);
(p->english)=temp2;
temp2=(p->next->erage);
(p->next->erage)=(p->erage);
(p->erage)=temp2;
flag=1;
}p=p->next;
}}while(flag);
}void Sort3(struct Linkhead)/排序函数3/
{struct Linkp;
int flag=0;
char temp1[20];
int temp2;
do
{if(head==NULL)
{char i=getchar();
printf("链表为空,按ENTER键返回菜单n");
i=getchar();
break;
}flag=0;
p=head;
while(p->next!=NULL)
{if((p->number)next->number))/只交换内容/
{temp2=(p->next->sum);//sum
(p->next->sum)=(p->sum);
(p->sum)=temp2;
strcpy(temp1,(p->next->name));//name
strcpy((p->next->name),(p->name));
strcpy((p->name),temp1);
strcpy(temp1,(p->next->));//
strcpy((p->next->),(p->));
strcpy((p->),temp1);
temp2=(p->next->chinese);
(p->next->chinese)=(p->chinese);
(p->chinese)=temp2;
temp2=(p->next->math);
(p->next->math)=(p->math);
(p->math)=temp2;
temp2=(p->next->lizong);
(p->next->lizong)=(p->lizong);
(p->lizong)=temp2;
temp2=(p->next->english);
(p->next->english)=(p->english);
(p->english)=temp2;
temp2=(p->next->erage);
(p->next->erage)=(p->erage);
(p->erage)=temp2;
flag=1;
}p=p->next;
}}while(flag);
}void Sort4(struct Linkhead)/排序函数4/
{struct Linkp;
int flag=0;
char temp1[20];
int temp2;
do
{if(head==NULL)
{char i=getchar();
printf("链表为空,按ENTER键返回菜单n");
i=getchar();
break;
}flag=0;
p=head;
while(p->next!=NULL)
{if((p->number)>(p->next->number))/只交换内容/
{temp2=(p->next->sum);//sum
(p->next->sum)=(p->sum);
(p->sum)=temp2;
strcpy(temp1,(p->next->name));//name
strcpy((p->next->name),(p->name));
strcpy((p->name),temp1);
strcpy(temp1,(p->next->));//
strcpy((p->next->),(p->));
strcpy((p->),temp1);
temp2=(p->next->chinese);
(p->next->chinese)=(p->chinese);
(p->chinese)=temp2;
temp2=(p->next->math);
(p->next->math)=(p->math);
(p->math)=temp2;
temp2=(p->next->lizong);
(p->next->lizong)=(p->lizong);
(p->lizong)=temp2;
temp2=(p->next->english);
(p->next->english)=(p->english);
(p->english)=temp2;
temp2=(p->next->erage);
(p->next->erage)=(p->erage);
(p->erage)=temp2;
flag=1;
}p=p->next;
}}while(flag);
}void Deletememory(struct Link head)/清楚内存/
{struct Linkp=head,pr=NULL;
while(p!=NULL)
{pr=p;
p=p->next;
free(pr);
}}
void Beifen(struct Linkhead)/仿照数据库的思路,用备份和还原的方法解决文件问题/
{FILEfp;
struct Linkp=head;
int x=0;
fp=fopen(file,"w+");
if(fp==NULL)
{printf("Can't open %s filen",file);
exit(1);
}x=Total(head);
fputc(x,fp);
while(p!=NULL)
{fwrite(p,sizeof(struct Link),1,fp);
p=p->next;
}printf("您已经成功备份,按ENTER键退出系统n");
fclose(fp);
}struct LinkHuanyuan(struct Linkhead)/还原文件/
{int m=1,n;
FILEfp;
fp=fopen(file,"r+");
if(fp==NULL)
{printf("Can't open %s filen",file);
//exit(1);
}struct Linkp=NULL;
struct Linkpr=NULL;
n=fgetc(fp);
pr=(struct Link)malloc(sizeof(struct Link));
fread(pr,sizeof(struct Link),1,fp);
head=pr;
while(m<=n)
{p=(struct Link)malloc(sizeof(struct Link));
fread(p,sizeof(struct Link),1,fp);
pr->next=p;
pr=p;
pr->next=NULL;
m=m+1;
}return head;
}int Total(struct Linkhead)/计算输入的学生总数,在还原函数中要用到/
{struct Linkp=head;
int n=-1;
while(p!=NULL)
{n++;
p=p->next;
}return n;
}
VLOOKUP
=VLOOKUP(A1,工作表2!A:B,2,0)
VLOOKUP(查找值,区域,列序号,逻辑值)
vlookup函数可以
首先,数据可以批量导入到系统中,进行分析汇总;
然后对其设置一个公开查询,编辑查询条件,可以是姓名或者电话,作为查询条件,
这样就可以 通过扫码输入姓名去查询,对应满足条件的数据了。
excel中按照姓名自动匹配数据,可以按照以下步骤进行作:
2、然后选择需要匹配的姓名字段。
3、英文逗号隔开后,选择要匹配的数据范围。
4、英文逗号隔开,输入数据范围中需要匹配提取的数据所在的列数。
5、然后选择匹配。
6、按回车键后,就可以自动按姓名自动匹配对应的数据。
7、通过下拉,可以匹配各个姓名对应的数据,没有对应数据的会显示为 #N/A,就完成了。
#include#includeusingnamespacestd;structrecord{stringname,num,,QQ,add,;intyear,month,day;}a[2000];voidinput()//添加学生的基本信息。intk=0;while(a[k].name!="")k++;cout>a[k].name;cout>a[k].;cout<<"请输入新学生的学号:";
我用Access,可以打到jar包中运行,连接还方便。
要么用XML,也可以。
要么将每条信息写成一个类,并且序列化,通过ObjectOutputStream一个个写到文件中,用时再取出来。
你是学J2ME吧!先创立新文件,再写入数据,以姓名.后缀 为文件名,查找的时候用file对象读入file.保存write或se对象
只是一个检索的问题,首先确定数据结构,采用排序List或者Hashtable都可以。随便看一下API就知道了。
您去这看看,这样的问题都有详细的解决方法,他们的ja教程讲解的比较全,你可以去学习下,希望对你有帮助
高考姓名代码的查询方法:
打开百度浏览器进行搜索。
步:把要查的名字输入百度搜索引擎的“框内",比如输入“小明”两个字,点击搜索,则显示如下图所示:这时可以看到最上面百度的地址栏里出现了一串英文字。
第二步:放大步的搜索后的,如下显示,红框内显示的一串字符即为小明二字的代码缩写:
第三步:再放大第二步的图示,找出个%到&之间的英文字,即%E5%B0%8F%E6%98%8E& , 然后去掉%、数字和&,就是"EBFEE",这个就是要查的“小明”的代码了。
高考姓名代码一般采用GBK内码孙CBEF久BEC3娇BDBF————GBK内码GBK内码带有ABCDEF六个字母,分别代表六个数字10、11、12、13、14、15。既A—10、B—11、C—12、D—13、E—14、F—15。GBK内码填涂方法:0不涂、1涂【1】、2涂【2】、3涂【1】【2】、4涂【4】、5涂【1】【4】、6涂【2】【4】、7涂【1】【2】【4】、8涂【8】、9涂【1】【8】、A填涂【2】【8】、B填涂【1】【2】【8】、C填涂【4】【8】、D填涂【1】【4】【8】、E填涂【2】【4】【8】、F填涂【1】【2】【4】【8】。高考姓名代码怎么查啊?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 836084111@qq.com 举报,一经查实,本站将立刻删除。