学生信息管理系统C++.docx

上传人:b****2 文档编号:3043111 上传时间:2023-05-05 格式:DOCX 页数:27 大小:74.75KB
下载 相关 举报
学生信息管理系统C++.docx_第1页
第1页 / 共27页
学生信息管理系统C++.docx_第2页
第2页 / 共27页
学生信息管理系统C++.docx_第3页
第3页 / 共27页
学生信息管理系统C++.docx_第4页
第4页 / 共27页
学生信息管理系统C++.docx_第5页
第5页 / 共27页
学生信息管理系统C++.docx_第6页
第6页 / 共27页
学生信息管理系统C++.docx_第7页
第7页 / 共27页
学生信息管理系统C++.docx_第8页
第8页 / 共27页
学生信息管理系统C++.docx_第9页
第9页 / 共27页
学生信息管理系统C++.docx_第10页
第10页 / 共27页
学生信息管理系统C++.docx_第11页
第11页 / 共27页
学生信息管理系统C++.docx_第12页
第12页 / 共27页
学生信息管理系统C++.docx_第13页
第13页 / 共27页
学生信息管理系统C++.docx_第14页
第14页 / 共27页
学生信息管理系统C++.docx_第15页
第15页 / 共27页
学生信息管理系统C++.docx_第16页
第16页 / 共27页
学生信息管理系统C++.docx_第17页
第17页 / 共27页
学生信息管理系统C++.docx_第18页
第18页 / 共27页
学生信息管理系统C++.docx_第19页
第19页 / 共27页
学生信息管理系统C++.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生信息管理系统C++.docx

《学生信息管理系统C++.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C++.docx(27页珍藏版)》请在冰点文库上搜索。

学生信息管理系统C++.docx

学生信息管理系统C++

【学生成绩管理】

  实现功能:

输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。

能实现对学生信息的简单管理。

具体要求:

建立一个4个学生的信息登记表,每个学生的信息包括:

学号,姓名,和3门课程的成绩(FOX,C,ENGLISH)。

 程序运行时显示一个简单的菜单,例如:

  

(1):

信息输入(INPUT)

  

(2):

总分统计(COUNT)

  (3):

总分排序(SORT)

  (4):

查询(QUERY)

    其中:

    

(1):

对4个学生的信息进行输入;

    

(2):

对每个学生的3门课程统计总分;

     (3):

对4个学生的总分按降序排序并显示出来;

     (4):

查询输入一个学号后,显示出该学生的有关信息;

用的大一做的系统,由保存数据结构的object.cpp主函数main.cpp方法头文件use.h组成

Use.h

#ifndefUSE_H_INCLUDED

#defineUSE_H_INCLUDED

 

#endif//USE_H_INCLUDED

#include

#include

voidMeau()

