




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)题 目 名 称 学生个人信息管理系统 课 程 名 称 C语言程序课程设计 学 生 姓 名 李灵利 学 号 1141303073 系 、专 业 信息工程系、通信工程 指 导 教 师 黄同成 目 录2 需求分析32.1 要求32.2任务32.3 运行环境32.4 开发工具33概要设计与详细设计34 具体代码实现541程序代码55.2 课程设计总结22参考文献22致 谢231前言 编写一个程序来处理同学个人信息。通过一个结构体数组来存放输入的每一位同学的记录(包括姓名、电话号码、e_mail、地址),然后将其信息存入文件中。输入一个姓名查询该同学的信息,并显示在屏幕上。2 需求分析2.1 要求(1)用C语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。2.2任务用C语言编写一个能够管理学生个人信息的管理系统。程序运行时显示菜单,菜单内容包括:(1)录入个人信息:5个学生的个人信息,学生信息可以包括学号、姓名、性别、出生日期、联系电话、邮编和家庭住址等; (2)修改个人信息:用户可以修改个人信息,在输入某同学的编号后,进入修改信息的菜单至少包括: 修改学生姓名 修改学生联系电话(3)查询个人信息:可以按学号查询;(4)浏览所有信息:显示所有同学的信息;(5)删除个人信息:按学生姓名删除记录。(6)退出系统。其中,学生信息可以用二进制文件方式存储。2.3 运行环境(1)WINDOWS2000/XP系统(2)TurboC2.0编译环境2.4 开发工具C语言3概要设计与详细设计3、1系统流程图开 始 调用函数struct record调用函数 shuru ()调用函数 chaxun()调用函数 xiugai()调用函数 shanchu()调用函数 xianshi()调用函数 baocun()结 束图3.1 系统流程图3.2查询程序流程图图3.2 查询程序流程图4 具体代码实现41程序代码#include /*I/o函数*/#include /*其他说明*/#include /*字符串函数*/#define LEN 5 /*学号和姓名最大学生人数*/#define N 5 /*最大学生人数*/struct record /*声明函数体*/ char code20; /*学号*/ char name10; /*姓名*/ char sex5; /*性别*/ char time20; /*出生年月*/ char add20; /*家庭地址*/ char tel20; /*电话*/ char mail20; /*邮箱地址*/stuN;int k=1,m,n;void shuru();void chaxun();void xiugai();void shanchu();void xianshi();void baocun();void caidan();void tuichuxitong(); void huanyingyemian(); int main() while(k) huanyingyemian(); system(pause); system(cls); printf(请按任意键进入主菜单!n); system(cls); caidan(); system(pause); return 0; void help() system(COLOR 2f); printf(n 尊敬的用户您好!); printf(n =n); printf(| |); printf(n | 1.欢迎进入帮助系统! |n); printf(| |); printf(n | |n); printf(| |); printf(n | 2.请按照菜单提示进入数字代号! |n); printf(| |); printf(n | 4.谢谢您的使用! |n); printf(| |); printf(n =n);void shuru() /* 实现录入学生基本信息功能 */ int i,flag=1; while(flag) flag=0; printf(请输入需要创建信息的学生人数(1-5):n); scanf(%d,&n); if(n5) flag=1; printf(输入错误,检查后请重新输入!n); for(i=0;in;i+) printf(请输入第%d个学生的基本信息:n,i+1); printf(请输入学号:n); scanf(%s,stui.code); printf(请输入姓名:n); scanf(%s,); getchar(); printf(请输入性别(男,女):n); scanf(%s,stui.sex); printf(请输入出生年月(输入格式:年.月):n); scanf(%s,stui.time); printf(请输入家庭地址:n); scanf(%s,stui.add); printf(请输入电话号码:n); scanf(%s,stui.tel); printf(请输入E-mail地址:n); scanf(%s,stui.mail); printf(录入完毕!n); baocun();void baocun() /*保存学生信息到文件的函数*/ int i; FILE *fp; if(fp=fopen(student.txt,wb)=NULL) /*创建文件并判断是否能够打开成功*/ printf(文件不能打开!n); exit(0); /*如果不能打开文件,则关闭当前所有的文件*/ for(i=0;in;i+) /*将内存中的学生信息写入到磁盘文件中*/ if(fwrite(&stui,sizeof(struct record),1,fp)!=1) printf(文件输入错误!n); fclose(fp); /*关闭文件*/void chazhao() int i,t,flag; char s130; system(COLOR 5f); printf(n =n); printf( | 1.按学号查询 |n); printf( | 2.按姓名查询 |n); printf( | 3.退出本菜单 |n); printf( =n);while(1) flag=0; printf( 请输入子菜单编号: ); scanf(%d,&t); switch(t) case 1: printf( 请输入要查询的学生的学号: n); scanf(%s,s1); for(i=0;in;i+) if(strcmp(stui.code,s1)=0) flag=1; printf(学生学号 学生姓名 性别 出生年月 家庭地址 电话 E-mail n); printf(=n); printf(%6s %7s %5s %9s %8s %10s %14sn, stui.code,,stui.sex,stui.time,stui.add,stui.tel,stui.mail); if(flag=0) printf(该学号不存在! n);break;case 2: printf( 请输入要查询的学生的姓名: n); scanf(%s,s1); for(i=0;in;i+) if(strcmp(,s1)=0) flag=1; printf(学生学号 学生姓名 性别 出生年月 家庭地址 电话 E-mail n); printf(=n); printf(%6s %7s %5s %9s %8s %10s %14sn, stui.code,,stui.sex,stui.time,stui.add,stui.tel,stui.mail); if(flag=0) printf(该姓名不存在!n);break;case 3: return; default: printf(请在1-3之间选择n); void xiugai() int i,t,num; char sex13,s130,s230; printf( 请输入要查询的学生的学号:n); scanf(%s,s1); for(i=0;in;i+) if(strcmp(stui.code,s1)=0) num=i; system(COLOR 4f); printf( =n); printf( | 1.修改姓名 |n); printf( | 3.修改性别 |n); printf( | 4.修改出生年月 |n); printf( | 5.修改地址 |n); printf( | 6.修改电话号码 |n); printf( | 7.修改E-mail |n); printf( | 8.修改退出本菜单 |n); printf( =n); while(1) printf(请输入子菜单的编号:); scanf(%d,&t); switch(t) case 1: printf(请输入新的姓名:n); scanf(%s,s2); strcpy(,s2);break; case 2: printf(请输入新的性别:n); scanf(%s,sex1); strcpy(stunum.sex,sex1);break;case 3: printf(请输入新的出生年月: n); scanf(%s,s2); strcpy(stunum.time,s2);break;case 4: printf(请输入新的地址: n); scanf(%s,s2); strcpy(stunum.add,s2);break;case 5: printf(请输入新的电话号码: n); scanf(%s,s2); strcpy(stunum.tel,s2);break; case 6: printf(请输入新的E-mail: n); scanf(%s,s2); strcpy(stunum.mail,s2);break; case 7: return; default: printf(请在1-7之间选择n); void paixu() int i,j,*p,*q,s; char temp10; for(i=0;ii;j-) if(strcmp(stuj-1.code,stuj.code)0) strcpy(temp,stuj-1.code); strcpy(stuj-1.code,stuj.code); strcpy(stuj.code,temp); strcpy(temp,); strcpy(,); strcpy(,temp); strcpy(temp,stuj-1.sex); strcpy(stuj-1.sex,stuj.sex); strcpy(stuj.sex,temp); strcpy(temp,stuj-1.time); strcpy(stuj-1.time,stuj.time); strcpy(stuj.time,temp); strcpy(temp,stuj-1.add); strcpy(stuj-1.add,stuj.add); strcpy(stuj.add,temp); strcpy(temp,stuj-1.tel); strcpy(stuj-1.tel,stuj.tel); strcpy(stuj.tel,temp); strcpy(temp,stuj-1.mail); strcpy(stuj-1.mail,stuj.mail); strcpy(stuj.mail,temp);/ p=&stuj-1; / q=&stuj; /s=*p; / *p=*q; / *q=s; void shanchu() int i,j,flag=0; char s115; printf(请输入将要删除的学生的学号:n); scanf(%s,s1); for(i=1;in;i+) if(strcmp(stui.code,s1)=0) flag=1; for(j=i;jn-1;j+) stuj=stuj+1; if(flag=0)printf(该学号不存在!n);if(flag=1) printf(删除成功!显示结果请按6!n); n-;void xianshi() int i; FILE *fp; if(fp=fopen(student.txt,rb)=NULL) printf(打开文件时错误!请按任意键退出!); system(pause); exit(0); printf( 所有学生的信息为:n n); printf(学生学号 学生姓名 性别 出生年月 家庭地址 电话 E-mail ); printf(=); for(i=0;in;i+) fread(&stui,sizeof(struct record),1,fp); printf(%6s %7s %5s %9s %8s %10s %14sn, stui.code,,stui. sex,stui.time,stui.add,stui.tel,stui.mail);void tuichuxitong() system(COLOR 3f);printf( -n);printf(n);printf(n);void huanyingyemian() system(COLOR 6f); printf(n); printf(n); printf(n); printf(n); printf(n); printf(n); printf(n); printf(n); printf( 尊敬的用户:您好!n); printf(n); printf(n); printf( 欢迎使用n); printf(n); printf(n); printf( -n);printf(n);void caidan() int num; system(COLOR 1f); printf(nn 学生个人信息管理系统nn); printf(=n);printf(n); printf( =系统功能菜单=n); printf( =友情提醒:查询前请刷新统!=n); printf( =n); printf( |=|n); printf( | 0.系统帮助说明 1.输入学生信息 |n); printf( |-|n); printf( | 2.查询学生信息 3.修改学生信息 |n); printf( |-|n); printf( | 4.按学号删信息 |n); printf( |-|n); printf( | 5.显示当前信息 6.保存当前信息 |n); printf( |-|n); printf( | 7.退出系统 |n); printf( |=|n); printf( =n);printf(请选择菜单编号: );scanf(%d,&num); switch(num) case 0:system(cls);help();break; case 1:system(cls);shuru();break; case 2:system(cls);chazhao();break; case 3:system(cls);xiugai();break; case 4:system(cls);shanchu();break; case5:system(cls);xianshi();break; case 6:system(cls);baocun();break; case 7:system(cls);k=0;tuichuxitong(); break; default: printf(请在1-7之间选择n);4.2程序结果图4.2.1 主界面图4.2.2 输入学生信息操作图4.2.3 按学号查询学生信息操作图4.2.4 修改学生信息操作图4.2.5 删除学生信息操作5.2 课程设计总结 从这次C语言课程设计,我不仅学会了怎样编出一个管理系统,而且还深深的体会到编好一个程序是一件非常有意义的事。 我觉得编程不仅需要信心,还需要耐心,更需要团队合作之心,有了这些还不够,我们应该从实践出发,并从实践得到检验,不懂就是不懂,虚心求教才是解决问题的好办法。 最后我要感谢老师给了我这次编程的机会,让我知道了团队合作原来如此重要,并且感受到语言原来也很奇妙,编程之路有点苦,但有我们团队一起走过的痕迹,我最后发现这是甜的味道!两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自我评估健康管理师考试试题及答案
- 医学试题及答案临场应对
- 激光束特性测试试题及答案
- 畅谈光电工程师证书考试的知识构建试题及答案
- 育婴师工作场所安全规范试题及答案
- 激光工程师证书考试考场准备攻略试题及答案
- 激光工程师考证复习内容总结试题及答案
- 激光应用中的挑战与解决方案试题及答案
- 西医临床疑难病讨论试题及答案
- 理论与技术的结合在光电考试中的应用试题及答案
- 遗传的分子基础(遗传学基础课件)
- JGJ144-2019外墙外保温工程技术标准
- 配电工程项目规范
- 浙江省幼儿园教育装备要求规范(试行)
- 法律法规题库题库附答案(精练)
- 译林版六年级下单词默写
- 方案光伏发电项目吊装方案
- 龙软LongRuanGIS地测空间管理信息系统教程-wx4766
- 人教版四年级数学下册期中试卷(含答案)
- (高清版)DZT 0203-2020 矿产地质勘查规范 稀有金属类
- 心理测量学课件
评论
0/150
提交评论