个人成绩系统函数流程图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开始
声明两个结构体指针变量head, lnew 和长整的
del_num
开始for 循环for(;;)
swich(menubar())
menubar()=0
?
menubar()=1
?
menubar()=2
?
menubar()=3
?
menubar()=4
?退出
执行creat()函数
break;
执行打印print()函数
break;
请输入要插入的结点的信息,先输入学号
输入你想删除的结点的
学号
如果输入的学号lnew->num!=0
输入的学号进行判断
del_num!=0
break;
开始while 循环lnew->num!=0
break;
再输入电话,地址,邮
编
执行del()函数
head=del(head,del_num);
执行insert()函数head=insert(head,lnew);
判断输入的学号lnew->num!=0
再输入电话、地址、邮
编
N
Y
Y
N
N
N
N
Y
Y
Y
Y
N Y
N
Y
N
Y
N
输出“谢谢您使用”并先执行getch()函数再执行exit(0)函数退出for
循环
结束
N
Y
主函数main()的流程图
开始
1=> n 并开辟一个长度为LEN 的内存空间并输入第一位同学的学号
对刚输入的学号进行判断
p1->num!=0
head 进行初始化NULL=>head;
再输入此同学的电话、地址、邮编
开始while 循环p1->num!=0
?
p2->next=NULL;
return head;
n=n+1;
n==1
p2->next=p1;
p2=p1;
判断下一个输入的学号
p1->num!=0
?
再输入电话、地址、邮编
head=p1;
开始
输出结点个数head=>p
判断链表是否为空head!=NULL
?
打印“此链表为空表”
先打印标题
学号、电话、地址、邮编
p!=NULL
为循环所要满足的条件
?
打印表的格式 即加横线—— 竖线 ||使输出的链表更加清晰
打印结点里面的信息即学号、电话、地址、邮编
Y
N
Y
N
Y
N
Y
N
Y
N
N
Y
结束
结束
creat()函数流程图
print()函数流程图
开始
声明两个结构休指针
变量p1,p2;
head!=NULL
?
p 1=head ;
num!=p1->num
&&
p1->next!=NULL
?
输出“链表是空
的!”
r eturn head;
num==p1->num
?
返回头指针r eturn head;
p2=p1;p1=p1->next;
输出”num not been
found!”
p1==head ?
输出 “删除:num ”
p2->next=p1->next;
结束
Y
N
Y
N
Y
N
Y
N
head=p1->next;
函数传递过来的值:头指针head 和要删除
的学号num 声明三个结构体指针变量
p0,p1,p2p0=lnew;p1=head
head==NULL
?
结点数加1 n=n+1;
返回头指针return head;
head=p0;p0->next=NULL;
p0->num>p1->num
&&
p1->next!=NULL
p0->num <=p1->num ?
p2=p1;
p1->next=p0;p0->next=NULL;
head==p1?
p0->next=p1;
p2->next=p0;
函数传递过来的值有:链表头指针head 和要插入的结点的指
针lnew
Y
N
N
Y
Y
N
Y
head=p0;
N
开始
结束
del()函数流程图
insert()函数流程图
开始
声明两个整型变量
c 和flag;
flag
c<0 || c>4
返回C 的值r eturn c;
n==0 && c!=0 &&
c!=4
flag=0;
输入“请输入0~4之间的
数”
输出“在建立链表之前请先
输入0建立链表”
N
Y
N
Y
Y
N
结束
menubar()函数流程图