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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(c课程设计信息管理学生信息管理系统大学论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c课程设计信息管理学生信息管理系统大学论文.docx

1、c课程设计信息管理学生信息管理系统大学论文内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 学生信息管理系统学生姓名:学 号:专 业:班 级:指导教师:日 期:内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目学生信息管理系统指导教师时间一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。某班学生基本信息管理,包括以下功能:

2、v 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里v 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录)v 具有插入、修改和删除信息的功能v 具有输出文件数据信息的功能三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操

3、作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版社目 录内蒙古科技大学课程设计任务书 I目 录 II第一章 需求分析 31.1 引言 31.2 任

4、务概述 31.3 数据描述 31.4 功能需求 31.5 性能需求 41.6 运行需求 41.7 任务计划 4第二章 概要设计 42.1 总体设计 42.2 数据类型设计(或数据结构设计) 62.3 接口设计 /函数声明 62.4 运行界面设计 7第三章 详细设计 83.1 输入模块设计 83.2 输出模块设计 83.3 查找模块设计 93.4 排序模块设计 103.5 保存及读取模块设计 10第四章 测试分析 124.1 测试程序执行情况 124.2 出现的问题和解决的方法 15第五章 用户手册(可选) 165.1 使用说明 165.2 运行说明 16第六章 课程设计总结 17附录:程序代码

5、 18参考文献 28致谢 28第一章 需求分析1.1 引言学生基本信息管理系统1.2 任务概述1、建立学生信息,信息至少包含学生姓名,学号,性别,年龄,出生日期,家庭地址,e-mail,电话地址等;2、能够提供新建、浏览、查找、修改和删除通讯录信息的功能;3、能够提供安不同方式查询的功能;如按姓名或电话等查询;1.3 数据描述struct student char NO20; char name20; int age; char sex3; /*F表示性别男,M表示性别女*/ char birthday10; char address30; char phone20; char e_mail2

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

7、查询符合条件的学生信息。5、排序功能:以英语课程的分数为依据对学生信息进行排序。6、显示功能:将以上功能操作后的学生信息显示出来。7、退出主菜单。1.6 运行需求1、从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里。2、具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录)。3、具有插入、修改和删除信息的功能。4、具有输出文件数据信息的功能。1.7 任务计划第二章 概要设计2.1 总体设计总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块

8、。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。2.2 数据类型设计(或数据结构设计)struct student char NO20; char name20; int age; char sex3; /*F表示性别男,M表示性别女*/ char birthday10; char address30; char phone20; char e_mail20; struct student *next; /下个结点;2.3 接口设计 /函数声明表2.1:函数列表函数名函数格式 /即函数首部函数功能void show

9、_menu(); void显示菜单void menu(); void执行菜单void creat_stu();void建立链表void insert_stu(); void学生信息录入void print_stu();void学生信息浏览void search_NO();void以学号方式查询信息void search_name();void以姓名方式查询信息void arrage_stu();void排序void del_stu(); void删除学生信息void revise_stu();void修改学生信息void save(); void保存信息2.4 运行界面设计主菜单模块采用swi

10、tch()函数从键盘选择相应菜单的对应功能。switch(c) getchar(); case 1:insert_stu();break; /学生信息录入 case 2:print_stu();break; /学生信息浏览 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:e

11、xit(0); /退出 第三章 详细设计3.1 输入模块设计数据插入模块采用scanf( )函数输入新联系人信息插入至结构数组中。PF(tt输入学生学号:t); scanf(%s,p1-NO); /学号 PF(tt输入学生姓名:t); scanf(%s,p1-name); /姓名 PF(tt输入学生年龄:t); scanf(%d,&p1-age); /年龄 PF(tt输入学生性别:t); scanf(%s,p1-sex); /性别 PF(tt输入学生出生年月:t); scanf(%s,p1-birthday); /出生年月 PF(tt输入学生地址:t); scanf(%s,p1-address

12、); /地址 PF(tt输入学生电话:t); scanf(%s,p1-phone); /电话 PF(tt输入学生E-mail:t); scanf(%s,p1-e_mail); /E-mail n+;3.2 输出模块设计数据浏览模块采用分屏显示,每屏3条记录。用fread或fscanf读文件,输出结果。for(p=head-next;p!=NULL;p=p-next) /读出信息 PF(学生信息浏览n); PF(tt学生学号:t%sn,p-NO); PF(tt学生姓名:t%sn,p-name); PF(tt学生年龄:t%dn,p-age); PF(tt学生性别:t%sn,p-sex); PF(t

13、t学生出生年月:t%sn,p-birthday); PF(tt学生地址:t%sn,p-address); PF(tt学生电话:t%sn,p-phone); PF(tt学生E-mail:t%sn,p-e_mail); PF(n); /输出信息3.3 查找模块设计1) 按姓名查找模块通过键盘输入要查找的学生姓名,然后与结构数组中的姓名信息逐一比对,找出学生信息并输出void search_name() /学生姓名信息查找 STU *p=NULL; char name20; if(head=NULL) /判断链表是否为空 PF(文档中无记录!n); return; PF(输入学生姓名:); scan

14、f(%s,name); for(p=head-next;p!=NULL;p=p-next) /读出信息 if(!strcmp(p-name,name)3) 按学号查找模块通过键盘输入要查找的学生学号,然后与结构数组中的电话信息逐一比对,找出学生信息并输出void search_NO() /学生学号信息查找 STU *p=NULL; char NO20; if(head=NULL) /判断链表是否为空 PF(文档中无记录!n); return; PF(请输入学生学号:); scanf(%s,NO); for(p=head-next;p!=NULL;p=p-next) /读出信息 if(!strc

15、mp(p-NO,NO)3.4 排序模块设计3.5 保存及读取模块设计1) 按姓名查找模块通过键盘输入要查找的学生姓名,然后与结构数组中的姓名信息逐一比对,找出学生信息并输出void search_name() /学生姓名信息查找 STU *p=NULL; char name20; if(head=NULL) /判断链表是否为空 PF(文档中无记录!n); return; PF(输入学生姓名:); scanf(%s,name); for(p=head-next;p!=NULL;p=p-next) /读出信息 if(!strcmp(p-name,name)3) 按学号查找模块通过键盘输入要查找的学

