ImageVerifierCode 换一换
格式:DOC , 页数:43 ,大小:302.60KB ,
资源ID:11008951      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-11008951.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(1567159136 张玉前 学生基本信息管理系统.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

1567159136 张玉前 学生基本信息管理系统.doc

1、内蒙古科技大学课程设计说明书1内蒙古科技大学课程设计说明书C 语言课程设计 学生基本信息管理系统学生姓名:张玉前学号:1567159136专业:软件工程班级:一班指导教师:褚燕华日 期:2015 年 1 月 6 日内蒙古科技大学课程设计说明书2内蒙古科技大学课程设计任务书 4第一章需求分析 51.1 引言 .51.2 任务概述 61.3 数据描述 61.4 功能需求 61.5 性能需求 71.6 运行需求 .71.7 任务计划 .7第二章概要设计 72.1 总体设计 .72.2 数据类型设计(或数据结构设计) 82.3 接口设计 .92.4 运行界面设计 10第三章详细设计 113.1 输入模

2、块设计 113.2 输出模块设计 123.3 查找模块设计 13第四章测试分析 194.1 测试程序执行情况 .194.2 出现的问题和解决的方法 23第五章用户手册 23内蒙古科技大学课程设计说明书35.1 使用说明 .235.2 运行说明 .23第六章课程设计总结 24程序源代码 24参考文献 25致谢 26内蒙古科技大学课程设计说明书4内蒙古科技大学课程设计任务书课程名称 C 语言课程设计设计题目 学生基本信息管理系统指导教师 褚燕华 时间 2015.1.52015.1.9一、教学要求1. 巩固和加深学生对 C 语言课程的基本知识的理解和掌握2. 掌握 C 语言编程和程序调试的基本技能3

3、. 利用 C 语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用 C 语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。某班学生基本信息管理,包括以下功能: 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录) 具有插入、修改和删除信息的功能 具有输出文件数据信息的功能三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多 3 人)协作完成一个题目

4、)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少 500 行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所

5、有雷同的所有人均判为不及格。六、建议参考资料1 C 语言程序设计 ,谭浩强,清华大学出版社2 C 语言程序设计课程设计 ,刘振安,机械工业出版社内蒙古科技大学课程设计说明书5第一章需求分析1.1 引言学生基本信息管理系统1.2 任务概述1. 建立学生信息,信息至少包括姓名,学号,性别,年龄,出生日期,家庭地址,e_mail,电话地址等;2. 能够提供新建,浏览,查找,修改和删除信息的功能;3. 能够提供不同方式查询的功能;1.3 数据描述struct studentchar NO20;char name20;int age;char sex3;char birthday10;char addr

6、ess30;char phone20;chare_mail20;内蒙古科技大学课程设计说明书6struct student*next; /下个结点;1.4 功能需求1、 输入功能:一次可以完成自定义学生人数的学生信息记录的输入。2、 删除功能:对指定学生信息进行删除。3、 修改功能:对指定学生信息进行修改。4、 查询功能:选择某种方式并输入该信息查询符合条件的学生信息。5、 排序功能:以英语课程的分数对学生信息进行排序。6、 显示功能:将以上操作后的学生信息显示出来。7、 退出主菜单。1.5 性能需求1、 输入功能:一次可以完成自定义学生人数的学生信息记录的输入。2、 删除功能:对指定学生信息

7、进行删除。3、 修改功能:对指定学生信息进行修改。4、 查询功能:选择某种方式并输入该信息查询符合条件的学生信息。5、 排序功能:以英语课程的分数对学生信息进行排序。6、 显示功能:将以上操作后的学生信息显示出来。7、 退出主菜单。1.6 运行需求运行时需要实现各个模块功能的函数来完成运行。1.7 任务计划输入学生 基本信息,对学生基本信息进行修改,删除,排序等,能够实现通过输入学生学号,姓名等进行查询学生信息内蒙古科技大学课程设计说明书7第二章概要设计2.1 总体设计总体结构我们采取模块化进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模

