学生信息管理系统设计_第1页
学生信息管理系统设计_第2页
学生信息管理系统设计_第3页
学生信息管理系统设计_第4页
学生信息管理系统设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、课程设计内容学生信息管理系统设计:E-mail学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话, 等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)-输入学生信息浏览功能-输出查询、排序功能-算法按学号查询按姓名查询学生信息的删除与修改二、应用程序功能的详细说明此程序用C语言编写,是一个学生信息管理系统,用于管理学生的基本信息,具有操作 简单、美观方便、明了易懂、实用高效、人性设计的特点。如今学生越来越多,学生信息如何进行有效地管理成了一个普遍存在的问题。而这个 程序的初衷旨在解决这个问题。此程序包括学生信息的录入、学生信息

2、的浏览、学生信息的查询、学生信息的排序、 学生信息的删除以及修改。其中查询学生信息时可按照学生的学号或姓名查询,具有更多的 口 J选择性。此学生信息管理系统具有自动保存、自动排序的功能,无需用户进行操作,系统已经 帮助用户想到并执行了一切,防止因为用户的疏忽而丢失重要的数据,十分人性化。1、打开程序“工程一学生信息管理系统exe”后,首先会出现以下主菜单:二=菜单=1录入学生信息=2.浏览学生信息=3 查询学生信息=4.删除学生信息=5修改学生信息=o退出=:=:=请选择菜单编号:2、录入学生信息:在主菜单界面输入“1 ”后,系统提示用户输入需要创建信息的学生人数,有效可输入人数限制在1到50

3、0之间(包括1和500) o用户输入想要创建信息的学生人数后,系统会提示用户输入第一个学生的信息,包括学号、姓名、 年龄、性别、出生日期、家庭地址、电话号码、电子邮箱地址,每一步输入一项。一个输入 完毕后,系统提示输入下一个学生的信息,直到输完所有人数。此时系统界面显示“录入完 毕! ”、“请按任意键继续”,按任意键后返回到系统主菜单。3、浏览学生信息:在主菜单界面输入“ 2”后,系统会显示所有学生的信息。此时 看到学生信息已经按照学号从小到大的顺序排列,这个排序过程系统自动完成,方便而人性 化。浏览完毕后按照系统提示按任意键后返回到主菜单。4、查询学生信息:在主菜单界面输入“ 3 ”后,系统

4、会提示用户选择按照学号或者姓名查询学生信息。如选择“ 1”后,系统要求用户输入所要查询的学生的学号,输 入后会显示该学生的所有保存的信息。若想要查询的学生不在里面,则会提示用户该学号不 存在。按照学号查询完毕后,在“请选择子菜单编号:”界面可以选择“ 2”按照姓名查询,查询过程类似于按照学号查询过程。所有查询结束后,在选择子菜单时选择“ 3” ,按任意键后返回到主菜单。5、删除学生信息:此系统是按照学号来删除学生的信息的。在主菜单界面输入“4”后,系统会提示用户输入要删除的学生信息的学号。删除成功后,系统会提示“删除成功! ”若用户输入的学号不在里面,则显示“对不起!该学号不存在! ”完成后,

5、按任 意键返回到系统主菜单。6、修改学生信息:在主菜单界面输入“ 5 ”后,系统会提示想要修改的的学生的 学号,输入后弹出子菜单,有以下几个修改选项:修改姓名、年龄、性别、出生日期、家庭地址、电话号码、电子邮件地址。选择其中一项后修改,可以进 行多次修 改。修改完成后,在子菜单选择界面选择“ 8”以退出修改,按任意键后返回到主菜单。7、退出:在主菜单界面按“ 0”后系统显示“谢谢您的使用! ”并按任意键以退 出“学生信息管理系统”。三、输入数据类型、格式和内容限制1、此系统界面可以分为选择输入和内容输入共两种。(1)选择输入时按照系统提示选择所需功能对应的数字就可以进行操作。(2)内容输入分为

