C语言程序设计课设报告_第1页
C语言程序设计课设报告_第2页
C语言程序设计课设报告_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、学生证管理程序报告学号:姓名:完成日期:2012年5月题目内容的提出与描述学生证的有效管理是学校的重要工作,这项工作的工作重点是需要学校建立一个简明高效,便于操作和处理信息的学生证管理系统。这样,学校就可以从全局上掌控、修改、统计学生信息,为学生管理工作提供极大的便利,本程序的目的旨在于管理大量学生的学生证信息,大大提高学校和教师的工作效率。本程序的具体功能包括:1)通过键盘输入某位学生的学生证信息。2)给定学号,显示某位学生的学生证信息。3)给定某个班级的班号,显示该班所有学生的学生证信息。4)给定某位学生的学号,修改该学生的学生证信息。5)给定某位学生的学号,删除该学生的学生证信息。6)提

2、供一些统计各类信息的功能。一. 软件的需求分析描述本软件要实现对学生证信息的有序程序化管理,操作人员可以输入学生的学生证信息并存储,修改学生证信息,删除学生证信息,并通过不同方式查找到学生,从而简化学生证的管理工作,方便进行相关操作。本软件要达到的性能,存储至少100位同学的学生证信息,并可以查找指定学生的学生证信息,修改,删除指定学生的学生证信息,可输出已存储的全部学生的相关信息。二. 开发工具的介绍一C语言的优点1)简洁紧凑、灵活方便。2)运算符丰富。3)数据类型丰富。4)C是结构式语言。5)语法限制不太严格,程序设计自由度大。6)允许直接访问物理地址,对硬件进行操作。7)生成目标代码质量

3、高,程序执行效率高。8)适用范围大,可移植性好。三. 软件的总体设计和详细设计1.软件的总体设计部分画出结构图。学生证管理程序2.软件的详细设计部分画出流程图,并写出个函数之间参数的定义和传递方式、输入数据类型、格式和内容限制。Main函数函数从主函数开始运行,首先进行选择要操作的函数,引导用户执行操作。而后通过全局变量在进行具体操作Setup函数用户选择执行Setup()函数,首先引导用户确定录入人数,之后通过循环语句判断,一次录入每个学生的学生卡信息,包括姓名,性别,学院,以及学号。DCorrect函数无该同学信息,退出函数重新输入指定学生个人信息并覆盖原信息姓名性别学号学院修改结束返回主

4、菜单用户选择执行Correct()函数,首先程序引导输入指定学生的学号,判断输入学号的学生是否存在,如果存在则引导用户重新将该学生的学生卡各项信息输入并覆盖原信息,修改结束后自动返回主菜单等待用户操作,否则直接返回主菜单。Delete函数用户选择调用%Delete()函数程序自动打印出算有已存学生的信息列表学生输入要删除的学生编号并回车确认执行删除操作,按任意键返回主菜单C结束Find函数打印出搜索信息Vfalse小、结束用户选择Find函数,首先引导用户选择查询方式,确认后调用执行响应程序段,最后将查询结果全部打出。r返回主菜单资源描述凡装有Free-C5的程序皆可完美运行此程序程序的源代码

5、#include"stdio.h"#include"string.h"#include"stdlib.h"#include"conio.h"structinformation(charname10;charsex;charnum8;intacademy;typedefstructinformationINFORMATION;structsqlisttp(INFORMATIONstudent100;intlast;typedefstructsqlisttpSQLISTTP;SQLISTTPv;/*建立一个全局变量,线

6、性表*/voidSetup()inti;printf("请输入你要建立数据的人数n");scanf("%d",&v.last);for(i=0;i<v.last;i+)printf("请输入第咐的姓名n",i+1);scanf("%s",);printf("请输入第咐的性别(MorF)n",i+1);scanf("%s",&v.studenti.sex);printf("请输入第咐的学号n",i+1);s