8、块。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的方式进行。功能模块学生管理系统4、输入你要查找学生姓名菜单1、 新增学生信息2、 删除学生信息3、 导入学生信息4、 学生信息搜素5、 学生信息保存6、 退出7、保存学生信息:提示保存成功1、输入学生信息:学生姓名,学号,性别年龄,出生日期,电话2、输入要删除的学生编号,删除学生信息8,退出系统,3、输出学生的姓名,学号,性别年龄,出生日期,家庭地址,e_mail,,电话内蒙古科技大学课程设计说明书8如图 2.12.2 数据类型设计(或数据结构设计)struct studentc

9、har NO20;char name20;int age;char sex3;char birthday10;char address30;char phone20;chare_mail20;struct student*next; /下个结点;内蒙古科技大学课程设计说明书92.3 接口设计/函数声明表 2.1: 函数列表函数名 函数首部 函数功能Voidshow_menu();void 显示菜单void menu(); void 执行菜单Voidcreat_stu();void 建立链表voidinsert_stu();void print_stu();void 学生信息录入Voidsear

10、ch_NO();void 以学号方式查询Voidsearch_name();void 以姓名方式查询void arrage_stu(); void 排序Voiddel_stu();void 删除学生信息void revise_stu(); void 修改学生信息void save(); void 保存信息如图 2.2内蒙古科技大学课程设计说明书102.4 运行界面设计主菜单模块采用 switch()函数从选择相应菜单对应功能switch(c)getchar();case 1:insert_stu();break; /学生信息录入case 2:print_stu();break; /学生信息浏览

11、case 3:search_NO();break; /以学号方式查询信息case 4:search_name();break; /以姓名方式查询信息case 5:del_stu();break; /删除学生信息case 6:revise_stu();break; /修改学生信息case 7:arrage_stu();break; /保存学生信息case 0:exit(0); /退出 内蒙古科技大学课程设计说明书11第三章详细设计3.1 输入模块设计数据输入模块采用 scanf()函数输入新联系人信息插入至就结构数据当中。printf(“tt 输入学生学号:t“);scanf(“%s“,p1-N

12、O); /学号printf(“tt 输入学生姓名:t“);scanf(“%s“,p1-name); /姓名printf(“tt 输入学生年龄:t“);scanf(“%d“, /年龄printf(“tt 输入学生性别:t“);scanf(“%s“,p1-sex); /性别printf(“tt 输入学生出生年月:t“);scanf(“%s“,p1-birthday); /出生年月printf(“tt 输入学生地址:t“);scanf(“%s“,p1-address); /地址printf(“tt 输入学生电话:t“);scanf(“%s“,p1-phone); /电话printf(“tt 输入学生

13、 E-mail:t“);scanf(“%s“,p1-e_mail); /E-mail;n+;内蒙古科技大学课程设计说明书123.2 输出模块设计数据浏览模块采用分屏显示,每屏 3 条记录。用 fread 或 fscanf 读文件,输出结果。for(p=head-next;p!=NULL;p=p-next) /读出信息printf(“*学生信息浏览*n“);printf(“tt 学生学号:t%sn“,p-NO);printf(“tt 学生姓名:t%sn“,p-name);printf(“tt 学生年龄:t%dn“,p-age);printf(“tt 学生性别:t%sn“,p-sex);print

14、f(“tt 学生出生年月:t%sn“,p-birthday);printf(“tt 学生地址:t%sn“,p-address);printf(“tt 学生电话:t%stn“,p-phone);printf(“tt 学生 E-mail:t%sn“,p-e_mail);printf(“n“); /输出信息3.3 查找模块设计1)按姓名方式查找模块通过键盘输入要查找的学生姓名,然后与及结构数据中的姓名信息逐一对比,找出学生信息并输出void search_name() /学生姓名信息查找STU*p=NULL;内蒙古科技大学课程设计说明书13char name20;if(head=NULL) /判断链

15、表是否为空printf(“文档中无记录 !n“);return ;printf(“输入学生姓名:“);scanf(“%s“,name);for(p=head-next;p!=NULL;p=p-next) /读出信息if(!strcmp(p-name,name)1)按学号查找模块通过键盘输入要查找的学生学号,然后与结构数据中的电话信息逐一对比,找出学生信息并输出void search_NO() /学生学号信息查找STU*p=NULL;char NO20;if(head=NULL) /判断链表是否为空printf(“文档中无记录!n“);内蒙古科技大学课程设计说明书14return ;printf