6、两种数据类型,输入时请按照相应数据类型的要求操作。2、此程序输入的数据类型公分两种:(1)年龄(age)是整型(int型)。在需要输入年龄的地方输入正确的整型 数 据,以防程序出错。(2)学号(number)、姓名(name、性别(sex)、出生日期(birthday)、家庭地址(address、电话号码(phone)、电子邮箱地址(mail、 的数据类型是字符型(char型)。在输入学号时,最多可以输入15个字符;姓名最多可 以输入20个字符;性别的最多字符数为4个;出生日期也可以输入20个字符;家庭地址 相对长一些,所以最多可以输入50个字符;电话号码和姓名、出生日期一样,是20个字 符;

7、电子邮箱地址则为30个字符。四、程序流程图modify函数总ch函数退岀心简要的语言描述:1、main()函数中有一个while语句,可以实现无限循环,直到在主菜单界 面输 入“ 0”才退出程序,而无需多次打开程序,也不会出现死循环。2、create () del () modify ()三个函数每次运行都会调用sort ()和 save()函数,以实现自动排序和自动存档。3、print ()函数用以实现学生信息的总体浏览,而search (则用以实现查看单个 学生的信息。4、switch()语句用以实现菜单化设计,这样界面十分干净明了,用户只要选择自 己所需的数字选项就行了。五、结束语通过这

8、次C语言学年设计,我学会了模块化设计,也更加熟练了函数的调用,while 语句和switch语句的使用也更上了一层楼,深入理解了结构化程序设计思想,熟练运用 了机构化程序设计办法,巩固提高了C语言编程能力,也提高了对编程的兴趣。我也会在编程方面更加努力,争取把编程能力提高到一个层次。六、课程设计源程序清单,并能正常运行#i nclude#i ncludeUin clude struct stud_i nformati onchar number 15 ;/* 学兮 */char name 20;/* 姓名 */int age;/* 年龄 */char sex4 :/* 性别 */char bi

9、rthday 20 ;/* 生 H 期 */char address 50 ;/* 家.庭土也址 */char phone 20 ;/* 电话号码 */char mail 30 ;/*电了邮箱地址*/stu500;int n;void createo ;/*录入学生信息*/ void print0 ;/*浏览学生信息/ void search() ;/*查询学生宿息*/ void sort0 序学生信息、*/ void del();/*册Ij除学生彳言息、*/ void modify。;/*彳修改学生信息、*/ void save();/*保存学生信息、*/ /*主 函数*/ int main

10、( void) while (1) prin tf(=菜单prin tf(1.录入学生信息prin tf(2浏览学生信息prin tf(3查询学生信息prin tf(4.删除学生信息prin tf(5.修改学生信息prin tf(0.退出int num;=n粧);=n);prin tf (二二=:=n); printf ( 请选择采单编号:);case 1: create(); break;case 2: prin t(); break;case 3: search(); break;case 4: del 0; break;case 5: modify0;break;case 0:print

11、f (”谢谢您的使用!n);break;if (num=0)break;system(pause);return 0;/*录入学生信息*/void create ()int i,flag=l;while(flag)flag=0;printf C请输入需要创建宿息的学生人数(1_500 xL间):”);scan f(%d,&n);if(n500)flag二1;printf (对不起!输入错误,请检查后重新输入!n);for(i=0;i n ;i+)printf (请输入第紀个学生的基本信息:n”,i+1); printf (“请输入学号:”);scan fstuLi. number);print

12、f(”请输入姓名:”);scanstui name);printf(”请输入年龄:”);scan& stuiage);printf C请输入性别(男”或女”):”);scan f (z%sz stuLi sex); printf (请输入出生Fl期:”);scanstui birthday);printf (”请输入家庭地址:);scanstuiaddress);printf 请输入电话号码:);scanstuipho ne);printf (/z请输入电了邮箱地址:);scanstui mail);sort 0 ;save 0 ; printf (录入完毕!n);/*浏览学生信息*/void

