第一范文网 - 专业文章范例文档资料分享平台

软件工程课程设计实验报告-学生信息管理系统

来源:用户分享 时间:2025/8/8 10:05:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

软件工程课程设计实验报告-学生信息管理系统

{

stringinput(num,10,\number(press '0'return menu):\/*格式化输入学号并检验*/

flag=0;

if(strcmp(num,\输入为0,则退出添加操作,返回主界面*/ {return;} s=l->next;

while(s) /*查询该学号就是否已经存在,若存在则要求重新输入一个未被占用的学号*/

{

if(strcmp(s->data、num,num)==0) {

flag=1; break; }

s=s->next; }

if(flag==1) /*提示用户就是否重新输入*/ {

getchar();

printf(\ scanf(\ if(ch=='y'||ch=='Y') continue; else

return; } else

{break;} }

p=(Node *)malloc(sizeof(Node)); if(!p) {

printf(\如没有申请到,打印提示信息*/ return ; }

strcpy(p->data、num,num); /*将字符串num拷贝到p->data、num中*/ stringinput(p->data、name,15,\ p->data、cgrade=numberinput(\输入并检验分数,分数必须在0-100之间*/

p->data、mgrade=numberinput(\ p->data、egrade=numberinput(\

p->data、total=p->data、egrade + p->data、cgrade + p->data、mgrade; /*计算总分*/ p->data、ave=(float)(p->data、total/3); /*计算平均分*/ p->data、mingci=0;

p->next=NULL; /*表明这就是链表的尾部结点*/

软件工程课程设计实验报告-学生信息管理系统

r->next=p; /*将新建的结点加入链表尾部中*/ r=p;

saveflag=1; /*在main()有对该全局变量的判断,若为1,则进行存盘操作*/ }

return ; }

void Qur(Link l) /*按学号或姓名,查询学生记录*/ {

int select; /*1:按学号查,2:按姓名查,其她:返回主界面(菜单)*/ char searchinput[20]; /*保存用户输入的查询内容*/ Node *p;

if(!l->next) /*若链表为空*/ {

system(\

printf(\ getchar(); return; }

system(\

printf(\ =====>1 Search by number =====>2 Search by name\\n\ printf(\ please choice[1,2]:\ scanf(\

if(select==1) /*按学号查询*/ {

stringinput(searchinput,10,\

p=Locate(l,searchinput,\在l中查找学号为searchinput值的节点,并返回节点的指针*/

if(p) /*若p!=NULL*/ {

printheader(); printdata(p); printf(END);

printf(\ getchar(); } else

Nofind(); getchar(); }

else if(select==2) /*按姓名查询*/ {

stringinput(searchinput,15,\ p=Locate(l,searchinput,\ if(p) {

printheader();

软件工程课程设计实验报告-学生信息管理系统

printdata(p); printf(END);

printf(\ getchar(); } else

Nofind(); getchar(); } else

Wrong(); getchar(); }

void Del(Link l) /*删除学生记录:先找到保存该学生记录的节点,然后删除该节点*/ {

int sel;

Node *p,*r;

char findmess[20]; if(!l->next) {

system(\

printf(\ getchar(); return; }

system(\ Disp(l);

printf(\ =====>1 Delete by number =====>2 Delete by name\\n\ printf(\ please choice[1,2]:\ scanf(\ if(sel==1) {

stringinput(findmess,10,\ p=Locate(l,findmess,\ if(p) /*p!=NULL*/ {

r=l;

while(r->next!=p) r=r->next;

r->next=p->next;/*将p所指节点从链表中去除*/ free(p); /*释放内存空间*/

printf(\ getchar(); saveflag=1; } else

软件工程课程设计实验报告-学生信息管理系统

Nofind(); getchar(); }

else if(sel==2) {

stringinput(findmess,15,\

p=Locate(l,findmess,\ /*先按姓名查询到该记录所在的节点*/ if(p) {

r=l;

while(r->next!=p) r=r->next; r->next=p->next; free(p);

printf(\ getchar(); saveflag=1; } else

Nofind(); getchar(); } else

Wrong(); getchar(); }

void Modify(Link l) /*修改学生记录。先按输入的学号查询到该记录,然后提示用户修改学号之外的值,学号不能修改*/ {

Node *p;

char findmess[20]; if(!l->next) {

system(\

printf(\ getchar(); return; }

system(\

printf(\ Disp(l);

stringinput(findmess,10,\输入并检验该学号*/ p=Locate(l,findmess,\查询到该节点*/ if(p) /*若p!=NULL,表明已经找到该节点*/ {

printf(\、num);

软件工程课程设计实验报告-学生信息管理系统

printf(\、name);

stringinput(p->data、name,15,\ printf(\、cgrade);

p->data、cgrade=numberinput(\ printf(\、mgrade);

p->data、mgrade=numberinput(\ printf(\、egrade);

p->data、egrade=numberinput(\

p->data、total = p->data、egrade + p->data、cgrade + p->data、mgrade; p->data、ave=(float)(p->data、total/3); p->data、mingci=0;

printf(\ Disp(l); saveflag=1; } else

Nofind(); getchar(); }

void Insert(Link l) /*插入记录,按学号查询到要插入的节点的位置,然后在该学号之后插入一个新节点*/ {

Link p,v,newinfo; /*p指向插入位置,newinfo指新插入记录*/

char ch,num[10],s[10]; /*s[]保存插入点位置之前的学号,num[]保存输入的新记录的学号*/

int flag=0; v=l->next; system(\ Disp(l); while(1) {

stringinput(s,10,\ after the Number:\ flag=0; v=l->next;

while(v) /*查询该学号就是否存在,flag=1表示该学号存在*/ {

if(strcmp(v->data、num,s)==0) {flag=1;break;} v=v->next; }

if(flag==1)

break; /*若学号存在,则进行插入之前的新记录的输入操作*/ else {

getchar();

printf(\ scanf(\

软件工程课程设计实验报告-学生信息管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0xnak4ef2y35m4y31ezc5v45r56fh1008xt_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top