16、(“请输入学生学号:“);scanf(“%s“,NO);for(p=head-next;p!=NULL;p=p-next) /读出信息if(!strcmp(p-NO,NO)3.4 排序模块设计通过键盘输入学生的学号,按照学号从小到大进行排序voidarrage_stu()STU*p1,*p2;int in=0,j;if(head-next=NULL) /首先判断printf(“你还没有记录,无法排序n“);return ;printf(“n=%d“,n);p1=head-next;for(in=0;innext;jnext,j+)if(j=0) /第一次比较第一个和第二个结点信息if(strc

17、mp(p1-NO,p1-next-NO) /比较 p1 本身和 p1下一个结点p2=p1-next;p1-next=p1-next-next;p2-next=p1;head-next=p2;p1=head-next; /从新结合 CUR 赋值/*p1=head-next;p1=p2;if(strcmp(p1-next-NO,p1-next-next-NO) /比较p1 下一个和 p1 下两个结点p2=p1-next;p1-next=p1-next-next;内蒙古科技大学课程设计说明书16p2-next=p1-next-next;p1-next-next=p2;if(strcmp(head-n

18、ext-NO,head-next-next-NO) /只有两个结点信息时直接/比较他们两个p1=head-next;head-next=p1-next;p1-next=p1-next-next;head-next-next=p1;if(n=2) /只有两个结点信息时吧第二个结点的/next 赋为空head-next-next-next=NULL;3.5 保存及读取模块设计printf(“n 打不开文件 !n“);return ;内蒙古科技大学课程设计说明书17if(head-next=NULL)printf(“n 信息为空!n“);return ; void save()printf(“*保存

19、信息并结束 *“);STU*p=NULL;FILE*fp;char *filename=“fname.txt“;if(fp=fopen(“fname.txt“,“w“)=NULL) /出错检测elsep=head-next;while(p!=NULL)fprintf(fp,“%s %s %d %s %s %s %s %sn“,p-NO,p-name,p-age,p-sex,p-birthday,p-address,p-phone,p-e_mail); /存入/文件内蒙古科技大学课程设计说明书18p=p-next;printf(“保存完毕!n“);fclose(fp);第四章测试分析4.1 测试

20、程序执行情况主菜单输入学生信息内蒙古科技大学课程设计说明书19学生信息浏览内蒙古科技大学课程设计说明书20按学号查找学生信息按姓名查找学生信息内蒙古科技大学课程设计说明书21修改学生信息4.2 出现的问题和解决的方法第一次时当输入学生信息时无法进行学生信息浏览,当引入了学内蒙古科技大学课程设计说明书22生信息浏览函数,可以浏览多个学生信息。有了学生信息修改函数可以随时修改学生信息等等。第五章用户手册5.1 使用说明先选择录入信息,录入结束后按对应的数字跳出,执行其他任务 选择操作时点击对应的数字再按回车即可。5.2 运行说明请勿输入不符合格式的字符,如需退出 请输入对应数字。第六章课程设计总结

21、在我们上机调试程序的过程中,我遇到了很多问题,这次程序设计我写了好长时间,从各种资料上找,参考,终于完成了。在这期末考试前期,各科结课,面临着各种考试,这次的课设我更是费尽心思,有时也因这样那样的原因,抱怨过,但在完成了课设之后,我发现我错了,课程设计不仅巩固了我们的知识,还使得我们学到了平时所忽略的细节,最要的是它磨练我们的毅力让我们在大学的下一阶段能更好的成长,最后走向成功,这是值得我们内蒙古科技大学课程设计说明书23每一个人体验的。程序源代码#include#include#include#define LEN sizeof(struct student)/(“*定义结构体*“);str

22、uct studentchar NO20;char name20;int age;char sex3; /F表示性别男,M表示性别女char birthday10;char address30;char phone20;char e_mail20;struct student *next; /下个结点;typedef struct student STU;STU*head=NULL; /全局指针int n,i=0; /全局变量内蒙古科技大学课程设计说明书24/(“*自定义函数*“);void show_menu(); /显示菜单void menu(); /执行菜单void creat_stu(

23、); /建立链表void insert_stu(); /学生信息录入void print_stu(); /学生信息浏览void search_NO(); /以学号方式查询信息void search_name(); /以姓名方式查询信息void arrage_stu(); /排序void del_stu(); /删除学生信息void revise_stu(); /修改学生信息void save(); /保存信息void main()creat_stu();menu();/(“*创建链表*“);void creat_stu()FILE *fp;内蒙古科技大学课程设计说明书25long size;S

24、TU*p1,*p2;head=(STU*)malloc(sizeof(STU);head-next=NULL;if(fp=fopen(“fname.txt“,“r“)=NULL)printf(“这是新表n“);return ;fseek(fp,0L,2);size=ftell(fp);if(!size)printf(“这是空表n“);return ; /开始创建链表rewind(fp); /移到文件首部p2=head-next; / 找到当前位置while(!feof(fp)p1=(STU*)malloc(sizeof(STU);fscanf(fp,“%s %s %d %s %s %s %s

25、%sn“,p1-内蒙古科技大学课程设计说明书26NO,p1-name,p1-next=NULL;/创建结点完if(head-next=NULL)head-next=p1;elsep2-next=p1;p2=p1;n+;p2-next=NULL;fclose(fp);/(“*执行菜单*“);void menu()int c;show_menu();while(1)内蒙古科技大学课程设计说明书27scanf(“%d“,switch(c)getchar();case 1:insert_stu();break;case 2:print_stu();break;case 3:search_NO();br

26、eak;case 4:search_name();break;case 5:del_stu();break;case 6:revise_stu();break;case 7:arrage_stu();break;case 0:exit(0); /执行菜单选项show_menu();/(“*显示菜单*“);void show_menu()内蒙古科技大学课程设计说明书28printf(“n“);printf(“n*菜单*n“);printf(“tt 1.输入学生信息 n“);printf(“tt 2.浏览学生信息 n“);printf(“tt 3.以学号方式查询信息n“);printf(“tt 4

27、.以姓名方式查询信息n“);printf(“tt 5.删除学生信息 n“);printf(“tt 6.修改学生信息n“);printf(“tt 7. 排 序n“);printf(“tt 0. 退 出n“);printf(“n*n“);printf(“n 请选择 n“);/(“*学生信息录入*“);void insert_stu() /学生信息录入n=0;STU*p1=NULL,*p2=NULL;p1=(STU*)malloc(sizeof(STU);printf(“n*录入学生信息*n“);printf(“tt 输入学生学号 :t“);scanf(“%s“,p1-NO); /学号内蒙古科技大学

28、课程设计说明书29printf(“tt 输入学生姓名 :t“);scanf(“%s“,p1-name); /姓名printf(“tt 输入学生年龄 :t“);scanf(“%d“, /年龄printf(“tt 输入学生性别 :t“);scanf(“%s“,p1-sex); /性别printf(“tt 输入学生出生年月 :t“);scanf(“%s“,p1-birthday); /出生年月printf(“tt 输入学生地址 :t“);scanf(“%s“,p1-address); /地址printf(“tt 输入学生电话 :t“);scanf(“%s“,p1-phone); /电话printf(

29、“tt 输入学生 E-mail:t“);scanf(“%s“,p1-e_mail); /E-mail;n+;if(head-next=NULL)head=(STU*)malloc(LEN);head-next=p1;else内蒙古科技大学课程设计说明书30for(p2=head;p2-next!=NULL;p2=p2-next); /找到最后的结点,将增加的结点挂在上面p2-next=p1;p1-next=NULL;save(); /保存到文件/(“*学生信息浏览*n“);void print_stu() /学生信息浏览STU*p=NULL;if(head=NULL) /判断链表是否为空printf(“文档中无记录!n“);return ;for(p=head-next;p!=NULL;p=p-next) /读出信息printf(“*学生信息浏*n“);printf(“tt 学生学号:t%sn“,p-NO);printf(“tt 学生姓名:t%sn“,p-name);printf(“tt 学生年龄:t%dn“,p-age);

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报