{

printf("-------欢迎使用学生信息管理系统-------\n--------------------------------------\n输入指令完成命令:

\n1.打印信息\n2.插入新信息\n3.删除学生信息\n4.查找学生\n5.更改学生信息\n6.排序显示学生信息\n7.文件另存为\ne.保存并退出\n--------------------------------------\n请输入指令\n");

}

voidZhuangBSave()

{

intT=2;

while(T--)

{

system("cls");

Meau();

Sleep(500);

printf("Saveing.\r");

Sleep(500);

printf("Saveing..\r");

Sleep(500);

printf("Saveing...\r");

Sleep(500);

printf("Saveing....\r");

Sleep(500);

printf("Saveing.....\r");

}

}

voidZhuangBExit()

{

intc=6;

while(c--)

{

printf("Saved!

Andheprogramwillbeclosein%dsecond.\r",c);

Sleep(1000);

}

}

Object.h

#include

#include

#include

#include

structscore

{

longlongnum;

chara[10];

intch;

intma;

inten;

intc;

intph;

intsum;

structscore*next;

};

voidswap(score*p1,score*p2)

{

intt;

t=p1->num;

p1->num=p2->num;

p2->num=t;

t=p1->ch;

p1->ch=p2->ch;

p2->ch=t;

t=p1->ma;

p1->ma=p2->ma;

p2->ma=t;

t=p1->en;

p1->en=p2->en;

p2->en=t;

t=p1->c;

p1->c=p2->c;

p2->c=t;

t=p1->ph;

p1->ph=p2->ph;

p2->ph=t;

charc[10];

strcpy(c,p1->a);

strcpy(p1->a,p2->a);

strcpy(p2->a,c);

}

boolcmp0(score*p1,score*p2)

{

returnp1->numnum;

}

boolcmp01(score*p1,score*p2)

{

if(p1->ch==p2->ch)

returnp1->numnum;

returnp1->chch;

}

boolcmp11(score*p1,score*p2)

{

if(p1->ch==p2->ch)

returnp1->numnum;

returnp1->ch>p2->ch;

}

boolcmp02(score*p1,score*p2)

{

if(p1->ma==p2->ma)

returnp1->numnum;

returnp1->mama;

}

boolcmp12(score*p1,score*p2)

{

if(p1->ma==p2->ma)

returnp1->numnum;

returnp1->ma>p2->ma;

}

boolcmp03(score*p1,score*p2)

{

if(p1->en==p2->en)

returnp1->numnum;

returnp1->enen;

}

boolcmp13(score*p1,score*p2)

{

if(p1->en==p2->en)

returnp1->numnum;

returnp1->en>p2->en;

}

boolcmp04(score*p1,score*p2)

{

if(p1->c==p2->c)

returnp1->numnum;

returnp1->cc;

}

boolcmp14(score*p1,score*p2)

{

if(p1->c==p2->c)

returnp1->numnum;

returnp1->c>p2->c;

}

boolcmp05(score*p1,score*p2)

{

if(p1->ph==p2->ph)

returnp1->numnum;

returnp1->phph;

}

boolcmp15(score*p1,score*p2)

{

if(p1->ph==p2->ph)

returnp1->numnum;

returnp1->ph>p2->ph;

}

boolcmp06(score*p1,score*p2)

{

if(p1->sum==p2->sum)

returnp1->numnum;

returnp1->sumsum;

}

boolcmp16(score*p1,score*p2)

{

if(p1->sum==p2->sum)

returnp1->numnum;

returnp1->sum>p2->sum;

}

boolcmp07(score*p1,score*p2)

{

if(strcmp(p1->a,p2->a)==1)

return1;

else

return0;

}

boolcmp17(score*p1,score*p2)

{

if(strcmp(p1->a,p2->a)==1)

return0;

else

return1;

}

voidScoreSort(structscore*head,bool(*cmp)(score*p1,score*p2))

{

structscore*p1,*p2;

for(p1=head;p1!

=NULL;p1=p1->next)

for(p2=p1->next;p2!

=NULL;p2=p2->next)

{

if((*cmp)(p1,p2))

{

swap(p1,p2);

}

}

}

voidScorePri(structscore*head)

{

//intc=0;

//system("cls");

printf("=================================================\n");

structscore*pri;

pri=head;

while(pri!

=NULL)

{

//printf("test%d\n",c++);

printf("学号:

%I64d姓名:

%s\n语文:

%d数学:

%d英语:

%d\nc语言:

%d物理:

%d\n总成绩:

%d平均成绩:

%.2lf\n=================================================\n",pri->num,pri->a,pri->ch,pri->ma,pri->en,pri->c,pri->ph,pri->sum,pri->sum/5.0);

pri=pri->next;

}

printf("End\n");

}

structscore*ScoreIns(structscore*head)

{

structscore*p1,*p2,*newl;

newl=(score*)malloc(sizeof(score));

printf("请依次输入学号,语文,数学,英语,c语言,物理成绩\n");

scanf("%I64d%d%d%d%d%d",&newl->num,&newl->ch,&newl->ma,&newl->en,&newl->c,&newl->ph);

newl->sum=newl->ch+newl->ma+newl->en+newl->c+newl->ph;

printf("输入学生姓名\n");

scanf("%s",newl->a);

if(head==NULL)

{

head=newl;

newl->next=NULL;

returnhead;

}

p1=head;

p2=p1->next;

if(newl->numnum)

{

newl->next=head;

returnnewl;

}

while(p2!

=NULL)

{

if(newl->num>p1->num&&newl->numnum)

{

newl->next=p2;

p1->next=newl;

break;

}

p1=p2;

p2=p1->next;

}

if(p2==NULL)

{

p1->next=newl;

newl->next=NULL;

}

returnhead;

}

voidZhuangBDel()

{

Sleep(500);

printf("删除中.\r");

Sleep(500);

printf("删除中..\r");

Sleep(500);

printf("删除中...\r");

Sleep(500);

printf("删除中....\r");

Sleep(500);

printf("删除中.....\r");

Sleep(500);

printf("已删除!

\n");

}

structscore*ScoreDel(structscore*head)

{

structscore*p1,*p2,*h;

longlongn=0;

intflag,flag1=0;

intord;

charn1[100],s[2];

flag=0;

printf("输入1学号查询,输入2姓名查询\n");

scanf("%d",&ord);

if(ord==1)

{

printf("请输入学号\n");

scanf("%I64d",&n);

}

elseif(ord==2)

{

printf("请输入姓名\n");

scanf("%s",n1);

}

else

{

printf("Illegalinput\n");

returnhead;

}

if(ord==1)

{

printf("您要删除的学生学号为%I64d,是否删除?

(Y/N)",n);

scanf("%s",s);

if(strcmp(s,"Y")!

=0)

returnhead;

}

if(ord==2)

{

printf("您要删除的学生姓名为%s,是否删除?

(Y/N)",n1);

scanf("%s",s);

if(strcmp(s,"Y")!

=0)

returnhead;

}

p1=head;

p2=p1->next;

if((ord==1&&p1->num==n)||(ord==2&&strcmp(p1->a,n1)==0))

{

h=p1->next;

free(p1);

flag=1;

ZhuangBDel();

returnh;

}

else

{

if(p1->next==NULL)flag1=0;

while(flag1!

=0&&p2->next!

=NULL)

{

if((ord==1&&p1->num==n)||(ord==2&&strcmp(p2->a,n1)==0))

{

p1->next=p2->next;

free(p2);

flag=1;

}

p1=p2;

p2=p1->next;

}

if(flag1!

=0&&p2->next==NULL)

{

if((ord==1&&p1->num==n)||(ord==2&&strcmp(p2->a,n1)==0))

{

p1->next=NULL;

free(p2);

flag=1;

}

}

}

if(flag==0||flag1==1)

printf("Error:

NotFound!

\n");

else

ZhuangBDel();

returnhead;

}

voidScoreSearch(structscore*head)

{

structscore*p1;

longlongn;

intflag;

flag=0;

printf("输入需要查找的学号\n");

scanf("%I64d",&n);

for(p1=head;p1!

=NULL;p1=p1->next)

{

if(p1->num==n)

{

printf("姓名:

%s\n语文成绩:

%d\n数学成绩:

%d\n英语成绩:

%d\nC语言成绩:

%d\n物理成绩:

%d\n总成绩:

%d\n平均成绩:

%.2lf\n",p1->a,p1->ch,p1->ma,p1->en,p1->c,p1->ph,p1->sum,p1->sum/5.0);

flag=1;

}

}

if(flag==0)

printf("Error:

NotFound!

\n");

}

voidScoreChange(structscore*head)

{

longlongm;

intn,a;

charb[100];

structscore*p1;

printf("请输入需要修改信息的学号\n");

scanf("%I64d",&m);

for(p1=head;p1!

=NULL;p1=p1->next)

{

if(p1->num==m)break;

}

if(p1==NULL)

{

printf("NotFound!

\n");

return;

}

printf("输入1修改语文成绩\n输入2修改数学成绩\n输入3修改英语成绩\n输入4修改c语言成绩\n输入5修改物理成绩\n输入6修改姓名\n");

scanf("%d",&a);

if(a==1)

{

printf("该成员语文成绩为%d,请输入修改值\n",p1->ch);

scanf("%d",&n);

p1->ch=n;

printf("修改成功!

\n");

}

elseif(a==2)

{

printf("该成员数学成绩为%d,请输入修改值\n",p1->ma);

scanf("%d",&n);

p1->ma=n;

printf("修改成功!

\n");

}

elseif(a==3)

{

printf("该成员英语成绩为%d,请输入修改值\n",p1->en);

scanf("%d",&n);

p1->en=n;

printf("修改成功!

\n");

}

elseif(a==4)

{

printf("该成员C语言成绩为%d,请输入修改值\n",p1->c);

scanf("%d",&n);

p1->c=n;

printf("修改成功!

\n");

}

elseif(a==5)

{

printf("该成员物理成绩为%d,请输入修改值\n",p1->ph);

scanf("%d",&n);

p1->ph=n;

printf("修改成功!

\n");

}

elseif(a==6)

{

printf("该成员姓名为%s,请输入修改值\n",p1->a);

scanf("%s",b);

strcpy(p1->a,b);

printf("修改成功!

\n");

}

else

printf("输入错误,退出修改\n");

}

voidScoreView(structscore*head)

{

inta,b;

//bool*cmp(score*p1,score*p2);

printf("输入1按语文成绩排列\n输入2按数学成绩排列\n输入3按英语成绩排列\n输入4按C语言成绩排列\n输入5按物理成绩排列\n输入6按总成绩排列\n输入7按名字排列\n");

scanf("%d",&a);

printf("输入0升序排列,输入1降序排列\n");

scanf("%d",&b);

if(a==1&&b==0)

ScoreSort(head,&cmp01);

if(a==1&&b==1)

ScoreSort(head,cmp11);

if(a==2&&b==0)

ScoreSort(head,cmp02);

if(a==2&&b==1)

ScoreSort(head,cmp12);

if(a==3&&b==0)

ScoreSort(head,cmp03);

if(a==3&&b==1)

ScoreSort(head,cmp13);

if(a==4&&b==0)

ScoreSort(head,cmp04);

if(a==4&&b==1)

ScoreSort(head,cmp14);

if(a==5&&b==0)

ScoreSort(head,cmp05);

if(a==6&&b==0)

ScoreSort(head,cmp06);

if(a==6&&b==1)

ScoreSort(head,cmp16);

if(a==7&&b==0)

ScoreSort(head,cmp07);

if(a==7&&b==1)

ScoreSort(head,cmp17);

ScorePri(head);

ScoreSort(head,cmp0);

}

voidSave(score*head,chara[])

{

FILE*fp;

score*pri=head;

fp=fopen(a,"w");

while(pri!

=NULL)

{

fprintf(fp,"%I64d%d%d%d%d%d",pri->num,pri->ch,pri->ma,pri->en,pri->c,pri->ph);

fprintf(fp,"%s",pri->a);

pri=pri->next;

}

return;

}

voidNSave(score*head)

{

chara[100],b[100],c[]="/",d[]=".txt";

printf("输入另存为的地址\n");

scanf("%s",a);

printf("输入文件名称\n");

scanf("%s",b);

strcat(a,c);

strcat(a,b);

strcat(a,d);

Save(head,a);

return;

}

structscore*Load(score*head)

{

//intc=0;

FILE*fp;

fp=fopen("E:

\\data.txt","r");

if(fp==NULL)

{

//printf("Nodata\n");

returnNULL;

}

freopen("E:

\\data.txt","r",stdin);

score*newl,*p1,*p2;

newl=(score*)malloc(sizeof(score));

while(scanf("%I64d%d%d%d%d%d",&newl->num,&newl->ch,&newl->ma,&newl->en,&newl->c,&newl->ph)!

=EOF)

{

//printf("test%d\n",c++);

newl->sum=newl->ch+newl->ma+newl->en+newl->c+newl->ph;

scanf("%s",newl->a);

if(head==NULL)

{

head=newl;

newl->next=NULL;

}

p1=head;

p2=p1->next;

if(newl->numnum)

{

newl->next=head;

head=newl;

}

while(p2!

=NULL)

{

if(newl->num>p1->num&&newl->numnum)

{

newl->next=p2;

p1->next=newl;

}

p1=p2;

p2=p1->next;

}

if(p2==NULL)

{

p1->next=newl;

newl->next=NULL;

}

newl=(score*)malloc(sizeof(sc

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2