13、 prin t ()int i;printf (所有学生的信息为:n) for (i=0;i n ;i+)printf (第$d个学生的彳吕,息、为:n, i+1) ; printf (该学生学号:% sn,z, stuEi number) ; printf (姓名: %sn*, stuLi namE);printf (年龄:dn, stui age);printf (性别:%snz stui sex );printf (岀生 Fl 期:sn, stui. birthday) ; printf (家庭地(址:%sn,?, stuEi. address ) ; printf (电话号&马:%sn

14、,?, stui. phone);printf (电子邮箱地址:%sn, stui. mail) ; /*查询学生信息*/void search ( )int i,item, flag; char si21;1按学号查询2. 按姓名查询3. 退出本菜单printf (”printf (vprintf (printf (”printf ( while (1)printf (请选择子菜单编号:) ;scan f &item) flag=O;switch (item)case 1:printf (请输入要查询的学生的学号:”);scan f (&si);for ( i=0; i n; i+) if

15、(strcmp (stui nu mber, si ) =0)flag=l;(该学生学号:%sn, stui. number);(姓名:(年龄:(性别:printfprintfprintfprintf%sn,/, stuEi name);%dn, stuEi age);%sn,z, stui sex);printf地址:(出生 F1 期:%snz,, stuiL birthday) ; printf (家庭 %sn, stui. address) ; printf (电i舌号H马:%snz/, stuLi phone );printf (电 J 邮箱地kilt: %sn?/, stuli. m

16、ail );if (flag=0)printf (对不起!该学号不存在! n);break;case 2:printf (请输入要查询的学生的姓名:);scan fsi);for (i=0; i n; i+) if (strcmp(stuEi name, s 1)=0)flag=l;printf C该学生学号:%sn, stui. number) ; printf (姓 名:%snz stuEi name);printf (年龄:%dn, stui age);printf (性别:%sn, stui. sex);printf C 出生 H 期:$sn, stui. birthday) ; pr

17、intf (家庭地i 址:%sn/z, stuEi. address) ; printf C 电 话号码:sn, stuEi phone);printf C 电子邮箱地址:%sn, stui. mail);if(flag=0)printf (对不起!该姓名不存在! );break;case 3:return;default:printf C请在 1-3 之JDJ选择!n);/*排序学生信息权/*按照学号排序*/ void sortOint i,j,*p,*q,s; char temp10; for(i=0;i i;j一一) if(strcmp(stuj一1 nu mber, stuj nu m

18、ber)0) strcpy(temp, stulj1 nu mber); strcpy(stuj-l nu mber, stuEj nu mber);strcpy(stuLj nu mber, temp); strcpy(temp, stuj1 name); strcpy(stuj一1name, stuj name); strcpy(stuj name, temp); strcpy(temp, stuLj一1 sex); strcpy(stuj-l sex, stulj sex); strcpy(stuj sex, temp); strcpy(temp, stuEj 1 birthday);

19、strcpy(stuj-1 birthday, stuj birthday);strcpy(stuj birthday, temp); strcpy(temp, stuj-1 address); strcpy(stuZj1 address, stuj address); strcpy(stuj address, temp); strcpy(temp, stuEj 1 pho ne) ; strcpy (stuj一lph on e, stuLjph on e) ; strcpy (stuj pho ne, temp) ; strcpy (temp, stuLj一1 mail) ; strcpy(

20、stuj-1 mail, stuj mail);strcpy (stuj mail, temp);p=& stulj-1 age;q=& stuLj age; s二*q;*Q=*P;*P=s;/*删除学生信息*/void del 0int i,j, flag=0;char si 21;printfC请输入要删除学生的学号:“)sea nf(玄s,si);for(i=0;i n ;i+)if (strcmp(stui nu mber, si) O)flag=l;for(j=i;j nT;j+)stuj二stuj+l;if(flag=0)printf (对不起!该学号不存在! n);if(flag

21、=l)printf (,z删除成功!n);sortO ;save (); /*修改学生信息*/void modify()int i,item, num;char sexi4, si21, s221;printf (”请输入要修改的学生的学号:“);sea nf(”s, si);printf(”printf printf printf(” printf(” printf(” printf(” printf(” printf(”一);for(i=0;i n ;i+) if(strcmp(stui nu mber, sl)=0) num二i;1. 修改姓名2. 修改年龄3. 修改性别4. 修改出生日期5. 修改家庭地址6. 修改电话号码7. 修改电子邮箱地址8. 退出本菜单prin tf (”二n);while (1) printf(”请选择子菜单编号:”):scan&item);switch (item)case 1:printfC请输入新的姓

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论