好文档 - 专业文书写作范文服务资料分享网站

大数据结构基础 学生成绩管理系统 c语言

天下 分享 时间: 加入收藏 我要投稿 点赞

} }} default: //输入其它情况,循环重新输入 break; system(\return 0; 如此编写,可以使主函数既简单易懂,又不杂乱,能让读者一目了然,有了主函数,之后就可以往主函数中加子模块了。 (2)“屏幕”—显示函数模块设计 显示屏幕,也就是要给用户提供功能选择的主界面,需明了,整齐,要达到用户感觉到系统操作很其实简单的效果,所以编译排版之后的界面效果见下图 可以从上图看出,只要用户按自己需求进行操作,就可以实现相应功能了。程序设计的该函数为void menu()。 6 (3) 结构体定义 “结构体名”用作结构体类型的标志,它又称“结构体标记”。声明一个结构体类型的一般形式为: Struct 结构体名 {成员表列}; 大括弧内是该结构体中的各个成员,由它们组成一个结构体。对各成员都应进行类型声明,即 类型名 成员名 我在结构体中定义了两个字符数组及三个整形变量,用于存储学号、姓名、三个科目的成绩,并在结构体中定义了一个指针,为单链表所需,用于指向下一结点。 typedef struct student //建立学生类 { char num[20]; //学号 char name[20]; //姓名 int math; //数分 int English; //英语 int Data; //数据结构 struct student *next; //指针 }student; student *head=NULL; //头指针 (5) 信息输入模块 对应函数为void create(),可用链表建立学生信息,所以先要建立一个头结点 p1=(student *)malloc(sizeof(student));//建立头结点 然后让指针指向下一个结点,依次根据用户输入的学生个数循环建立链表(学生信息) 所以主要循环为while while(numbernum==0) { } length++; //链表的长度 p1->next=p2; p2->next=NULL; //结点相继后移 p1=p1->next; number++; //记录已输入的学生个数 printf(\信息输入成功!\\n\break; 功能的选择是用户根据选择模块—屏幕上的提示做出的操作,可以看到,在进行下一操作之前,系统会进行清屏,然后显示本次的操作结果。 8 (6) 显示模块及结果 void display(),这个模块并不是每个操作结果的输出函数,它会输出最终的结果,在进行了输入学生信息操作后,进行这个功能,系统就会输出全部的结果,见下图。可以看出,系统已把上次的操作清屏,然后根据输入的2 功能进行了显示操作。输出是按循环输出的,用指针指向链表的各项数据,依次输出。主要代码为 while(p!=NULL) { printf(\>Data); p=p->next; } 9 (7) 查找模块及结果 在程序设计时,并没有采用单一的按学号或按姓名查找的方式,而是既可以按学号查找,亦可按姓名查找,所以编写了void search1()和void search2()这两个查找函数,当输入的学号或姓名不在记录时,系统会显示“查无此人”,主要代码如下,链表不空时循环查找,然后用字符串比较函数[4]判断查找是否成功。 while(p!=NULL) { if(strcmp(p->num,xh)==0) //查找成功,显示查找信息 { …………………………….//显示查找到的信息 } } if(p==NULL) //链表遍历完成,返回查找信息 printf(\查无此人\\n\ 10

大数据结构基础 学生成绩管理系统 c语言

}}}default://输入其它情况,循环重新输入break;system(\return0;如此编写,可以使主函数既简单易懂,又不杂乱,能让读者一目了然,有了主函数,之后就可以往主函数中加子模块了。(2)“屏幕”—显示函数模块设计显示屏幕,也就是要给用户提供功能选择的主界面,需明了,整齐,要达到用户感觉到系
推荐度:
点击下载文档文档为doc格式
9lsxg688y94ncj33s2bw8iiwn479cv018dp
领取福利

微信扫码领取福利

微信扫码分享