7、canf("%s",v.studenti.num);printf("请输入第咐的学院(1-15)n",i+1);scanf("%d",&v.studenti.academy);getch();voidAdd()v.last+;printf("请输入第%d®的姓名n",v.last);scanf("%s",);printf("请输入第%d®的性别(MorF)n",v.last);scanf("%s

8、",&v.studentv.last-1.sex);printf("请输入第d位的学号n",v.last);scanf("%s",v.studentv.last-1.num);printf("请输入第%d®的学院(1-15)n",v.last);scanf("%d",&v.studentv.last-1.academy);getch();voidCorrect()inti;charnum8;printf(-请输入你想要修正学生信息的学号n");scanf("%

9、s",num);for(i=0;i<v.last;i+)if(strcmp(num,v.studenti.num)=0)break;printf(-请输入该学生的姓名n");scanf("%s",);printf(-请输入该学生的性别n");scanf("%s",&v.studenti.sex);printf("请输入该学生的学号n");scanf("%s",v.studenti.num);printf("请输入该学生的学院n&qu

10、ot;);scanf("%d",&v.studenti.academy);getch();voidDelete()inti,x,k;for(i=0;i<v.last;i+)printf("%d:姓名:st学号:%st别:%cn",i+1,,v.studenti.num,v.studenti.sex);printf(-输入你想要删除的编号n");scanf("%d",&x);if(x<1|x>v.last)printf("删除位置不合适!n")

11、;elsefor(k=x;k<v.last;k+)strcpy(,);v.studentk-1.sex=v.studentk.sex;strcpy(v.studentk-1.num,v.studentk.num);v.studentk-1.academy=v.studentk.academy;v.last-;getch();voidFind()intx,academy1,i,n,k,m,a;charname110,num18,class16,num26;printf("请选择你想要查询的方式:nt1-姓名查找nt2

12、-学号查找nt3-学院查找nt4-班级查找n");scanf("%d",&x);if(x=1)printf("请输入你要查询的姓名n");scanf("%s",name1);for(i=0;i<v.last;i+)if(strcmp(name1,)=0)break;printf("name:%snsex:%cn”,,v.studenti.sex);printf("num:%snacademy:%dn”,v.studenti.num,

13、v.studenti.academy);elseif(x=2)printf("请输入你要查询的学号n");scanf("%s",num1);for(i=0;i<v.last;i+)if(strcmp(num1,v.studenti.num)=0)break;printf("name:%snsex:%cn”,,v.studenti.sex);printf("num:%snacademy:%dn”,v.studenti.num,v.studenti.academy);elseif(x=3)printf(

14、"请输入你要查询的学院n");scanf("%d",&k);for(i=0;i<v.last;i+)if(k=v.studenti.academy)printf("name:%snsex:%cn”,,v.studenti.sex);printf("num:%snacademy:%dn",v.studenti.num,v.studenti.academy);printf("n");elseprintf("请输入你要查询的班级n");scanf(

15、"%s",class1);for(i=0;i<v.last;i+)a=0;for(m=0;m<6;m+)if(class1m=v.studenti.numm)a+;if(a=6)printf("name:%snsex:%cn",,v.studenti.sex);printf("num:%snacademy:%dn",v.studenti.num,v.studenti.academy);printf("n");getch();voidOrder()inti,j,k;for(i

16、=1;i<v.last;i+)for(j=0;j<=v.last-i;j+)if(strcmp(v.studentj.num,v.studentj+1.num)>0)strcpy(,);strcpy(,v.studentj+1.name);strcpy(v.studentj+1.name,);v.studentv.last.sex=v.studentj.sex;v.studentj.sex=v.studentj+1.sex;v.stude

17、ntj+1.sex=v.studentv.last.sex;strcpy(v.studentv.last.num,v.studentj.num);strcpy(v.studentj.num,v.studentj+1.num);strcpy(v.studentj+1.num,v.studentv.last.num);v.studentv.last.academy=v.studentj.academy;v.studentj.academy=v.studentj+1.academy;v.studentj+1.academy=v.studentv.last.academy;for(i=0;i<v

18、.last;i+)printf("num:%sname:%stsex:%cacademy:%dn",v.studenti.num,,v.studenti.sex,v.studenti.academy);getch();voidStatistics()intx,i,k,academy,a,m;charnum16,num26,sex1;k=0;printf("请选择你想要统计的数据:nt1-总学生人数nt2-班级人数nt3-学院人数nt4-男女人数n");scanf("%d",&x);if(x=1)p

19、rintf("总学生人数为:%dn",v.last);elseif(x=2)printf("请输入你想要查询的班级n");scanf("%s",num1);for(i=0;i<v.last;i+)a=0;for(m=0;m<6;m+)if(num1m=v.studenti.numm)a+;if(a=6)k+;printf("%s班共有学生:%d人n",num1,k);elseif(x=3)printf("请输入你想要查询的学院n");scanf("%d",&

20、;academy);for(i=0;i<v.last;i+)if(academy=v.studenti.academy)k+;printf("%d学院共有学生:%d人n",academy,k);elsesex1='M'for(i=0;i<v.last;i+)if(sex1=v.studenti.sex)k+;printf("男女生人数分另U为:%d,%dn",k,v.last-k);getch();main()intx;while(1)printf("MENUn");printf("创建-1n&q

21、uot;);printf("插入-2n");printf("修改-3n");printf("删除-4n");printf("查询-5n");printf("排序-6n");printf("统计-7n");printf("退出-8n");printf("n");scanf("%d",&x);switch(x)case1:Setup();break;case2:Add();break;case3:Correct(

22、);break;case4:Delete();break;case5:Find();break;case6:Order();break;case7:Statistics();break;case8:break;if(x=8)break;system("cls");四. 程序测试方案与实现创建:sex=msex:msex:facadenAf:iacademy:1academy一&r1234rat78-name:uftngchaonme=shuu.Fannameztiaoiu插入:请输入第4位的姓名yaonlng'请输入第4位的性别<HarF>当输入

23、第4位的学号11021101请输入第4位的学院<115>修改信息:-建入改育M出4-请输人你想要修正学生信息的学号11021112请输入该学生的姓名wangchm。请输入该学生的性别请输入该学生的学号11021213请输入该学生的学院:11021101:11021114=11021211:11821212name"yaonxngnane:shuyixfan>name-nftaoyuname:w买n丁匚haosexsexsexsexmaiGademzjmacademysiFaiLceiclemz2macademy1:!uNEM12345678-建A改冒斤出f'言Z-亍号置京于编gal血nFuh皆luycmyog册ouan?ahhaE5VszwX姓姓姓姓人11321101110211141102121111021212HEHU12345678_-建入改唇字出sex=msex=fsex=macadenv:lacademy=2cad

温馨提示

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

评论

0/150

提交评论