学生信息管理系统设计.doc
《学生信息管理系统设计.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统设计.doc(45页珍藏版)》请在三一办公上搜索。
1、中 国 地 质 大 学本科生课程论文封面课程名称 C语言课程设计 教师姓名 武进霞 本科生姓名 _ 本科生学号 本科生专业 资源勘查与工程基地班所在院系 资源学院 类别: 报告 日期: 2010年2月22日 课程论文题目学生信息管理系统设计 程序设计思路学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以文本菜单方式工作,学生信息录入功能(学生信息最好用文件保存)-输入学生信息浏览功能-输出显示高考一本考生信息查询、排序功能-算法按学号查询按姓名查询学生信息的删除与修改(可选项)根据以上要求,设计程
2、序时需要用到多个调用函数来实现各个功能,因此在main函数中将学生信息录入过后,通过switch语句来实现进入并运行各个功能模块。在程序功能设计之前,将学生信息以结构体的形式存入;在各功能模块中,通过if、for语句来实现判断、循环功能,实现信息浏览、查询、排序等功能。功能模块图学生信息管理系统信息录入信息查询删除某个学生信息将信息按学号排序信息浏览显示一本考生信息按姓名查询按学号查询数据结构设计题目中学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等,在程序中可以通过设计学生信息的结构体来实现学生信息的录用;再考虑到学生数量的大小,我通过建立一个数组来表示各个学生。开
3、始(进入界面)算法设计输入功能选项“1”:继续输入添加学生信息输入学生信息判断是否继续输入信息输入功能选项“2”:显示所有学生信息输入“2”:按学号查找信息输入功能选项“3”:查找学生信息进入功能模块界面输入“1”:按姓名查找信息输入功能选项“4”:输出学生信息结束输入功能选项“5”:按学号排序输入功能选项“6”:退出程序1. main函数(功能界面) void main() int change,n; printf(=学生信息管理系统=n); printf(ttt 请输入学生信息n); shuru(); do system(cls); printf(=学生信息管理系统=n); printf(
4、ttt一: 输入学生信息n); printf(ttt二: 显示学生信息n); printf(ttt三: 查找学生信息n); printf(ttt四: 删除学生信息n); printf(ttt五: 按学号排序信息n); printf(ttt六: 退出程序n); fflush(stdin); printf(ttt请输入功能选项:); scanf(%d,&change); switch(change) case 1:shuru(); break; case 2: xianshi(); break; case 3: printf(请输入您的学号或姓名,输入姓名请按1,输入学号请按2。(输入后按ente
5、r键)n); printf(输入选择: ); scanf(%d,&n); getchar();switch(n)case 1:chaxingming(); break;case 2:chaxuehao();break;break; case 4: shanchu(); break; case 5: paixu(); break; case 6: break; getch(); while(change!=6);2. 输入学生信息void shuru() /输入学生信息 char a; do printf(n请输入学号:); scanf(%d,&sti.id); fflush(stdin); p
6、rintf(n请输入姓名:); gets(sti.name); printf(n请输入年龄:); scanf(%d,&sti.age); printf(n请输入性别:); scanf(%s,&sti.sex); fflush(stdin); printf(n请输入出生年,月:); scanf(%d,%d,&sti.birthday); printf(n请输入电话号码:); scanf(%d,&sti.phone); fflush(stdin); printf(n请输入地址:); scanf(%s,&sti.address); printf(n请输入email:); scanf(%s,&sti.
7、email); printf(n是否继续输入另外一个学生信息?(y/n); fflush(stdin); a=getchar(); i+; while(a=y & i=50); 3. 先是学生信息void xianshi() /显示学生信息 int j; for(j=0;ji;j+) printf(学号t%dnn姓名t%snn年龄t%dnn性别t%snn出生年月t%dnn电话号码t%dnn地址t%snnemailt%snn,stj.id,stj.name,stj.age,stj.sex,stj.birthday,stj.phone,stj.address,stj.email);4. 查找信息v
8、oid chaxuehao() /按学号查找学生的信息 int a,num; char c; do printf(n请输入想查找的学生学号:); fflush(stdin); scanf(%d,&num); for(a=0;a=50) printf(ntt没有找到这个学生!n); else printf(学号t%dn姓名t%sn年龄t%dn性别t%sn出生年月t%dn电话号码t%dn地址t%snemailt%sn,sta.id,sta.name,sta.age,sta.sex,sta.birthday,sta.phone,sta.address,sta.email); printf(n是否查找
9、另一个学生的信息?(y/n); fflush(stdin); c=getchar(); while(c=y);void chaxingming() /根据姓名查询 int m,k; k=0; /用K来反映该生姓名是否重名 char name20,b; do printf(请输入姓名:); scanf(%s,&name); for(m=0;m1) /k1,重名 printf( 因您与某同学重名,请输入考号查询n); chaxuehao(); /调用学号查询函数 else / 不重名情况 for(m=0;m50) printf(ntt没有找到这个学生!n); else printf(学生t%dn姓
10、名t%sn年龄t%dn性别t%sn出生年月t%dn电话号码t%dn地址t%snemailt%sn,stm.id,stm.name,stm.age,stm.sex,stm.birthday,stm.phone,stm.address,stm.email); printf(n是否查找另一个学生的信息?(y/n); fflush(stdin); b=getchar(); while(b=y);5. 删除void shanchu() /删除学生信息 int p,number; char c; do printf(n请输入要删除的学生学号:n); fflush(stdin); scanf(%d,&num
11、ber); for(p=0;pi;p+) if(stp.id=number) break; for(number=p;numberi) printf(tt没有找到这个学生!n); else i-; xianshi(); printf(n是否继续删除另一个学员信息?(y/n) ); fflush(stdin); c=getchar(); while(c=y);6. 排序void paixu() /按学号从大到小排序 int j,k,id1,age1,birthday1,phone1; char name110,sex13,address1100,email1100; for(j=0;ji;j+)
12、 for(k=0;kstk+1.id) id1=stk.id; stk.id=stk+1.id; stk+1.id=id1; strcpy(name1,stk.name);/name1=stk.name;strcpy() strcpy(stk.name,stk+1.name); strcpy(stk+1.name,name1);strcpy(sex1,stk.sex); strcpy(stk.sex,stk+1.sex); strcpy(stk+1.sex,sex1);age1=stk.age; stk.age=stk+1.age; stk+1.age=age1;birthday1=stk.b
13、irthday; stk.birthday=stk+1.birthday; stk+1.birthday=birthday1;phone1=stk.phone; stk.phone=stk+1.phone; stk+1.phone=phone1;strcpy(address1,stk.address); strcpy(stk.address,stk+1.address); strcpy(stk+1.address,address1);strcpy(email1,stk.email); strcpy(stk.email,stk+1.email); strcpy(stk+1.email,email
14、1); xianshi(); 程序代码#include#include#include#includestruct studentint id;char name10;int age;char sex3;int birthday;int phone;char address100;char email100;st50;int i=0;void shuru() /输入学生信息 char a; do printf(n请输入学号:); scanf(%d,&sti.id); fflush(stdin); printf(n请输入姓名:); gets(sti.name); printf(n请输入年龄:);
15、 scanf(%d,&sti.age); printf(n请输入性别:); scanf(%s,&sti.sex); fflush(stdin); printf(n请输入出生年,月:); scanf(%d,%d,&sti.birthday); printf(n请输入电话号码:); scanf(%d,&sti.phone); fflush(stdin); printf(n请输入地址:); scanf(%s,&sti.address); printf(n请输入email:); scanf(%s,&sti.email); printf(n是否继续输入另外一个学生信息?(y/n); fflush(std
16、in); a=getchar(); i+; while(a=y & i=50); void xianshi() /显示学生信息 int j; for(j=0;ji;j+) printf(学号t%dnn姓名t%snn年龄t%dnn性别t%snn出生年月t%dnn电话号码t%dnn地址t%snnemailt%snn,stj.id,stj.name,stj.age,stj.sex,stj.birthday,stj.phone,stj.address,stj.email);void paixu() /按学号从大到小排序 int j,k,id1,age1,birthday1,phone1; char n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3941599.html