C语言课程设计代码(48页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言课程设计代码(48页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计代码(48页).doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-课程设计 课程名称 C语言程序设计课程设计题目名称 学生信息管理系统学生学院 经济管理学院专业班级 08信管1班学 号 3108006217学生姓名 李嘉宁指导教师 黄跃梅2009 年 6 月 15 日目录一、 课程简介二、 系统功能分析三、 系统设计四、 系统实现五、 总结一、课程简介1、课程设计的内容学生信息包括:学号、姓名、年龄、性别、出生年月、地址、邮编、电话、E-mail等。设计一学生信息管理系统,使之能提供以下功能:学生信息录入功能(录入时可考虑对录入信息是否正确进行判断,学生信息用文件保存),学生信息浏览功能,查询(按学号、姓名查询),排序功能(按学号、姓名),学生信息的删除与
2、修改。要求系统界面友好,使用方便。2、课程设计的要求与数据1开发环境要求:Turbo C 3.0。2提交课程设计报告一份,包括以下内容:(1)系统分析:包括设计题目、设计内容以及系统功能需求分析;(2)系统设计:包括总体设计(主要功能模块的划分)及详细设计(各功能模块的算法设计以及对应的流程图);(3)系统实现:包括使用的所有变量、自定义函数、结构体的说明,以及完整源程序清单,关键代码应加注释。(4)系统运行:包括系统操作使用的简单说明,使用测试数据运行的结果。(5)总结。包括课程设计过程中的学习体会与收获,出现的问题和解决的方法,没有完成的部分及原因,对C语言和本次课程设计的认识以及自己的建
3、议等内容。3提交光盘(每班统一制作1张光盘,每人一个文件夹,文件夹名为“学号姓名”)。每人的光盘文件夹内含:(1)任务书;(2)源程序文件和可执行程序文件;(3)测试用例和编译运行结果;(4)课程设计报告电子文档。3、课程设计应完成的工作1进行需求分析,将系统划分为多个模块;2为每个模块设计算法及流程;3编写代码实现各模块功能;4运行调试程序;5撰写课程设计报告。4、应收集的资料及主要参考文献1 谭浩强,C程序设计(第三版), 清华大学出版社, 20052 谭浩强,C程序设计题解与上机指导(第三版), 清华大学出版社, 2005 教材第11章“结构体”部分及有关习题。二、系统功能分析1.设计题
4、目:学生信息管理系统2.设计内容:3.系统功能需求分析:系统所具备功能:1.建立学生信息文件,并可进行:(1)学生学号、姓名、年龄、性别、出生年月、地址、邮编、电话、E-mail等信息的输入。(2)对指定学生信息进行修改,删除。(3)对指定(按学号或姓名)学生进行信息查询。(4)按学号顺序显示所有学生信息。(5)保存信息。三、系统设计1.总体设计主要功能模块:(1)开始界面选择,初始菜单,二级菜单。(选择结构)(2)数据文件的打开与关闭。(fopen,fclose,save等)(3)学生信息输入。(结构体,结构体数组指针,信息校正,数据保存)(3)信息修改、删除。(数据的读写,fread,fw
5、rite,链表等)(4)学生信息查询。(结构体,循环结构,选择结构)(5)保存信息。2.详细设计(1)界面初始菜单界面* 欢迎使用学生信息管理系统 * 请选择: 1.学生信息添加 2.修改或删除学生信息 3.学生信息查询 4.退出* 欢迎使用学生信息管理系统 *二级菜单*学生信息的更改* 1.学生信息的删除 2.学生信息的修改 0.返回主菜单 请选择(0-2)*学生信息删除* 1.按编号删除 2.按姓名删除 0.返回主菜单 请选择(0-2)*学生信息查询* 1.按学号进行信息查询 2.按姓名进行信息查询 0.返回主菜单 请选择(0-2)三级菜单*修改学生信息* 1.修改学号 2.修改年龄 3.
6、修改性别 4.修改出生年月 5.修改地址 6.修改电话 7.修改email 8.修改邮编 0. 返回上级菜单(2)数据结构设计struct student int num; char name20; int age; char sex5; char birthday10; char adr20; char mailbox10; char tel10; char email20; studentN,student2N; (3)函数模块设计Save函数int save(int sum) FILE *fp; int i; if(fp=fopen(student.txt,wt)=NULL) print
7、f(读文件错误!n); return 0; for(i=0;isum;i+) if(fwrite(&studenti,sizeof(struct student),1,fp)!=1) printf(写文件错误!n); fclose(fp); return i;用于学生信息的存储。函数输入int input()列出所需输入的数据类型,并且调用Save函数,生成新的信息文件。文件读取int load_file()在程序开头时即调用,检查是否已经存在信息文件,并告知用户文件内信息。按照编号查询信息int search_by_num()在二级菜单中发挥作用,以学号为标准进行信息查询。for(i=0;i
8、sum;i+) if(num=studenti.num&studenti.num!=0) PRINT; printf(%s %d %d %s %s %s %s %s %s,studenti.name,studenti.num,studenti.age,studenti.birthday,studenti.adr,studenti.mailbox,studenti.tel,studenti.email); 按姓名进行查询int search_by_name()for(i=0;isum;i+) if(strcmp(studenti.name,name)=0&studenti.num!=0) pri
9、ntf(学生%s的信息,studenti.name); PRINT; printf(%s %d %d %s %s %s %s %s %s,studenti.name,studenti.num,studenti.age,studenti.birthday,studenti.adr,studenti.mailbox,studenti.tel,studenti.email); 以姓名和学号为标准,进行学生信息排列for(i=0;isum;i+) if(strcmp(studenti.name,name)=0&studenti.num!=0) printf(学生%s的信息,studenti.name)
10、; PRINT; printf(%s %d %d %s %s %s %s %s %s,studenti.name,studenti.num,studenti.age,studenti.birthday,studenti.adr,studenti.mailbox,studenti.tel,studenti.email);学生信息按学号删除int delete_by_num() int delete_num=0,i,f=0; printf(nn 请输入您要删除学生的学号:); scanf(%d,delete_num); for(i=0;isum;i+) if(studenti.num=delete
11、_num) studenti.num=0; printf( 该学生信息已删除!);学生信息按姓名删除int delete_by_name() char delete_name20,i,f=0; printf(nn 请输入要删除学生的姓名:); scanf(%s,&delete_name); for(i=0;isum;i+) if(strcmp(studenti.name,delete_name)=0) tudenti.num=0; printf( %s的信息已删除!,studenti.name);学生信息修改,通过switch语句对需要指定的信息进行修改。四、系统实现打开程序检测是否已存在学生
12、信息文件:初始菜单:学生信息添加菜单:二级菜单:源代码:/*学生信息管理系统*/ #include#include#include#define N 100#define PRINT printf( 姓名 学号 年龄 出生年月 地址 邮编 电话 E-mail n);int sum=0; struct student int num; char name20; int age; char sex5; char birthday10; char adr20;char mailbox10;char tel10;char email20; studentN,student2N; /*保存信息*/int
13、 save(int sum) FILE *fp; int i; if(fp=fopen(student.txt,wt)=NULL) printf(读文件错误!n); return 0; for(i=0;isum;i+) if(fwrite(&studenti,sizeof(struct student),1,fp)!=1) printf(写文件错误!n); fclose(fp); return i; void clear() getchar(); system(cls);int input() int i,j,flag=1; clear(); printf(添加学生信息,当输入学号为0时,将结
14、束操作。n); printf(输入例子:n); printf(学号:1n); printf(姓名:ZhangFein); printf(年龄:18n); printf(性别:Mn); printf(出生年月:19891007n); printf(地址:Tianhen); printf(邮编:510000n); printf(电话:12345678n); printf(E-mail:123n); for(i=1;iN;i+) printf(第%d个学生,i); printf(学号:); scanf(%d,&studenti.num); if(studenti.num=0) break; for(
15、j=0;jsum;j+) if(studentj.num=studenti.num) printf(学号重复,请重新输入学号:n); flag=0; break; ; if(flag=0)break; printf(姓名:); scanf(%s,studenti.name); printf(年龄:); scanf(%d,&studenti.age); printf(性别:); scanf(%s,studenti.sex); printf(出生年月:); scanf(%s,studenti.birthday); printf(地址:); scanf(%s,studenti.adr); print
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 代码 48
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内