基于C语言的学生选课管理系统

上传人:油条 文档编号:114827306 上传时间:2019-11-12 格式:DOC 页数:24 大小:271.86KB
返回 下载 相关 举报
基于C语言的学生选课管理系统_第1页
第1页 / 共24页
基于C语言的学生选课管理系统_第2页
第2页 / 共24页
基于C语言的学生选课管理系统_第3页
第3页 / 共24页
基于C语言的学生选课管理系统_第4页
第4页 / 共24页
基于C语言的学生选课管理系统_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于C语言的学生选课管理系统》由会员分享,可在线阅读,更多相关《基于C语言的学生选课管理系统(24页珍藏版)》请在金锄头文库上搜索。

1、 PINGDINGSHAN UNIVERSITY基础编程能力实训报告 题 目: 学生选课管理系统 专业年级: 物联网工程 2014级 姓 名: DFDSFDFDfdfdfffd 学 号: 14fdfkdkd 2015年07月03日1 功能描述此系统是一个学生选课管理系统。它包含是功能有:学生选课信息的录入,学生选课信息的删除,学生选课信息的查找,学生选课信息的显示等功能。菜单模式:此模块主要实现对本系统所有功能的显示。录入模块:此模块主要实现对学生选课信息的录入,主要包括学生学 号、学生姓名、所选课程、课程学分、授课老师。删除模式:此模块主要实现对学生选课信息的删除。显示模块:此模块主要实现对

2、学生选课信息的显示。查找模块:此模块主要是通过学生学号查找该学生的选课信息。清屏模块:此模块主要是对主界面输入的信息进行清屏。退出程序:此模块主要用于退出系统。 学生选课系统菜单功能清屏功能录入功能删除功能查找功能保存功能退出功能显示功能 2 总体设计2.1 主函数功能开 始调用main函数输入选择的值选择的值=? 1 2 3 6 4 5调用find函数调用display函数调用del函数调用input函数 退出程序 清 屏 结 束主函数的作用主要是调用menu函数显示主界面,由于菜单比较简单所以采用printf函数直接将菜单项打印在屏幕上,实现人机对话的第一步。然后通过读取用户的输入,调用s

3、witch函数对用户的输入进行进一步的处理,并使用for函数实现用户的选择性的重复操作。我们为用户提供了一个正常的出口,我们采用人机对话的形式,用户选择某一菜单以后,程序完成此项功能后,用户可以选择继续输入或退出,选择主菜单5选项即可退出程序。2.2 删除模块开始定义学生指针调用del函数输入要删除的人数和学生学号 显示“ 找不到要删除的节点!”是否已创建该学生信息? 否 是 成功删除 记录总数减一 按任意键返回 结束为了实现用户使用学生选课信息管理系统删除所选课程的功能,删除模块调用del函数以实现这一功能。用户先输入要删除的学生个数,然后用户输入编号,通过fread循环遍历文件中输入的数据

4、,查找与用户输入的学生编号相同的学生选课信息,如果找到该学生,则把m赋为1,然后通过for(j=i; jm; j+);worj = worj+1把要查找的数据后面的前移来删除该学生信息。如果找不到该学生信息,则显示找不到要删除的学生。2.3 查找信息开始定义学生指针输入要查找的学生学号显示“没有找到要查找的结点!是否显示该学生的详细信息?Y(y)(是) 否 是 找到记录 是否显示该学生的详细信息?Y(y)(是) Y(y) 显示学生详细信息 按任意键返回结束为了实现用户使用学生选课信息管理系统查找学生信息的功能,查找模块调用find函数以实现这一功能。 该程序里运用文件和指针,通过fread循环

5、遍历文件中输入的数据,查找与用户输入的学生编号相同的学生选课信息,如果找到该学生,则显示该学生的选课信息。3 数据结构设计存储学生选课信息的结构体typedef struct /定义结构体 int num; /学生的学号 char name20; /学生的姓名 char keming20; /选课的名称 float xuefen; /所选课程的学分 char teacher20; /所选课程的任课老师 WOR;WOR worSIZE,wor1SIZE;结构体用于存储学生选课信息的相关信息,各字段的含义如下: num:学生学号 name20:学生姓名 keming20: 选课课名xuefen:

6、选课学分 teacher : 授课老师4 程序实现4.1 源码分析 主函数显示主菜单模块通过调用menu函数显示主菜单,调用main函数提示使用的用户该执行的操作,实现基本的人机对话;然后通过读取用户的输入,调用switch函数对用户的输入进行进一步的处理,并使用while函数实现用户的选择性的重复输入;显示学生选课管理信息模块通过调用display函数实现显示已创建的所有学生选课管理信息的功能;查找学生选课管理信息模块通过调用find函数实现按学生学号查找学生的选课信息的功能;int main() int i,d; menu(); while(1) printf(n输入选项:); scanf

7、(%d,&d); switch(d) case 1: input();break;/输入信息 case 2: int m; printf(请输入要删除的人数:n); scanf(%d,&m); for(i=0; im; i+) del(); getch(); printf(按任意键继续:); getch(); clear();/清屏 break;/删除信息 case 3: display();break;/显示信息 case 4: int m; printf(请输入要查找的人数:n); scanf(%d,&m); for(i=0; im; i+) find(); getch(); printf

8、(按任意键继续:); getch(); clear();/清屏 break;/查找case 5: exit(0); break;/退出 case 6: clear(); break;/清屏 default: printf(您输入的数据有误,请重新输入:); /clear(); 4.2 输入信息功能函数此函数为输入学生选课情况的基本信息。通过运用文件和指针输入实现所有学生选课信息的存储,从而实现程序的第一步操作。运用 if语句判断文件是否存在;若不存在,则建立一个名为”work”的文件,将所有信息保存文件中。 在文件中fopen()以ab+的方法打开二进制文件,使函数返回指向一个文件指针 wor

9、k;以fread(&worm,LEN,1,fp) 从fp所指向的文件中读取1个字节数为LEN大小的数据块存放到&worm所指定的存储空间;以fwrite(&wori ,LEN,1, fp) 从fp所指向的存储空间中取出1个字节数为LEN大小的数据块写入&worm所指定的存储空间。运用字符串ch2实现判断”是否”的字符Y/N的输入 void input()/输入信息 int i,m=0; char ch2; FILE *fp; if(fp=fopen(work,ab+)=NULL) printf(cant open the file!n); return; while(!feof(fp) if(

10、fread(&worm,LEN,1,fp)=1) m+; fclose(fp); if(m=0) printf(没有找到要读取的节点n); if(fp=fopen(work,wb+)=NULL) printf(cant open the file!n); return; for(i=0; im; i+) fwrite(&wori ,LEN,1,fp);/向指定的磁盘文件写入信息 printf(是否输入?(y/n):); scanf(%s,ch); while(strcmp(ch,Y)=0|strcmp(ch,y)=0)/判断是否要录入新信息 printf(学生学号:); scanf(%d,&worm.num);/ for(i=0; im; i+) if(wori.num = worm.num) printf(该记录已经存在,按任意键继续!); getch(); fclose(fp); return; printf(学

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号