C语言学生信息管理系统实验报告.docx
- 文档编号:498643
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:28
- 大小:171.87KB
C语言学生信息管理系统实验报告.docx
《C语言学生信息管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《C语言学生信息管理系统实验报告.docx(28页珍藏版)》请在冰豆网上搜索。
C语言学生信息管理系统实验报告
C语言课程设计
学生信息管理系统
姓名洪伟生
院系计算机学院
日期2015年7月5日
第一章设计要求………………………………………………
第二章算法分析
1.理论依据…………………………………………………
2.主要实现方法……………………………………………
2.1整体流程图………………………………………
2.2函数功能和函数之间的调用关系………………
第三章代码(源代码)………………………………………
第四章分析说明………………………………………………
第五章总结……………………………………………………
第一章、设计要求
1、利用所学的知识、理论和实际结合,利用资源,采用模块化的结构,使用模仿修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力;
2、通过C语言各个函数功能来实现对学生信息的管理,学生信息包括学生姓名,学号,各科成绩;管理方式包括对学生信息的录入,保存,排序,查找、修改、删除等功能。
第二章、算法分析
1、程序理论依据
通过C语言的程序设计基础的掌握,对学生成绩管理系统进行编写程序。
首先,通过链表这一数据结构来对学生的信息进行录入以及操作,在其过程中,通过各个功能语句以及选择结构,循环结构等方式的结合来达到所要实现的程序功能。
最后通过对C语言中对文件的操作,对已有学生成绩的读取和新建学生成绩的录入保存。
2、主要实现方法
2.1整体流程图
2.2、函数功能和函数之间的调用关系
2.2.1、函数功能:
voidMenu_1();//主菜单
voidMenu_2();//二级菜单
voidsstudent*phead,structstudent*pback);//链表节点互换
voidSave(structstudent*head);//写入磁盘
voidSearch(structstudent*head);//查找学生信息
voidRead(structstudent*head);//显示学生信息
voidSort(structstudent*head);//链表节点排序
structstudent*Create();//学生信息手动录入
structstudent*Readpoint();//磁盘文件写入内存
structstudent*Modify(structstudent*head);//链表结构体成员修改
structstudent*Add(structstudent*head);//链表节点插入
structstudent*Delete(structstudent*head);//链表节点删除
2.2.2、函数之间的调用关系:
通过switch语句进行指令选择:
case1:
学生信息录入
调用函数Create()、Save()、Menu_1()、Menu_2()
case2:
学生信息浏览
调用函数Readpoint()、Sort()、Read()、Save()、Menu_1()、Menu_2()
case3:
学生信息查找
调用函数Search()、Readpoint()、Menu_1()、Menu_2()
case4:
学生信息修改
调用函数Modify()、Readpoint()、Save()、Menu_1()、Menu_2()
case5:
学生信息增加
调用函数Add()、Readpoint()、Save()、Menu_1()、Menu_2()
case6:
学生信息删除
调用函数Delete()、Readpoint()Save()、Menu_1()、Menu_2()
case0:
返回主菜单
调用函数Menu_1()
第三章、代码(源代码)
/*
学生信息管理系统
*/
#include
#include
#include
structstudent//定义结构体
{
intnum;
charname[24];
charsex[5];
intChinese;
intMath;
intEnglish;
structstudent*next;
};
voidMenu_1();//主菜单
voidMenu_2();//二级菜单
voidsstudent*phead,structstudent*pback);//链表节点互换
voidSave(structstudent*head);//写入磁盘
voidSearch(structstudent*head);//查找学生信息
voidRead(structstudent*head);//显示学生信息
voidSort(structstudent*head);//链表节点排序
structstudent*Readpoint();//磁盘文件写入内存
structstudent*Create();//学生信息手动录入
structstudent*Modify(structstudent*head);//链表结构体成员修改
structstudent*Add(structstudent*head);//链表节点插入
structstudent*Delete(structstudent*head);//链表节点删除
intmain(void)
{
Menu_1();
return0;
}
voidMenu_1()
{
intnum;
printf("\t\t\t\t学生信息管理系统\t\t\t\t\n");
printf("\t\t\t1:
进入学生信息管理\n");//主菜单
printf("\t\t\t0:
退出学生信息管理\n");
printf("请您输入指令:
");
scanf("%d",&num);
switch(num)
{case1:
Menu_2();
break;
default:
printf("-----------------------------------------您已退出学生信息管理系统-----------------------------------------------\n");
break;
}
}
/*------------------------------------------------------------------------------------------------------------------------------------*/
voidMenu_2()
{
structstudent*head;
intnum;
printf("\t\t\t欢迎进入\n");
printf("-----------------------------------------------------------------------------------------------------------------------\n");
printf("\t\t\t1:
学生信息录入\n");
printf("\t\t\t2:
学生信息浏览\n");
printf("\t\t\t3:
学生信息查找\n");
printf("\t\t\t4:
学生信息修改\n");//二级菜单
printf("\t\t\t5:
学生信息增加\n");
printf("\t\t\t6:
学生信息删除\n");
printf("\t\t\t0:
返回主菜单\n");
printf("------------------------------------------------------------------------------------------------------------------------\n");
printf("请您输入指令:
");
scanf("%d",&num);
switch(num)
{
case1:
{
head=Create();
Save(head);
printf("\n");
printf("\t\t\t1:
返回主菜单\n");//手动录入学生数据
printf("\t\t\t2:
返回二级菜单\n");
printf("\n");
printf("请您输入指令:
");
scanf("%d",&num);
switch(num)
{
case1:
Menu_1();
break;
case2:
Menu_2();
break;
default:
{
printf("输入无效,返回二级菜单!
\n");
Menu_2();
}
break;
}
}
break;
case2:
{
head=Readpoint();//写入链表,返回头指针
Sort(head);
printf("\t\t\t以学号升序排列\n");
Read(head);//链表数据写入文件
Save(head);
printf("\n");
printf("\t\t\t1:
返回主菜单\n");
printf("\t\t\t2:
返回二级菜单\n");
printf("\n");
printf("请您输入指令:
");
scanf("%d",&num);
switch(num)
{
case1:
Menu_1();
break;
case2:
Menu_2();
break;
default:
{
printf("输入无效,返回二级菜单!
\n");
Menu_2();
}
break;
}
}
break;
case3:
{
head=Readpoint();
Search(head);//查找学生信息
printf("\n");
printf("\t\t\t1:
返回主菜单\n");
printf("\t\t\t2:
返回二级菜单\n");
printf("\n");
printf("请您输入指令:
");
scanf("%d",&num);
switch(num)
{
case1:
Menu_1();
break;
case2:
Menu_2();
break;
default:
{
printf("输入无效,返回二级菜单!
\n");
Menu_2();
}
break;
}
}
break;
case4:
{
head=Readpoint();
Modify(head);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 信息管理 系统 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)