学生宿舍管理系统c语言实习报告
c语言实训报告宿舍管理系统
实验(实习、实训)报告课程(项目)名称:程序设计基础课程设计学院:专业:计算机科学与技术班级: _________学号:______ *名:*绩:2015年7 月 2 日目录一、问题定义 (3)二、算法设计 (4)1.模块图 (4)2.数据结构 (4)3.菜单设计 (4)4.功能模块函数设计 (7)5.流程图设计 .............................................................................................. 错误!未定义书签。
6.程序代码设计 (26)三、系统运行结果及说明 (27)四、课程设计总结 (30)1.遇到的问题及解决方法 (30)2.个人总结 (30)五、参考资料 (31)六、评语 (31)一、问题定义实训题目10:学生宿舍管理系统系统至少应该包含以下功能,鼓励在此基础上进行完善创新:该系统只有合法用户才能登陆,登陆成功后,显示系统功能提示信息,如图a所示。
选择主菜单中的1,添加学生住宿信息,学生住宿信息包括学号、姓名、性别、年龄、班级、宿舍楼、楼层号、宿舍号等。
选择主菜单中的2、3,可以根据学号对学生住宿信息进行修改和删除操作。
选择主菜单中的4会输出所有住宿学生的信息。
选择主菜单中的5会打开子菜单如图b所示。
根据不同关键字查询学生住宿信息。
选择主菜单中的6会打开子菜单,如图c所示,可以对住宿信息进行多种统计,如输入要统计的宿舍号,输出该宿舍里的所有成员,并显示宿舍里的总人数。
在主菜单中选择0显示结束信息“感谢使用本软件”,按任意键后退出系统。
菜单要求:主菜单和子菜单能够循环,每一项菜单执行之后询问用户是否继续进行,从子菜单可以返回到主菜单。
如需要其它菜单请自行设计。
二、算法设计1.模块图2.数据结构结构体struct student{char num[10]; //字符数组:用来存放编号char S_name[10]; //字符数组:用来存放姓名char sex[10]; //字符数组:用来存放学生性别char B_num[10];//字符数组:用于存放宿舍楼号char F_num[10];//字符数组:用于存放楼层char D_num[10];//字符数组:用于存放宿舍号定义字符变量char choose='\0',yes_no='\0';choose用来存放选择,yes_no判断是否继续;定义整形变量int i,n,flag;其中i,n为循环变量,flag为标记变量菜单设计主菜单子菜单1查找住宿信息子菜单2统计住宿情况3.功能模块函数设计1. void myprint(); //用于打印主菜单2. void myprint1(); //用于打印查询子菜单3. void myprint2(); //用于打印统计子菜单4. void mycreate(); //创建新纪录5. void mydisplay(); //显示记录6. void mysearch(); //查询功能7. void sch_num(); //按学号查询8. void sch_S_name(); //按姓名查询9. void sch_sex(); //按性别查询10. void sch_B_num(); //按宿舍楼查询11. void sch_F_num(); //按楼层查询12. void sch_D_num(); //按宿舍查询13. void mymodify(); //修改功能14. void myadd(); //添加功能15. void mydelete(); //删除功能16. void del_S_name(); //按姓名删除17. void del_num(); //按学号删除18. void mycount(); //统计功能19. void count_B_num(); //按宿舍楼统计20. void count_D_num(); //按宿舍统计21. void count_F_num(); //按楼层统计22. void mainmenu(); //主菜单1.主函数(从键盘上输入一个数字,打开对应的功能)int main(void){mainmenu();return 0;}void myprint(){system("cls"); //清屏printf(" |----------------------------------------------------|\n");printf(" | 请输入选项编号(0-7): |\n");printf(" |----------------------------------------------------|\n");printf(" | 1--添加学生住宿信息|\n");printf(" | 2--浏览学生住宿信息|\n");printf(" | 3--查询住宿信息|\n");printf(" | 4--修改学生住宿信息|\n");printf(" | 5--删除学生住宿信息|\n");printf(" | 6--统计住宿信息|\n");printf(" | 0--退出系统|\n");printf(" |----------------------------------------------------|\n");}void mainmenu(){char choose = '\0', yes_no = '\0';do{myprint(); //在控制台打印显示操作主界面printf(" ");choose = getch(); //从控制台无回显地取一个字符switch (choose) //根据用户键入的字符选择不同的操作{case '1': mycreate(); break;case '2': mydisplay(); break;case '3': mysearch(); break;case '4': mymodify(); break;case '5': myprint2();mydelete(); break;case '6': mycount(); break;case '0':printf("感谢制作人李抽抽!\n");exit(0);default: printf("\n %c为非法选项!\n", choose);}printf("\n 要继续选择吗(Y/N)?\n");do{yes_no = getche();} while (yes_no != 'Y' && yes_no != 'y' && yes_no != 'N' && yes_no != 'n');} while (yes_no == 'Y' || yes_no == 'y');}2.功能函数(1)打印函数,打印对应的功能界面void myprint(){system("cls"); //清屏printf(" |----------------------------------------------------|\n");printf(" | 请输入选项编号(0-7): |\n");printf(" |----------------------------------------------------|\n");printf(" | 1--添加学生住宿信息|\n");printf(" | 2--浏览学生住宿信息|\n");printf(" | 3--查询住宿信息|\n");printf(" | 4--修改学生住宿信息|\n");printf(" | 5--删除学生住宿信息|\n");printf(" | 6--统计住宿信息|\n");printf(" | 0--退出系统|\n");printf(" |----------------------------------------------------|\n");}void myprint1(){system("cls"); //清屏printf(" |---------------------------------------------------|\n");printf(" | 请输入选项编号(0-5): |\n");printf(" |----------------------------------------------------|\n");printf(" | 1--按学号查询|\n");printf(" | 2--按姓名查询|\n");printf(" | 3--按宿舍楼查询|\n");printf(" | 4--按楼层查询|\n");printf(" | 5--按宿舍查询|\n");printf(" | 6--返回|\n");printf(" | 0--退出系统|\n");printf(" |-----------------------------------------------------|\n"); }void myprint2(){system("cls"); //清屏printf(" |---------------------------------------------------|\n");printf(" | 请输入选项编号(0-4): |\n");printf(" |----------------------------------------------------|\n");printf(" | 1--按宿舍统计|\n");printf(" | 2--按楼层统计|\n");printf(" | 3--按宿舍楼统计|\n");printf(" | 4--返回|\n");printf(" | 0--退出系统|\n");printf(" |----------------------------------------------------|\n"); }(2)添加函数,添加学生宿舍记录void mycreate(){int i = 1;struct student temp = { 0 };FILE *fp = NULL;fp = fopen("D:\\JiLu.dat", "w"); //以写方式打开文件。
C语言课程设计学生宿舍管理系统
5.运行结果10
5.1主菜单界面:10
5.2信息录入界面:10
5.3信息浏览界面:11
5.4信息查询界面:11
5.5信息修改界面:12
6.程序调试与测试12
6.1程序调试与分析12
6.2程序测试结果12
7.问题与不足12
8.建议12
9.编程体会12
10.程序源代码:12
4)通过课程实训,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。
5)通过课程实训,加强了自己的程序分析能力。
2.需求分析
2.1
1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。
2)运用结构化程序设计方法,按照课程实训题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。
数据项名称
数据项系统表示
数据类型
数据长度(字节)
备注
学生姓名
[i]
字符串
50
学生住宿层号
[i]
整型
4
学生住宿房号
[i]
整型
4
学生住宿床位号
[i]
整型
4
学生学号
[i]
整型
4
住宿收费标准
[i]
整型
4
缴费状态
[i]
字符串
20
学生入住时间
[i]
整型
4
根据系统要求,系统中需要保存的类别信息,其结构如下:
类别代号
()*显示浏览界面*/
( );*实现按学号查询*/
( )*实现按入住时间查询*/
c语言课程设计报告(宿舍管理系统)
西安郵電大學C语言课程设计报告书学院名称计算机学院学生姓名吴戌睿专业名称网络工程班级1201班学号04122030指导教师陈皓2013年06月03日至时间2013年06月12日实验题目:学生宿舍管理系统一、实验目的通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C 语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。
通过这次实习练习,可以更进一步的熟悉所学的知识,还可以加强和巩固知识。
长达两周的上机练习,为我们提供了很好的编程环境。
更好的了解编程的意义,为将来参加实践活动以及以后的毕业设计打下坚实的基础。
二、实验内容我设计的是“车辆管理系统”,主要是针对车辆信息的管理,适用对象主要是需要统一管理的车辆,例如租车公司。
包括车辆的序号,车牌,品牌,车主信息。
在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。
三、需求分析该程序是由C语言编写的一个车辆管理查询软件,本程序在Microsoft Visual C++ 6.0下运行,其主要功能是实现对车辆信息的录入、添加、删除、修改、查询、统计。
其中查询可以分别以序号,车牌号为关键字查询车辆信息。
四、概要设计1、方案设计2、数据结构说明程序中数据主要是学生信息,具体属于类型如下:struct car{int num; /*序号*/char chepai[10]; /*车牌号*/ char trademark[10]; /*品牌*/ char name[20]; /*车主姓名*/ char call[20]; /*联系方式*/ struct car *next;};3、模块功能说明第一密码模块:调用mima(),进行初始登陆,管理者的注册与登录操作。
C语言学生管理系统综合实验报告
count++;
printf("\n");}
}
printf("--------------------------------------------------\n");
}
void tjbhgrs()
{
int j,count=0;
printf("有不及格科目的学生是:\n");
}
}
void sx()
{
struct student temp;
int a,b,c;
for(a=0;a<i-1;a++)
{
c=a;
for(b=a+1;b<i;b++)
if(stu[b].ave>stu[c].ave)
c=b;
temp=stu[b];
stu[b]=stu[c];
stu[c]=temp;
佛山科学技术学院
实验报告
实验名称小型学生信息管理系统
实验项目编写一学生信息管理系统,用来管理学生基本信息及成绩信息
专业班级姓名XXX学号
指导教师成绩日期
一、试验目的
本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力。
printf("\n");
}
printf("----------------------------------------------------------------\n");
C语言课程设计—学生宿舍管理系统设计报告
课程设计报告课程名称C语言程序设计课题名称学生宿舍管理系统专业电子技术班级学号姓名指导教师2012年6月19日湖南工程学院课程设计任务书课程名称C语言程序设计课题学生宿舍管理系统专业班级学生姓名学号指导老师审批任务书下达日期2012 年6 月19 日任务完成日期2012 年7 月4 日一、设计内容与设计要求1.设计内容:学生宿舍管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。
③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。
⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。
2.设计要求:1)用C语言实现系统;利用结构体数组实现学生宿舍信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。
2) 建立一个学生宿舍信息数据库,文件名为ssxxk.txt,并从该文件中读取数据;3)学生宿舍管理系统应能提供以下功能:①系统以菜单方式工作:通过提示用户输入一个数字选项,调用相应的功能函数。
②显示功能:完成全部宿舍信息的显示,显示时按表格的形式,且应有表头;③追加功能:完成一个(或多个)学生入住宿舍的登记(追加记录),要求在追加过程中有相应的提示信息,完成追加后能重新显示;④查询功能:要求可选择按指定学号和指定姓名两种方式定位查询,查询的结果要求以表格的形式显示,若查询不到应给出相应的提示信息。
计算机实习报告-宿舍管理系统
计算机实习报告面向过程编程用C语言求解实际问题班级:学号:姓名:实习时间:年月日- 月日一、开发任务开发任务的具体要求。
宿舍管理系统:编程模拟实现宿舍系统的管理。
二、需求分析(这一部分主要是确定要做什么,以及问题的边界。
如下例所示,说明电话号簿管理程序将实现的基本功能。
具体来说,就是给出程序的基本功能和性能)1.说明自己针对这个任务将完成哪些功能的设计。
宿舍管理系统的基本功能是:(1)选择登陆身份:管理员登陆或用户登录。
(2)管理员功能有:(a)创建宿舍(b)修改宿舍信息(c)添加宿舍(d)查询空闲宿舍、床位(e)统计宿舍信息(f)显示所有宿舍信息(g)文本导入宿舍信息(h)保存宿舍信息(3)普通用户功能有:(a)查询空闲宿舍(b)查询空闲床位(c)统计信息(d)显示所有宿舍信息2.说明程序将会具有什么样的性能:程序中有如下性能:(1)用菜单方式提供对操作的选择,一目了然。
(2)为了防止宿舍信息的破坏,管理员操作必须是有管理员密码才可进入。
普通用户的操作则不用密码。
(3)选择显示后及时清屏,方便用户的后操作。
(4)可导出文本文件,也可从文本文件中导入,便于信息的永久存储。
三、程序设计(这一部分主要是说怎么做,以及语言环境对问题处理的特殊影响。
如下例所示,电话号码簿的结构体类型,电话号码信息的存储数组,以及结果输出格式。
具体来说,就是给出程序的数据结构,模块划分,主程序结构)针对需求做如下设计:(1)数据结构设计利用结构体组建宿舍相关信息,包括宿舍编号、楼栋编号、宿舍性质、已住人数、空床人数。
typedef struct _dormitory{int dormNO;//宿舍编号int apartmentNO;//楼栋编号int dormAttribute;//宿舍性质(男/女)int personNum;//已住人数int bedavailble;//空床位数}dormitory;初始化程序时,规定最多有1000个宿舍,每个宿舍最多4人。
学生宿舍管理系统c语言实习报告
西安邮电大学C语言课程设计报告题目:学生宿舍管理系统院系名称:计算机学院专业名称:软件工程班级:1205班学生姓名:邵欢学号(8位):04123157指导教师:王小银一.设计目的1. 掌握结构体的定义和使用。
2.理解链表工作原理,熟悉基本操作。
3.熟悉C语言中文件操作。
4.掌握文件的定义方法及文件指针的概念,掌握文件打开、关闭、读、写文件基本操作函数。
5掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及它们赋值的方法。
6.握函数的调用及嵌套,顺序结构、选择分支结构、循环结构及其嵌套的应用、结构体、指针以及综合应用,会使用文件的一些函数。
7.会独自分析问题解决问题,提高解决问题的能力。
8.提高分析问题和解决问题的能力,提高程序设计水平二. 设计内容1.运用结构体及链表等编辑一个简单的学生宿舍基本信息管理系统,使之能够完成学生基本信息的输入、保存、读取、查找、插入、删除、修改、排序、统计、输出、退出。
2.利用密码对系统信息进行管理。
2.执行编译操作,并根据提示调试此程序,排除所有的错误和警告,直到编译成功为止。
3.执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。
4.接受老师的检查并回答老师所提出的问题,知道令老师点头为止。
5.根据自己的源程序及运行情况截取相应的图片,完成实验报告。
三.概要设计1.功能模块图2.各个模块详细的功能描述。
登陆界面:需将在文件中设置好的密码与输入的密码进行比较,正确即可进入主界面,可选择要输入的信息,否则退出1.输入模块struct Node*creat_inf()进入输入信息模块,用do-while循环对学生信息进行输入。
2.保存信息模块void save_inf(struct Node*head)对信息进行保存,保存到文件中。
3.读取信息模块struct Node*read_inf()从指定文件中读取出保存的信息。
4.查找信息模块struct Node*find(struct Node*p)在已保存的信息中按学号查找对应学号。
学生宿舍管理系统c语言报告
学生宿舍管理系统c语言报告一、引言学生宿舍管理系统是一个用于管理学生宿舍的软件系统。
它能够帮助学校方便地进行学生宿舍的分配、入住、退房、维修等管理工作。
本报告将介绍该系统的设计与实现过程,包括需求分析、系统架构、关键功能与算法等。
二、需求分析2.1 功能需求学生宿舍管理系统需要具备以下主要功能:1. 学生信息管理:包括学生基本信息、联系方式等;2. 宿舍信息管理:包括宿舍楼层、房间号、容纳人数等;3. 入住管理:学生入住、退房、换宿舍等;4. 维修管理:记录宿舍维修情况及维修进度;5. 报表生成:生成各类统计报表,如入住率、维修次数等;6. 用户权限管理:不同用户拥有不同的操作权限。
2.2 性能需求学生宿舍管理系统需要满足以下性能需求:1. 数据处理快速:能够快速响应用户操作,保持系统的高可用性;2. 数据存储安全:对于敏感信息需要进行加密保存,确保数据安全性;3. 界面友好易用:操作界面简洁明了,用户易于操作;4. 扩展性强:系统可以方便地扩展功能,满足学校不同的管理需求。
三、系统架构学生宿舍管理系统采用三层架构进行开发,包括表示层、业务逻辑层和数据访问层。
3.1 表示层表示层是用户与系统交互的界面,这里采用命令行界面来展示系统功能。
用户可以通过输入指令来执行相应的操作,系统会返回相应的结果。
3.2 业务逻辑层业务逻辑层负责处理系统的业务逻辑,将用户的操作请求转发给数据访问层,并对返回结果进行处理后返回给表示层。
同时也包括系统的核心算法的实现。
3.3 数据访问层数据访问层负责与数据库进行交互,处理数据库的读写操作。
它封装了对数据库的操作方法,并提供给业务逻辑层使用。
四、关键功能与算法4.1 学生分配算法学生分配算法是学生宿舍管理系统的核心功能之一。
该算法需考虑学生的性别、年级、特殊需求等因素,确保学生宿舍分配的公平性和合理性。
算法步骤如下:1. 根据学生的性别和年级筛选出符合条件的宿舍楼;2. 根据学生的特殊需求,进一步筛选符合条件的房间;3. 若找到符合条件的房间,则将学生分配到该房间,更新宿舍数量信息;4. 若未找到符合条件的房间,提示学生重新选择或申请特殊宿舍。
C语言学生管理系统_综合实验报告
C语言学生管理系统_综合实验报告一、引言学生管理系统是一种方便高校进行学生信息管理的工具,具备添加、删除、查询、修改等基本功能,可以提高学校教务部门的工作效率,减少人力资源的浪费。
本文将介绍一个基于C语言的学生管理系统的设计和实现。
二、系统设计1.需求分析学生管理系统主要包括学生信息、教师信息和课程信息的录入、查询、修改和删除等功能,同时要求可以按照学号、姓名等字段进行快速检索。
系统还需要能够自动生成学生的成绩单和课程表,方便学生进行查看。
2.系统架构学生管理系统采用客户端-服务器模式,客户端和服务器之间通过网络进行数据传输。
客户端通过命令行界面与用户交互,服务器负责处理客户端发送的请求并返回相应的结果。
3.系统功能模块(1)学生信息管理模块:包括学生信息的添加、查询、修改和删除等功能。
(2)教师信息管理模块:包括教师信息的添加、查询、修改和删除等功能。
(3)课程信息管理模块:包括课程信息的添加、查询、修改和删除等功能。
(4)成绩管理模块:包括成绩的录入和查询功能。
(5)课程表模块:根据学生选课情况生成学生的课程表。
三、系统实现1.开发环境系统开发环境选择C语言,编译器使用GCC,开发工具使用Dev-C++。
2.数据存储系统的数据存储采用文本文件的形式,每个学生、教师和课程信息分别存储在一个文本文件中,使用逗号分隔各个字段。
3.界面设计系统界面使用命令行界面,通过菜单来提供各个功能的选项,用户可以根据提示输入相应的指令进行操作。
4.功能实现(1)学生信息管理功能:用户输入学生信息后,系统将学生信息保存到指定的文本文件中,并返回操作结果。
(2)教师信息管理功能:用户输入教师信息后,系统将教师信息保存到指定的文本文件中,并返回操作结果。
(3)课程信息管理功能:用户输入课程信息后,系统将课程信息保存到指定的文本文件中,并返回操作结果。
(4)成绩管理功能:用户输入学生学号和对应的课程信息后,系统将成绩保存到指定的文本文件中,并返回操作结果。
软件工程实验报告宿舍管理系统
软件工程实验报告宿舍管理系统学校专业学号姓名一、系统分析 (3)1.业务流程图 (3)二、需求分析 (3)三、系统整体设计 (5)1.系统管理模块 (5)2.宿舍信息管理模块 (5)3.学生入住管理模块 (5)4.宿舍卫生检查模块 (5)5.水电收费模块 (6)6.报修管理模块 (6)7.来访人员管理模块 (6)8.报表统计模块 (6)四、功能描述: (7)1.宿舍管理系统总数据流图: (7)2.宿舍信息登记分数据流图: (7)3.入住学生信息登记分数据流图: (7)4.宿舍卫生检查分数据流图: (8)5.宿舍水电收费分数据流图: (8)6.宿舍报修分数据流图: (9)7.来访人员登记分数据流图: (9)五静态结构模型 (9)1.定义系统对象 (9)六、软件运行需求 (10)1.硬件接口 (10)2.软件接口 (10)3.故障处理 (10)4.其他问题: (10)七、数据字典(DD) (10)一、系统分析1.业务流程图3种不同权限的用户进入特定的界面进行各自操作。
以学生用户权限登录,操作流程如图1-2所示:以员工权限登录,操作流程如图1-3所示:以最高管理员权限登录,操作流程如图1-4所示:二、需求分析在本系统分析中采用用例驱动的分析方法分析需求的主要任务,识别参与者和识别用例。
并建立用例模型。
由于学生宿舍管理工作存在工作量大、事务繁琐的特点,宿舍管理人员需付出大量的工作时间来从事各种事务性工作,但工作的效率很低。
为提高工作效率,减轻校方人员的工作负担,决定针对学生宿舍管理开发管理系统软件,以供宿舍管理人员通过电脑操作进行宿舍管理,从而使学校的宿舍管理工作系统化、规范化、自动化,提供整个宿舍管理的效率,使总体管理水平上升到一个新的高度。
本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。
并且计算机的存储与快速查询功能大大提高了宿舍管理的效率,并且还提高了学籍信息管理的精确度。
C语言课程设计学生宿舍管理系统
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言实训报告班级: k1223-5姓名:赵荷学号:20129230518目录1.课程实训目的 (2)2.需求分析 (2)2.1要求 (2)2.2任务描述 (3)2.3运行环境 (3)2.4开发工具 (3)3.总体设计 (3)3.1系统流设计 (3)3.2系统模块设计 (5)4.详细设计 (5)4.1数据结构设计 (5)4.2模块接口设计 (7)4.3 以下是几个主要模块的流程图: (8)5.运行结果 (10)5.1主菜单界面: (10)5.2信息录入界面: .......................................... 错误!未定义书签。
5.3信息浏览界面: (12)5.4 信息查询界面: (13)5.5信息修改界面: (13)6.程序调试与测试 (14)6.1程序调试与分析 (14)6.2程序测试结果 (16)7.问题与不足 (16)8.建议 (17)9.编程体会 (17)10.程序源代码: (17)11.参考文献 (38)12.用户使用手册 (38)1.课程实训目的1)通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
2)通过课程实训,进一步掌握C语言中重要的数据结构。
掌握并熟练运用指针、链表、结构体、文件等数据结构。
3)通过课程实训,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。
4)通过课程实训,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。
5)通过课程实训,加强了自己的程序分析能力。
2.需求分析2.1要求1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。
2)运用结构化程序设计方法,按照课程实训题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。
C语言学生管理系统综合实验报告
C语言学生管理系统综合实验报告##一、实验目的本实验旨在设计和实现一个简单的学生管理系统,使用C语言编写,帮助学生了解C语言常用的数据结构和文件操作,并能够实际应用在实际的学生管理中。
##二、实验内容本实验要求设计一个学生管理系统,能够完成以下功能:1.添加学生信息:包括学号、姓名、性别、年龄等基本信息;2.修改学生信息:根据学号修改学生的基本信息;3.删除学生信息:根据学号删除学生的信息;4.查询学生信息:根据学号或姓名查询学生的信息;5.显示全部学生信息:将所有学生的信息显示出来;6.保存学生信息到文件:将学生的信息保存到文件中;7.从文件读取学生信息:从文件中读取学生的信息。
##三、实验设计###数据结构设计在设计学生管理系统时,我们需要选择合适的数据结构来存储学生的信息。
本实验中,我们选择使用结构体来表示学生的信息,代码如下:```cstruct Studentint id; // 学号char name[20]; // 姓名char gender[5]; // 性别int age; // 年龄};```###功能实现根据实验要求,我们需要实现添加、修改、删除、查询、显示和文件操作等功能。
以下是具体实现的思路:1.添加学生信息:从用户输入获取学生的信息,并将其添加到学生数组中;2.修改学生信息:根据用户输入的学号,在学生数组中找到对应的学生信息,并更新其基本信息;3.删除学生信息:根据用户输入的学号,在学生数组中找到对应的学生信息,并将其删除;4.查询学生信息:根据用户输入的学号或姓名,在学生数组中找到对应的学生信息,并将其显示出来;5.显示全部学生信息:遍历学生数组,将所有学生的信息显示出来;6.保存学生信息到文件:将学生数组中的所有学生信息保存到文件中;7.从文件读取学生信息:从文件中读取学生信息,并将其存储到学生数组中。
##四、实验结果经过实验的设计与实现,我们成功完成了学生管理系统的编写,并进行了测试。
c语言学生信息管理系统实训报告
c语言学生信息管理系统实训报告
C语言学生信息管理系统是以C语言为编程语言开发的数据管理系统,该系统基于数
据库技术,实现了人事档案管理、班级管理、成绩管理、考勤管理及学生信息管理等功能。
本次实训,我使用C语言编程,在Visual Studio2017环境下,实现了一种自定义的
学生信息管理系统。
该系统实现学生信息的查询、删除、添加及修改功能。
在项目的开发
过程中,我也使用了文件读取与保存、数据结构训练、数据处理等编程技术。
其中,采用
C语言处理文本文件,用链表结构组织数据,并实现增删改查等功能;使用链表结构处理学生信息,实现数据的添加、修改和删除等操作;使用文件读取及保存,在开发过程中
记录及复用学生信息,并按要求输出学生信息报表;使用数据结构进行数据处理,通过
数据的排序、查找等操作,实现提高学生管理的效率。
实训过程运用C语言基础知识和结构化编程思想,巩固了编写程序的知识和编程技术,让我更加深入地理解面向对象思想。
在实训过程中,我熟练掌握了if语句、while语句、switch语句等基础编程语句,加深了对编程概念的理解,同时也学会了在实际编程中如何把这些概念运用到编程中,从而熟练掌握C语言的编程技巧。
实训结束时,我认为自己在编程方面有了很大的进步,对C语言的编程也有了更深的
理解,同时自己也掌握了一套独立的编程思维,并能够利用面向对象思想,实现学生信息
管理系统客户端最新需求。
学生系统 c 实验报告
学生系统c 实验报告引言学生管理系统是一种用于管理学生信息的软件,它能够帮助学校、教育机构以及各类培训机构对学生的信息进行存储、查询和管理。
在本次实验中,我们使用C 语言设计并实现了一个简单的学生系统,通过该系统可以进行学生信息的新增、修改、查询和删除等操作。
设计思路在本次实验中,我们采用了模块化的设计思路,将学生系统分为学生信息管理模块、数据库模块和用户界面模块。
学生信息管理模块该模块用于处理学生信息相关的操作,包括增加学生信息、修改学生信息、查询学生信息和删除学生信息等功能。
为了方便之后的扩展性,我们将学生信息的数据结构定义为一个结构体,包括学生姓名、学号、性别和年龄等信息。
在学生信息管理模块中,我们通过链表的方式进行数据的存储和管理。
数据库模块数据库模块用于实现学生信息的持久化,将学生信息存储到磁盘文件中,以便之后的读取和修改操作。
在本次实验中,我们采用了文本文件的方式实现数据库模块,将学生信息保存为文本格式,并通过文件操作函数对数据进行读写。
用户界面模块用户界面模块用于实现与用户的交互,包括菜单显示、用户输入和信息输出等功能。
我们通过命令行界面的方式设计用户界面,用户可以通过输入对应的命令来操作学生信息。
实验结果经过实验的设计和编码,我们成功实现了一个简单的学生系统。
用户可以通过菜单选择不同的操作,进行学生信息的增删改查。
系统在运行时可以正常读取和保存学生信息,并且能够根据用户的选择执行相应的操作。
实验总结通过本次实验,我们深入理解了学生系统的设计思路和实现过程。
学会了如何使用C 语言进行模块化设计,分解问题并解决问题。
同时,我们也对文件操作和链表数据结构有了更深入的了解和掌握。
在实验过程中,我们也遇到了一些问题和挑战,比如对学生信息的输入和验证、文件读写的处理和用户界面的设计等。
通过不断的调试和优化,我们最终完成了系统的开发和测试。
通过本次实验,我们不仅提高了编程能力和解决问题的能力,还加深了对学生系统的理解和应用。
C语言课设报告学生宿舍管理系统
程序设计工程训练报告学生宿舍管理系统课程名称程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1 需求分析 (1)2 系统总框图和功能模块说明 (2)2.1 系统总框图。
(2)2.2 功能模块说明 (3)2.3 程序总体框架 (4)3 系统设计 (10)3.1 主要结构体 (10)3.2主要功能函数 (10)4 调试情况 (11)4.1输入密码进入程序 (11)4.2主界面 (11)4.2.1输入学生信息 (11)4.2.2输出学生信息 (12)4.2.3更新学生信息 (12)4.2.4查询学生信息 (13)4.2.5排序 (14)4.2.6统计学生信息 (14)5 设计总结 (15)6 源程序清单 (16)1 需求分析输入正确密码后进入系统,用read_message()函数先读取文件内容,再在do while 循环中用switch语句进行选择(选一进入输入模块;选二进入输出模块;选三进入更新模块,在更新模块中又包含了三个小的模块:删除,修改,插入;选四进入查询模块,在查询模块中可以根据信息中的学号,姓名,宿舍,楼层,楼号来进行查询;选五进入排序模块,在排序模块中可以根据学号,宿舍,楼层,楼号进行排序;选六进入统计模块,可以根据宿舍,楼层,楼号进行统计。
)退出程序时,对信息进行保存,以便下次调用。
2 系统总框图和功能模块说明2.1 系统总框图))())2.2 功能模块说明1.输入函数:用来录入数据和有关信息。
2.输出函数:用来输出录入的相关信息。
3. 读函数:将文件中的数据读入。
4.更新模块:对以存信息进行更新.有以下几个选项:(1)删除函数:用来删除已离校的学生信息。
(2)修改函数:用来修改改变宿舍的学生信息。
(3)插入函数:用来插入新同学的宿舍信息。
5.查询模块:输入一项信息,可以得到存入的整条信息,具体有以下:(1)按姓名查询:输入学生姓名,可得到整条学生信息。
C语言课程设计报告学生宿舍管理系统
《高级语言程序设计》课程设计说明书设计题目:学生宿舍管理系统目录一、总体设计 (3)1.程序的总体设计 (3)2. 函数原型声明 (3)二、用户说明 (4)1、菜单界面 (5)2、入住登记界面 (5)3、删除界面 (5)4、浏览界面 (6)5、查询修改 (6)6、排序界面 (6)7、退出 (6)三、小结 (7)四、参考文献 (7)五、源程序代码 (7)一、总体设计1.程序的总体设计◎确定界面,使用户可选择操作项目(录入,删除,浏览,修改,查询,排序)。
◎录入:使用结构体,要求用户输入楼栋、房号、面积、可住人数、已住人数◎删除:按房号删除以上信息◎查询:按房号查询以上信息◎修改:按房号修改以上信息◎排序:按已住人数排序信息2. 函数原型声明struct room *add(struct room *head);//添加函数struct room *del(struct room *h);//删除函数void show(struct room *h);//信息浏览函数void serh(struct room *h);//查询与修改函数struct room *sort(struct room *head);//排序函数void can();//结束函数二、用户使用说明运行程序后即可按提示模仿以上操作进行。
2、入住登记界面3、删除界面5、查询修改6、排序界面7、退出三、小结通过编写该程序,熟悉了C语言的基本语法,选择,循环等结构,深入练习了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向过程语言思想,和一些基本算法。
通过对程序的后期调试,熟悉了C常见错误,锻炼了思维的严密性,和完备性。
通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思路,使思维更加条理化,清晰化。
四、参考文献[1]谭浩强.C程序设计(第二版).北京:清华大学出版社,1999[2]邓文新.张宏烈.哈尔滨工业大学出版社[3]百度.五、附件源程序代码#include<stdio.h>#include<malloc.h>#include<string.h>#include <stdlib.h>struct room{int Lnum;int Fnum;int squa;int maxnum;int innum;struct room *next;};struct room *add(struct room *head);//添加函数struct room *del(struct room *h);//删除函数void show(struct room *h);//信息浏览函数void serh(struct room *h);//查询与修改函数struct room *sort(struct room *head);//排序函数//修改点void can();//结束函数void main(){struct room *head;int x,y;head=(struct room *)malloc(sizeof(struct room));head->next=NULL;printf("欢迎使用学生宿舍管理系统!\n");printf("按回车键进入菜单界面\n");getchar();while(1){A: printf("[]--------------------------------------------[]\n");printf("||--------------------------------------------||\n");printf("|| 1.入住登记 ||\n");printf("|| 2.删除信息 ||\n");printf("|| 3.信息浏览 ||\n");printf("|| 4.查询修改 ||\n");printf("|| 5.按入住人数排序 ||\n");printf("|| 6.退出系统 ||\n");printf("||--------------------------------------------||\n");printf("[]--------------------------------------------[]\n");printf("请选择服务项目!\n");flushall();scanf("%d",&x);//菜单选择if(head->next==NULL&&x!=1&&x!=6){printf("系统中无入住信息,请先进行入房登记!\n");goto A;}switch(x){case 1:head=add(head);system("cls");printf("登记完毕!\n");continue;case 2:head=del(head);T: scanf("%d",&y);while(y!=1&&y!=0){printf("输入错误!请重新输入!\n");goto T;}if(y==1){system("cls");continue;}elsecan();goto N;case 3:show(head);printf("是否返回菜单界面进行其他操作?(1/0)\n"); J: scanf("%d",&y);while(y!=1&&y!=0){printf("输入错误!请重新输入!\n");goto J;}if(y==1){system("cls");continue;}else{can();goto N;}case 4:serh(head);system("cls");continue;case 5:head=sort(head);//修改点printf("是否返回菜单界面进行其他操作?(1/0)\n"); scanf("%d",&y);while(y!=1&&y!=0){printf("输入错误!请重新输入!\n");goto J;}if(y==1){system("cls");continue;}else{can();goto N;}continue;case 6:can();goto Q;default:printf("输入错误!请重新输入!\n");}N: if(y==0)break;Q: if(x==6)break;}}struct room *add(struct room *head)//入住登记{struct room *h,*p;int i=0,n;h=head;printf("请输入要登记的入房数:\n");scanf("%d",&n);printf("请输入入住信息:\n楼号房号面积最大入住人数已入住人数\n");printf("数据须按规定顺序输入,不同数据用空格分开。
c#-实习报告
c#课程实习报告实习题目名称:学生公寓管理系统班级序号: 111102-18 学生姓名:代彦宾***师:***中国地质大学信息工程学院软件工程系2012年7月C#课程实习报告一、实习目的及要求实习目的:开发学生公寓管理系统,主要包括基于数据库开发和前期的C#应用程序开发两个方面,选择这个题目,主要是为了更好的运用数据库开发的知识和提高所学编程语言开发能力。
要求:在数据库开发方面,要求后台数据库的建立和维护数据一致性和完整性强。
对于前端应用程序的开发,要求程序能提供强大的数据操作功能,界面友好,使用简单等。
二、实习选题的背景及目标背景:在本校的学生公寓管理中,由于扩招,本校的学生人数剧增,传统的管理方式已经不能适合高校宿舍管理的需要,因此需要一个功能完善,操作方便的宿舍管理信息系统。
而该系统应该包含学生公寓管理的基本功能:学生管理、公寓相关工作管理等。
学生公寓管理系统是应对学生宿舍管理的网络化,逐步摆脱寝室管理的人工管理方式,提高学生宿舍管理效率而开发的。
目前,我们学校的宿舍管理还是人工管理方式。
数据信息仍以文本方式保存。
针对这一情况,我们设计了学生公寓管理系统。
目标:该学生公寓管理系统设计完毕后,经运行,可完善的展现学生宿舍信息。
提高学生宿舍管理员的工作效率。
方便同学及其他老师。
届时,该系统有以下信息:楼房管理:楼房信息、房间信息、住户信息等。
住宿管理:实现用户登陆;实现匿名用户院系,专业,姓名、宿舍号等查询和组合查询功能;实现管理员对院系、专业、学生的添加、修改、删除;实现按院系,专业,姓名等统计功能。
来访人员管理:实现登记信息。
自行车管理:内容略。
维修管理:内容略。
该系统运行成功后能准确无误的反应学生公寓信息,能进行学生公寓各方面的管理。
用户界面美观,对用户来讲,操作简单。
三、实习设计方案根据题目的要求,该系统主要包括住宿管理,来访人员管理,自行车管理,维修管理等。
整个程序的设计,就按照这几个管理系统来展开。
c语言宿舍管理系统总结与心得
c语言宿舍管理系统总结与心得C语言宿舍管理系统总结与心得在学习C语言的过程中,我深入研究了宿舍管理系统的设计和实现。
通过对这一主题的学习,我对C语言的应用有了更深入的理解,同时也提高了自己的编程能力和解决问题的能力。
在本文中,我将共享我对C语言宿舍管理系统的总结与心得,并探讨如何利用C语言来实现一个高效的宿舍管理系统。
一、宿舍管理系统的设计思路在设计宿舍管理系统时,首先要明确系统的功能和需求。
宿舍管理系统需要包括学生信息的录入、查询和修改,宿舍信息的管理,以及宿舍费用的统计和管理等功能。
在实现这些功能时,需要考虑系统的可扩展性和稳定性,以满足不同规模和需求的宿舍管理。
二、C语言在宿舍管理系统中的应用在实现宿舍管理系统时,我深刻认识到了C语言的强大之处。
C语言作为一种高效的编程语言,为实现宿舍管理系统提供了良好的支持。
通过使用C语言,我可以轻松地实现数据的输入、存储和处理,从而更好地满足系统的功能需求。
C语言的结构化特点也使得宿舍管理系统的代码更加清晰和易于维护。
三、深入学习的收获通过深入学习C语言宿舍管理系统的设计与实现,我获得了许多宝贵的经验和知识。
我深刻认识到了程序设计的重要性,只有在系统设计合理的前提下,才能实现一个高效且稳定的宿舍管理系统。
我也学会了如何充分利用C语言的特性,来简化系统的实现过程,提高代码的效率和可靠性。
通过自己动手实践,我深刻理解了C语言的应用场景和技巧,为以后的工作和学习打下了坚实的基础。
四、个人观点和总结C语言宿舍管理系统的学习让我受益匪浅。
通过对系统的深入研究和实践,我不仅提高了自己的编程能力,也加深了对C语言的理解。
我也意识到了系统设计的重要性,以及如何通过C语言来实现一个高效和稳定的宿舍管理系统。
希望通过今后的学习与实践,我能够进一步提高自己的编程水平,为以后的工作和学习做好准备。
在本文中,我共享了我对C语言宿舍管理系统的总结与心得,并探讨了C语言在宿舍管理系统中的应用。
宿舍管理系统C语言实验报告材料
C语言程序设计报告题目:宿舍管理系统院系名称:电子工程学院专业名称:计算机科学与技术班级:1001学生姓名:XXX学号(8位):13指导教师:XXX设计起止时间:2011年6月22日~2011年6月30日一. 设计目的学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据的高校来说,人工记录是相当麻烦的。
而且当查找某条记录时,由于数据量庞大,还只能靠人工一条条去查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的而世界,原始的记录方式已经被社会所淘汰,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
故随着宿舍需要管理的信息快速增长,建立一个宿舍管理系统可使宿舍管理人员的管理工作系统化、规范化、自动化,大大提高管理效率。
二. 设计内容1.录入学生信息2.显示学生信息3.插入学生信息4.修改学生信息5.删除学生信息6.排序学生信息7.统计学生信息8.管理员密码三.概要设计1.录入学生信息将信息保存至文件中2.从文件中读取信息显示出学生信息3.从文件中读取信息存至单链表中,传递头指针从而修改学生信息,再将修改完成的学生信息保存至文件中4.从文件中读取信息存至单链表中,传递头指针从然后用冒泡法排序学生信息,再将修改完成的学生信息保存至文件中5.统计学生信息按照宿舍号、楼层、楼号分别统计出人数6.管理员进入此系统需输入密码,而学生进入则不需要1.功能模块图;2.各个模块详细的功能描述。
1.录入学生信息录入学生信息将信息保存至文件中2.显示学生信息从文件中读取信息显示出学生信息3.插入学生信息从文件中读取信息存至单链表中,传递头指针从而插入学生信息,再将修改完成的学生信息保存至文件中4.修改学生信息从文件中读取信息存至单链表中,传递头指针从而修改学生信息,再将修改完成的学生信息保存至文件中5.删除学生信息从文件中读取信息存至单链表中,传递头指针从而删除学生信息,再将修改完成的学生信息保存至文件中6.排序学生信息从文件中读取信息存至单链表中,传递头指针从然后用冒泡法排序学生信息,再将修改完成的学生信息保存至文件中 主函数 密码 管理员 文件 存入单链表 录入 显示 插入 删除修改排序存入文件统计学生7.统计学生信息统计学生信息按照宿舍号、楼层、楼号分别统计出人数四.测试数据及运行结果1.正常测试数据和运行结果要求提供3组正常测试数据和运行结果排序查找2.异常测试数据及运行结果要求提供2组异常测试数据和运行结果五.调试情况,设计技巧及体会1.改进方案对自己的设计进行评价,指出合理和不足之处,提出改进方案;管理员密码不精致,会被管理员以外的人看到保密性不好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安邮电大学C语言课程设计报告题目:学生宿舍管理系统院系名称:计算机学院专业名称:软件工程班级:1205班学生姓名:邵欢学号(8位):04123157指导教师:王小银一.设计目的1. 掌握结构体的定义和使用。
2.理解链表工作原理,熟悉基本操作。
3.熟悉C语言中文件操作。
4.掌握文件的定义方法及文件指针的概念,掌握文件打开、关闭、读、写文件基本操作函数。
5掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及它们赋值的方法。
6.握函数的调用及嵌套,顺序结构、选择分支结构、循环结构及其嵌套的应用、结构体、指针以及综合应用,会使用文件的一些函数。
7.会独自分析问题解决问题,提高解决问题的能力。
8.提高分析问题和解决问题的能力,提高程序设计水平二. 设计内容1.运用结构体及链表等编辑一个简单的学生宿舍基本信息管理系统,使之能够完成学生基本信息的输入、保存、读取、查找、插入、删除、修改、排序、统计、输出、退出。
2.利用密码对系统信息进行管理。
2.执行编译操作,并根据提示调试此程序,排除所有的错误和警告,直到编译成功为止。
3.执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。
4.接受老师的检查并回答老师所提出的问题,知道令老师点头为止。
5.根据自己的源程序及运行情况截取相应的图片,完成实验报告。
三.概要设计1.功能模块图2.各个模块详细的功能描述。
登陆界面:需将在文件中设置好的密码与输入的密码进行比较,正确即可进入主界面,可选择要输入的信息,否则退出1.输入模块struct Node*creat_inf()进入输入信息模块,用do-while循环对学生信息进行输入。
2.保存信息模块void save_inf(struct Node*head)对信息进行保存,保存到文件中。
3.读取信息模块struct Node*read_inf()从指定文件中读取出保存的信息。
4.查找信息模块struct Node*find(struct Node*p)在已保存的信息中按学号查找对应学号。
5.插入信息模块int insert(struct Node*p0),将想要插入的信息添加到已有信息中,并保存。
6.删除信息模块int del(struct Node*head),按学号找出要删除的学生信息,找到删除。
7.修改信息模块void modify(struct Node*p),按学好着出要修改的学生信息,在输入要修改的内容,并保存。
8.信息排序模块struct Node*sort(struct Node*head)按宿舍号对学生信息进行排序。
9.统计信息模块int statis(struct Node*head),将保存的学生信息进行统计,并输出。
10.输出信息模块,void print(struct Node*p)将之前做过修改、排序、插入的所有信息输出。
11.退出。
四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图1.密码登陆界面。
.2息3.插入模块L4.删除模块5.修改模块6.7.统计模块8.输出模块3.重点设计及编码程序的主要设计在各个模块的功能方面,其中密码部分及主界面各模块的调用是比较着重设计的环节printf("\n\n\n\n\n\t\t\t 欢迎登陆学生宿舍信息管理系统\n");printf("\n\n\n\n\t\t\t\t请输入密码:");for(i=0;i<6;i++){system("stty -echo");scanf("%c",s+i);printf("*");system("stty echo");}s[6]='\0';//限制密码为6位printf("\n\n\n\n\n\t\t\t 输入完毕,请按任意键继续。
");getchar();if(strcmp(s,"358046")==0){printf("\n\n\n\n\n\t\t 密码输入正确,系统正在打开中,按任意键进入……");getchar();do{system("clear");Menu();scanf("%d",&select);system("clear");switch(select){case1://保存基本信息到指定文件head=creat_inf();//创建基本信息单链表system("clear");save_inf(head);printf("\n");break;case2://显示链表信息print(head);getchar();printf("\n");printf("请按任意键返回主菜单。
");getchar();break;case3://插入if(insert(head)){printf("插入成功!\n");save_inf(head);printf("请按任意键返回主菜单。
");getchar();}else{printf("有重号,插入失败!\n");print(head);printf("\n");printf("请按任意键返回主菜单。
");getchar();}break;case4://修改modify(head);save_inf(head);getchar();printf("请按任意键返回主菜单。
");getchar();break;case5://删除if(del(head))/*删除*/{printf("已正确删除!\n");}else printf("要删除结点不存在\n");print(head);save_inf(head);printf("请按任意键返回主菜单。
");getchar();break;case6://查找p=find(head);if(p){printf("该生信息为:\n");printf("学号:%d 姓名:%s 性别:%c 年龄:%d 宿舍楼号:%s 宿舍号:%s\n",p->num,p->name,p->sex,p->age,p->addr,p->room);}elseprintf("未找到该学生!\n");getchar();printf("请按任意键返回主菜单。
");getchar();break;case7://从指定的磁盘文件中读取信息并存入单链表中head=read_inf();print(head);printf("请按任意键返回主菜单。
");getchar();break;case8://打印head=read_inf();print(head);printf("请按任意键返回主菜单。
");getchar();break;case9://统计printf("已存%d个学生信息!\n",statis(head));getchar();printf("请按任意键返回主菜单。
");getchar();break;case10:sort(head);save_inf(head);getchar();printf("请按任意键返回主菜单。
");getchar();break;default:printf("\n\n\n\n\n\n\n\n\t\t\t\t 感谢您的使用。
");printf("\n\n\n\t\t\t 确定退出?(y/n):");//fflush(stdin);getchar();ch=getchar();printf("\n\n\t\t");if(ch=='y'||ch=='Y'){exit(0);}break;//system("pause");}}while(1);//end do}else{printf("\n\n\n\n\n\t\t\t 对不起,您的密码输入有误!\n\n");printf("\n\n\t\t\t\t 请按任意键退出。
");getchar();}}四.测试数据及运行结果1.正常测试数据和运行结果要求提供3组正常测试数据和运行结果将学号为3的学生宿舍号修改为135删除学号为2的学生查找学号为1的学生信息按年龄大小排序(从大到小)人数统计从指定文件中读取数据2.异常测试数据及运行结果要求提供2组异常测试数据和运行结果删除学号为2的学生信息六.调试情况,设计技巧及体会1.用Switch()语句时发现当用整型作为判断依据时,用户如果输入的为字符就会出现卡屏的现象,而用字符型时有可能出现死循环。
2.语法错误容易发现,逻辑错误不易发现而且比较隐蔽,而且很难修改。
3.程序设计应分模块设计,在编写过程中不要一大块的区编译,当你完成整个程序的一小部分时,就进行编译查错,程序首先要保证没有语法错误,这样以便以后调试,函数名及变量名尽量要做到见名知意,方便自己调试,也方便他人阅读。
4.对于程序中的注释是我们一直不够重视的,很多人编程时不写注释,或者注释很少,这样也不利于自己修改程序,更不利于他人阅读程序。
1.改进方案利用switch-case.制作主界面,供选择,利用两个链表来实现对信息的排序,使得在编写过程中的难度降低,再利用do-while循环,使得程序的可读性也变好。
2.体会在设计过程中的体会:在开始的设计中我确实感到自己知识运用十分不灵活,有些概念理解不到位,有些子函数不会编,只是照着课本套,我也感觉到把这门课学好是十分有用的,还有这门课的逻辑思维是非常严密的,学好它能够很好的训练人的逻辑思维的。
C语言软件设计既然作为一门利用C语言理论课程的另一门学科必定有它的重要性,C程序设计需要我们总结理论课所学知识,并熟练应用。
它是学生的一种强化训练和智力的开发。
我想其目的并不是要求我们能编写出高水平的程序,而是要求我们能独立进行实践,完成自己的工作,并培养我们大学生在动手方面的技能。