16、生学号,然后与结构数组中的电话信息逐一比对,找出学生信息并输出void search_NO() /学生学号信息查找 STU *p=NULL; char NO20; if(head=NULL) /判断链表是否为空 PF(文档中无记录!n); return; PF(请输入学生学号:); scanf(%s,NO); for(p=head-next;p!=NULL;p=p-next) /读出信息 if(!strcmp(p-NO,NO)第四章 测试分析4.1 测试程序执行情况主菜单输入学生信息学生信息浏览按学号查找学生信息按姓名查找学生信息删除学生信息修改学生信息退出4.2 出现的问题和解决的方法出现的

17、问题就是不能进行排序,解决方法为删除。第五章 用户手册(可选)5.1 使用说明运行说明第六章 课程设计总结在我们上机调试程序的过程中,我遇到了很多的问题,说实话这次课程设计自己没有出多大的力,大部分都是借鉴同学的设计成果,自己设计是总是觉得没有头绪,无从下手。看到同学认真看程序的样子,还有修改程序时的熟练,我很羡慕他,我想,我要将C语言学好,在将来能为我的就业加分。在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我曾一度地抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,还使

18、得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。附录:程序代码#include #include #include #define PF printf#define LEN sizeof(struct student)/定义结构体struct student char NO20; char name20; int age; char sex3; /*F表示性别男,M表示性别女*/ char birthday10; char address30; char phone20; char e_mail20; struct student *next;

19、/下个结点;typedef struct student STU;STU *head=NULL; /全局指针int n,i=0; /全局变量/自定义函数void show_menu(); /显示菜单void menu(); /执行菜单void creat_stu(); /建立链表 void insert_stu(); /学生信息录入void print_stu(); /学生信息浏览void search_NO(); /以学号方式查询信息void search_name(); /以姓名方式查询信息void del_stu(); /删除学生信息void revise_stu(); /修改学生信息v

20、oid save(); /保存信息void main() creat_stu(); menu();/创建链表void creat_stu() FILE *fp; long size; STU *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); /移动到文件首

21、p2=head-next; /找到当前位置 while(!feof(fp) p1=(STU *)malloc(sizeof(STU); fscanf(fp,%s %s %d %s %s %s %s %sn,p1-NO,p1-name,&p1-age, p1-sex,p1-birthday,p1-address,p1-phone,p1-e_mail); p1-next=NULL; /创建节点完 if(head-next=NULL) head-next=p1; else p2-next=p1; p2=p1; n+; p2-next=NULL; fclose(fp);/执行菜单void menu()

22、 int c; show_menu(); while(1) scanf(%d,&c); switch(c) getchar(); case 1:insert_stu();break; case 2:print_stu();break; case 3:search_NO(); break; case 4:search_name(); break; case 5:del_stu(); break; case 6:revise_stu(); break; case 0:exit(0); /执行菜单选项 show_menu(); /显示菜单void show_menu() PF(n); PF(n菜单n

23、); PF(tt1.输 入 学 生 信 息 n); PF(tt2.浏 览 学 生 信 息 n); PF(tt3.以学号方式查询信息n); PF(tt4.以姓名方式查询信息n); PF(tt5.删 除 学 生 信 息 n); PF(tt6.修 改 学 生 信 息 n); PF(tt0. 退 出 n); PF(n); PF(n请选择n);/学生信息录入void insert_stu() /学生信息录入 n=0; STU *p1=NULL,*p2=NULL; p1=(STU *)malloc(sizeof(STU); PF(n录入学生信息n); /录入学生信息 PF(tt输入学生学号:t); sca

24、nf(%s,p1-NO); /学号 PF(tt输入学生姓名:t); scanf(%s,p1-name); /姓名 PF(tt输入学生年龄:t); scanf(%d,&p1-age); /年龄 PF(tt输入学生性别:t); scanf(%s,p1-sex); /性别 PF(tt输入学生出生年月:t); scanf(%s,p1-birthday); /出生年月 PF(tt输入学生地址:t); scanf(%s,p1-address); /地址 PF(tt输入学生电话:t); scanf(%s,p1-phone); /电话 PF(tt输入学生E-mail:t); scanf(%s,p1-e_mai

25、l); /E-mail n+; if(head-next=NULL) head=(STU *)malloc(LEN); head-next=p1; else for(p2=head;p2-next!=NULL;p2=p2-next); /*找到最后的结点,然后将增加的结点挂在它上面*/ p2-next=p1; p1-next=NULL; save();/保存到文件 /学生信息浏览void print_stu() /学生信息浏览 STU *p=NULL; if(head=NULL) /判断链表是否为空 PF(文档中无记录!n); return; for(p=head-next;p!=NULL;p=p-next) /读出信息 PF(学生信息浏览n); PF(tt学生学号:t%sn,p-NO); PF(tt学生姓名:t%sn,p-name); PF(tt学生年龄:t%dn,p-age); PF(tt学生性别:t%sn,p-sex); PF(tt学生出生年月:t%sn,p-birthday); PF(tt学生地址:t%sn,p-address); PF(tt学生电话:t%sn,p-phone); PF(tt学生E-mail:t%sn,p-e_mail); PF(n); /输出信息/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1