易语言学生管理系统
答案:2 悬赏:60
解决时间 2021-03-14 22:38
- 提问者网友:先森请一心
- 2021-03-14 17:03
我要做一个易语言学生管理系统 有一个注册和登陆界面 怎么把注册的信息和登陆连接起来 就是我在注册界面注册一个账号和密码 如何才能在登陆界面通过验证并进行登陆 答案请详细点 如果有材料更好了
最佳答案
- 二级知识专家网友:一场云烟
- 2021-03-14 18:08
你注册用的数据库和登录用的要用同一个!
全部回答
- 1楼网友:气场征服一切
- 2021-03-14 18:41
c 语言学生成绩管理系统
#include
#include
#include
#include
typedef struct student
{
char studentnumber[20];
char studentname[20];
char classname[20];
float mark1;
float mark2;
float mark3;
struct student *next;
}student;
student *headlink;
void readinfoformfile();
void menu();
void createheadlink();
student *mallocnode();
void getinformation(student *t);
void outputinformation();
void desplayinfobystudentname();
void desplayinfobystudentnumber();
void desplayonenode(student *t);
void insertonenode(student *t);
void deletenodebystudentnumber();
void changemarkbyname();
void changemarkbynumber();
void savelinktofile();
void paixu();
void desplaymarksegment();
int choose;
main()
{
system("color 2a");
printf("\n\t\t欢迎进入***学院***班学生成绩管理系统\n\n\n");
printf("\t\t\t\to(∩_∩)o\n\n\n\n");
printf("\t\t\t^_^\t\t\t^_^\n\n");
printf("\n\t\t 注意:请按照要求输入相应信息,谢谢!\n\n\n\n\n");
printf("\t\t\t\t\t\t\t\t制作人:***\n\n\n");
printf("\t\t\t 按任意键进入…………");
getch();
system("cls");
createheadlink();
readinfoformfile();
menu();
}
void readinfoformfile(void)
{
file *fp;
student *p;
fp=fopen("student.txt","r");
if(!fp)
{
printf("\n");
return;
}
p=mallocnode();
while(fscanf(fp,"%s%s%s%f%f%f",p->studentnumber,p->studentname,p->classname,&(p->mark1),&(p->mark2),&(p->mark3))>0)
{
insertonenode(p);
p=mallocnode();
}
fclose(fp);
}
void menu(void)
{
student *p;
printf("\t\t (^o^)欢迎使用学生成绩管理系统(^o^)\n\n");
printf("\t ※--------------------请选择相应功能---------------------※\n\n");
printf("\t 1: 显示所有学生的信息 |");
printf(" \t 2: 按姓名查询 |\n\n");
printf("\t 3: 按学号查询 |");
printf(" \t\t 4: 增加学生 |\n\n");
printf("\t 5: 删除学生 |");
printf(" \t\t 6: 按姓名修改学生成绩 |\n\n");
printf("\t 7: 按学号修改学生成绩 |");
printf(" \t 8: 保存所有学生信息 |\n\n");
printf("\t 9: 按成绩输出学生信息 |");
printf("\t 10: 显示不及格及优秀学生 |\n\n");
printf("\t 11: 返回主菜单 |");
printf("\t\t 12: 退出 |\n\n");
printf("\t ※----------------------o(∩_∩)o------------------------※\n\n");
printf("\t 请输入对应数字:");
scanf("%d",&choose);
switch(choose)
{
case 1:system("cls");
outputinformation();
break;
case 2: system("cls");
desplayinfobystudentname();
break;
case 3: system("cls");
desplayinfobystudentnumber();
break;
case 4: system("cls");
p=mallocnode();
getinformation(p);
insertonenode(p);
break;
case 5: system("cls");
deletenodebystudentnumber();
break;
case 6: system("cls");
changemarkbyname();
break;
case 7: system("cls");
changemarkbynumber();
break;
case 8: system("cls");
savelinktofile();
break;
case 9: system("cls");
paixu();break;
case 10: system("cls");
desplaymarksegment();break;
case 11: system("cls");
break;
case 12: system("cls");
savelinktofile();
free(headlink);
exit(1);
break;
default: system("cls"); break;
}
menu();
}
void createheadlink(void)
{
student *p;
p=(student*)malloc(sizeof(student));
headlink=p;
p->next=null;
}
student *mallocnode(void)
{
student *p;
int i;
p=(student*)malloc(sizeof(student));
if(p==null)
return null;
for(i=0;i<10;i++)
p->studentnumber='\0';
for(i=0;i<20;i++)
p->studentname='\0';
for(i=0;i<20;i++)
p->classname='\0';
p->mark1=0.0;
p->mark2=0.0;
p->mark3=0.0;
p->next=null;
return p;
}
void getinformation(student *t)
{
printf("请输入学生学号:");
scanf("%s",t->studentnumber);
printf("请输入学生姓名:");
scanf("%s",t->studentname);
printf("请输入该生所在班级:");
scanf("%s",t->classname);
printf("请输入第1门成绩:");
scanf("%f",&(t->mark1));
printf("请输入第2门成绩:");
scanf("%f",&(t->mark2));
printf("请输入第3门成绩:");
scanf("%f",&(t->mark3));
}
void insertonenode(student *t)
{
student *p;
p=headlink;
while(p->next)
{
p=p->next;
}
p->next=t;
}
void desplayinfobystudentname(void)
{
student *p;
char studentname[20];
char flag=0;
p=headlink->next;
printf("请输入学生姓名:");
scanf("%s",studentname);
while(p)
{
if(strcmp(p->studentname,studentname)==0)
{system("cls");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n");
desplayonenode(p);
flag=1;
break;
}
p=p->next;
}
if(!flag) {system("cls");
printf("\t 对不起,不存在姓名为 %s 的学生\n",studentname);}
}
void desplayinfobystudentnumber(void)
{
student *p;
char studentnumber[20];
char flag=0;
p=headlink->next;
printf("请输入学生学号:");
scanf("%s",studentnumber);
while(p)
{
if(strcmp(p->studentnumber,studentnumber)==0)
{ system("cls");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n");
desplayonenode(p);
flag=1;
break;
}
p=p->next;
}
if(!flag) {system("cls");
printf("\t 对不起,不存在学号为 %s 的学生\n",studentnumber);
}}
void desplayonenode(student *t)
{
printf("\t%s\t",t->studentnumber);
printf("%s\t",t->studentname);
printf("%s\t",t->classname);
printf("%.2f\t",t->mark1);
printf("%.2f\t",t->mark2);
printf("%.2f\t",t->mark3);
printf("%.2f\t",t->mark1+t->mark2+t->mark3);
printf("%.2f\t\n",(t->mark1+t->mark2+t->mark3)/3);
}
void deletenodebystudentnumber(void)
{
char studentnumber[10];
student *p,*q;
char flag=0;
printf("请输入要删除的学生学号:");
scanf("%s",studentnumber);
p=headlink;
q=headlink->next;
while(q)
{
if(strcmp(q->studentnumber,studentnumber)==0)
{
p->next=q->next;
free(q);
flag=1;
break;
}
p=p->next;
q=q->next;
}
if(!flag)
{ system("cls");
printf("\t 不存在该学号的学生\n");
return;
}
system("cls");
printf("\t 成功删除\n");
}
void outputinformation(void)
{
student *p;
p=headlink->next;
if(p==null)
{
printf("\t 现在没有学生信息,请先输入学生信息\n\n");
return;
}
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n");
while(p)
{
desplayonenode(p);
p=p->next;
}
}
void changemarkbyname(void)
{
student *p;
char studentname[20];
char flag=0;
float mark1,mark2,mark3;
p=headlink->next;
printf("请输入学生姓名:");
scanf("%s",studentname);
while(p)
{
if(strcmp(p->studentname,studentname)==0)
{
printf("请输入新的第1门成绩:\n");
scanf("%f",&mark1);
printf("请输入新的第2门成绩:\n");
scanf("%f",&mark2);
printf("请输入新的第3门成绩:\n");
scanf("%f",&mark3);
p->mark1=mark1;
p->mark2=mark2;
p->mark3=mark3;
flag=1;
printf("修改成功\n");
break;
}
p=p->next;
}
if(!flag) {system("cls");
printf("\t 对不起,不存在姓名为 %s 的学生\n",studentname);
} }
void changemarkbynumber(void)
{
student *p;
char studentnumber[20];
char flag=0;
float mark1,mark2,mark3;
p=headlink->next;
printf("请输入学生学号:");
scanf("%s",studentnumber);
while(p)
{
if(strcmp(p->studentnumber,studentnumber)==0)
{
printf("请输入新的第1门成绩:\n");
scanf("%f",&mark1);
printf("请输入新的第2门成绩:\n");
scanf("%f",&mark2);
printf("请输入新的第3门成绩:\n");
scanf("%f",&mark3);
p->mark1=mark1;
p->mark2=mark2;
p->mark3=mark3;
flag=1;
printf("修改成功\n");
break;
}
p=p->next;
}
if(!flag){system("cls");
printf("\t 对不起,不存在学号为 %s 的学生\n",studentnumber);
}}
void savelinktofile(void)
{
student *p;
file *fp;
p=headlink->next;
if(p==null)
{
printf("\t 现在没有学生信息,请先输入学生信息\n\n");
return;
}
fp=fopen("student.txt","w+");
if(!fp)
{
printf("文件不存在\n");
return;
}
while(p)
{
fprintf(fp,"%s %s %s %f %f %f\n",p->studentnumber,p->studentname,p->classname,p->mark1,p->mark2,p->mark3);
p=p->next;
}
fclose(fp);
}
void desplaymarksegment(void)
{
student *p;
int count=0;
p=headlink->next;
printf("\t60分以下(不及格)的学生成绩如下:\n");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n\n");
while(p)
{
if((6>((int)(p->mark1/10)))||(6>((int)(p->mark2/10)))||(6>((int)(p->mark3/10))))
{
count++;
desplayonenode(p);
}
p=p->next;
}
printf("\t不及格的学生一共有%d人\n",count);
p=headlink->next;
printf("\t成绩优秀的学生成绩如下:\n");
printf("\t学号\t姓名\t班级\t成绩1\t成绩2\t成绩3\t总成绩\t平均成绩\n\n");
count=0;
while(p)
{
if((8<=((int)(p->mark1/10)))&&(8<=((int)(p->mark2/10)))&&(8<=((int)(p->mark3/10))))
{
count++;
desplayonenode(p);
}
p=p->next;
}
printf("\t成绩优秀的学生一共有%d人\n",count);
}
void paixu(void)
{
student exchange,*r,*p,*q;
r=headlink->next;
if(r==null)
{
printf("\t 现在还没学生信息,请先输入学生信息\n");
return;
}
while(r)
{
p=r;
q=r->next;
while(q)
{
if((q->mark1+q->mark2+q->mark3)>(p->mark1+p->mark2+p->mark3))
{
strcpy(exchange.studentnumber,q->studentnumber);
strcpy(exchange.studentname,q->studentname);
strcpy(exchange.classname,q->classname);
exchange.mark1=q->mark1;
exchange.mark2=q->mark2;
exchange.mark3=q->mark3;
strcpy(q->studentnumber,p->studentnumber);
strcpy(q->studentname,p->studentname);
strcpy(q->classname,p->classname);
q->mark1=p->mark1;
q->mark2=p->mark3;
q->mark3=p->mark3;
strcpy(p->studentnumber,exchange.studentnumber);
strcpy(p->studentname,exchange.studentname);
strcpy(p->classname,exchange.classname);
p->mark1=exchange.mark1;
p->mark2=exchange.mark2;
p->mark3=exchange.mark3;
}
q=q->next;
}
r=r->next;
}
outputinformation();
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |