当前位置:文档之家› 学生宿舍管理系统C语言

学生宿舍管理系统C语言

《C语言程序设计》课程设计报告题目:学生宿舍管理系统专业:软件技术班级:软件技术1班姓名:李桦楠齐忠春周滨滨徐烨潘喜隆郑竹强学号:124109124 124109131 124109150124109143 124109127 124109148指导老师:陈自力设计时间:2013 年 1 月14 日~ 2013年 1 月18 日信息工程系目录《C程序设计》课程设计报告 (1)1.课程设计计划 (3)2.系统需求分析与功能设计 (4)3. 总体设计 (6)4. 程序模块设计 (8)5. 技术难点与分析 (10)6.系统测试 (11)7. 心得体会 (17)8. 系统实现源代码 (18)1.课程设计计划主要成员分配任务:1.李桦楠,齐忠春(C程序设计课程设计报告)2.周滨滨(系统测试)3.潘喜隆(注册密码导入,登陆)4.郑竹强(排序,账号信息导入)5.徐烨(完成导入,注册模块)6. 李桦楠(完成其它模块功能实现)2013-1-14 早上:完成整个系统架构,各菜单的函数实现。

函数的实现。

2013-1-15 早上实现“Login(),huChe(),huChe(),ZhuChe(),UpMiMa(),Input(),Addto()”函数完成。

2013-1-16早上实现“Modify(),Del(),Query(),Sta(),Px(),DaoRu(),Linen() ZhuZhecodeDaoru(),MiMaDaoRu()”函数完成。

2013-1-17早上系统进行最后的测试。

2.系统需求分析与功能设计1.各函数的组成;void Login(); /*登入函数*/void DengRu(); /*登入*/void ZhuChe(); /*注册*/void UpMiMa(); /*修改密码*/void Input(); /*输入函数*/void Addto(); /*添加函数*/void Modify(); /*修改函数*/void Del(); /*删除函数*/void Query(); /*查找函数*/void Sta(); /*统计函数*/void Px(); /*排序函数*/void Off(); /*退出函数*/void DaoRu(); /*导入数据函数*/void ZhuZhecodeDaoru(); /*注册密码导入函数*/ void MiMaDaoRu(); /*账号信息导入函数*/ void Linen(); /*打出横线函数*/void UpMiMa_menu(); /*修改密码菜单*/void Login_menu(); /*登入菜单*/void Main_menu(); /*主菜单*/void Mod_menu(); /*修改菜单*/void Query_menu(); /*查找菜单*/void Sta_menu(); /*统计菜单*/void Login_menu(); /*登入界面函数*/ 2..结构体struct ZCcode /*注册密码结构体*/{char Password1[6];};struct code /*密码结构体*/{char user[10];char password[6];};struct Inform /*基本信息结构体*/ {int NUM;int ShuHao;char Name[7];char Sex[3];int Age;char Class[10];char Spec[10];3. 总体设计Tu-3.1录入模块 添加模块 删除模块 修改模块 统计模块 查询模块 退出模块学生宿舍管理系统学生宿舍管理系统登入 注册 修改 退出输入注册密码 正确错误输入帐号 输入密码 成功输入指令(1,2,3,4)输入帐号 原密码 新密码修改成功输入帐号输入密码 登 录成功帐号密码错误 录入成员信息写入文件中是否继续录入输入指令(1,2,3,4,5,6,7) 是否删除成员信息输入要删除的成员学号确定要删除该成员是否删除成功修改成员信息输入要修改的成员学号 输入正确没有该成员输入指令(1,2,3,4,5,6,7)查询成员输入指令,选择查询项目学号宿舍号姓名 返回统计成员4. 程序模块设计1.登入主函数实现方法;先定义整形变量 i,Flas=1(i 用来做switch开关,Flas用做while的判断变量. 做一个while循环判断条件为Flas==0。

)在while循环里面,调用清屏函数,然后调用登入界面函数,在屏幕打出提示选择序号,向计算机输入变量i, 做一个sitch开关变量为i,case1里面调用DengRu函数, Flas=0,break。

case2里面调用ZhuChe函数,break。

Case3里面调用UpMiMa()函数,break。

Case4 里面直接用break。

2.登入注册函数实现方法先定义整形变量i,Ese4,(i用来做for循环,Ese4用来做goto跳转)。

定义字符数组Pass[10],Password[6](第一个用来做用户密码第二次的比对,第二个用来做注册密码的比对)。

定义文件指针f,f1(f用来打开用户密码文件,f1用来打开注册密码文件),用a+的方式打开用户密码文件,用r的方式打开注册密码文件。

调用清屏函数。

调用MiMaDaoRu()函数,ZhuZhecodeDaoru()函数,用getchar()清楚缓冲区。

在屏幕上打出提醒输入请注册密码。

用gets()输入注册密码字符数组名为Password。

用if语句来做为判断注册密码有没有相同。

If的条件用字符串比较函数对Password,注册密码结构体的Password1进行比对。

当if为真时,里面调用清屏函数,调用MiMaDaoRu函数,屏幕打出提醒用户输入新账号,用gets向计算机输入密码结构休变量er。

屏幕打出提醒用户输入新密码,用gets向计算机输入入密码结构体变量MiMa1.password。

屏幕打出提醒用户再次密码,用gets向计算机输入字符数组Pass。

用for循环,条件i初始为0,i小于全局变量n(n为总用户数),i++。

For里面用if,if判断条件用字符数组比较函数对er,MiMa[i].user进行比对。

如果为真屏幕打出提醒“已经有该用户存在”调用getch函数,使用goto Ese4。

在for循环外面,用if,if判断条件用字符数组比较函数对Pass,MiMa1.password进行比较,如果为真的化,则用fprintf函数向文件写入re,MiMa.Password的数据。

调清屏函数。

在屏幕上打出提醒“注册成功,用getch函数清楚缓冲区,之后关闭文件.。

当IF为假时。

调用清屏函数,屏幕打出提醒“再次密码不重复。

当if为假时,调出清屏函数,屏幕打出提醒”注册密码错误”。

最后Ese4,关闭文件f,f1。

3登入函数实现方法定义整形变量i,Flas=1(i是用来做for循环变量,Flas=1是用来做判断密码正确性)。

定义字符形数组Pass[10],User[10](分别用来输入密码,和用户名)。

调用清屏函数。

调用MiMaDaoRu函数。

调用getchar()用来清楚缓冲区。

屏幕打出提醒“请输入账号”, 用gets() 输入User 。

屏幕打出提醒“请输入密码”, 用gets() 输入Pass 。

用for 条件为(i=0;i<n;i++).For 里面执行if判断语句,用字符串数组比较函数进行对User,MiMa[i].user进行比较和Pass,MiMa[i].password比较,作为if判断的条件。

如果为真时Flas=0,break。

在循环外面用if 判断Flas是否是1,如果有真,屏幕打印出提醒“账号或密码错误,返回登陆界面!”,用时getch()控制,用getchar()清除缓冲区,调用Login()函数。

如果为假,调用清屏函数,屏幕打出提醒“登陆成功!”,调用getch()。

4.密码修改函数实现方法定义整形i,x,Flas(i是用来for循环控制,x用来做switch开关,Flas做为判断条件)。

定义字符形ZhuCheCode[6],User[10],Code[10](第一者用来做输入注册密码,后两者分别用来输入用户名,用户密码)定义文件指针f1,f。

调用清屏函数,调用MiMaDaoRu()函数,调用ZhuZhecodeDaoru()函数,调用修改密码菜单函数UpMiMa_menu()。

屏幕打出提醒”请选择相应的序号:”用整形向计算机输入x。

用switch开关条件为x。

case 1: 里为调用getchar()清除缓冲区。

调用清屏函数。

屏幕打出提醒”请输入原注册密码”。

用gets()输入注册密码数组明ZhuCheCode。

用if,if条件用字符串比较函数进行对ZhuCheCode,code1.Password1比较。

为真时,里用调用清屏函数。

屏幕打出提醒”请输入新注册密码”用gets()输入密码新密码code1.Password1。

用f1,打开方式为w的方式打开文件”ZCcode.txt”,用if,判断指针,如果为空值,调用系统清屏函数。

屏幕打出提醒“打开文件失败!”。

调用getch()。

,关闭文件f1为假时.时面,调用清屏函数,屏幕打出提醒”注册密码错误”,调用getch()。

最后调用break。

Case 2.里面调用清屏函数。

调用getchar()清除缓冲区。

屏幕打出提醒”请输入用名”。

用gets()输入用户名User。

屏幕打出提醒”请输入密码”。

用gets()输入用户密码Code。

用for,for条件为(i=0;i<n;i++)(n为总用户数量)。

For里面执行if,if判断条件用字符串比较函数对User,MiMa[i].user f进行比较并对Code,MiMa[i].password比较。

两者均为0为真。

执行。

屏幕打出提醒“请输入新的密码”。

用gets()输入MiMa[i].password。

Flas=0。

在循环外面,用if,if判断条件为Flas是否=0。

如果为真,调用清屏函数。

用f,w方式打开文件”MiMa.txt”。

判断指针f是否为空。

真.调用清屏函数。

屏幕打出提醒”打开文件失败!”调用getch()。

否则,用for,for条件为(i=0;i<n;i++)(n为总用户数量)。

分别向文件写入MiMa[i].user,MiMa[i].password的值。

在for循环外,屏幕打出提醒”用户密码修改成功!”,调用getch()。

关闭文件f。

为假时。

调用清屏函数。

屏幕打出提醒”没有该用户存在!”。

调用getch()函数。

Case 3;直接用brea5. 技术难点与分析(主要内容:本课题在设计过程中所遇到的技术难点及解决方法。

相关主题