




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
存档资料成绩:设计报告书所属课程名称C语言课程设计学生信息管理系统2012年6月14日需求分析整体设计详细设计第4章 系统测试第 5章课程设计心得第 6章参考文献第一章 设计内容及要求设计“学生信息管理系统 ”使其具有学生信息录入功能,修改、删除、显示和查询功能。(1)包括创建学生个人信息:学生学号、姓名、年龄、号码、地址。(2)学生信息添加功能。(3)学生信息删除功能。(3)学生信息修改功能。(4)查询学生信息功能。(5)显示全部学生信息功能。第二章 总体设计思路1>程序设计组成框图添加新的学生信息检索信息浏览所有学生信息 d添加新的学生信息删除所有记录王采单检索学生信息按学号检索修改此同学信息按姓名检索删除此同学信息保存并退出2>程序流程图(见下页)
第三章 详细设计说明1>头文件#include<stdio.h>#include<stdlib.h>#include<string.h>main()main()#include<conio.h>#defineNsizeof(structstud)2>数入口说明main();主函数;voidmenu();主菜单界面;voidadd();添加新的学生信息;voidprint(inti);打印学生信息;voidscan();查找学生信息;voidres();检索学生信息界面;voidres_name();按姓名检索;voidres_num();按学号检索;voiddel(inti);删除学生信息;voidmodify(inti);修改学生信息;voidfileopen();打开文件;voidfilesave();保存文件;3>调用关系add()add()Vmenu()Ascan()4res()add()menu()rres_name()modify(inti)res()J ddel(inti)res_num() menu()第四章 调试与测试1>编译工具VC++6.0tinclud*vinciud»*incIstring.h>Iinclude<cdiixu.h>1aefIneHsizecf-fstructstud) //,四;:匕但变是:小七,卜,/tijprdpfstmct^tudcharnundcr[2SJ:rhdrnail叫?。];ChVSCKfZS];charcdl1[?fl];clur4dd[2t];structstud"next;"un;"力第摘伴雨fun*cnfdtllnkfvuld) //团正万表竺息//tFun r/pIk与■牛邛?力后继“inti=l;eharchoice;htdtl=|j2=(fun ;head〉n心*”hull:choic^-'y";forfi^lfCholce^'y■||choic(?«"V,;!**J(p1=(fuiri*Jnallnc(H)pr1IItf*(r***-as-**»44W»-iS4W444«#-V**44^«4*« W4-K--IkW44-[|'f|所intF「甫椅入单领个学生晌信息:An"」]:prluM1呼号:”);scanf("to'1rPi>nunbtr|:
2>主菜单0,退出?请输入你要执行的操作代码?5学号式姓名以性别;nan电话::1877986^49宿舍号;12m701按任意键继续,第五章 心得体会通过这次C程序课程设计,我感受到了编程是一项非常烦琐周密的活动, 它不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎,一点小的错误就可能导致整个程序不能运行。我初步学会了课程设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,使我收益最大的是享受到了一种成功的喜悦。因为C语言底子比较差,我选择的是相对容易的学生信息管理系统。先开始,比较快速的把大体程序代码写出来了,然后是进行编译,这个环节是一个非常痛艰和艰难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识, 这对于自己是有很大的提高的。由于所学的知识不多,自己的编程经验不足,仍存在一些问题,如不能实现模糊查找等功能。按现有的知识水平有些东西暂时还无法解决, 还有待于在以后的学习中不断提高和改进第六章 参考文献.谢希仁.计算机网络(第五版)[M].北京:电子工业出版社, 2008年2月.胡小强 计算机网络[M]北京:北京邮电大学出版社 2005年1月.李丽娟 《C语言程序设计教程》(第二版)[M]人民邮电出版社,2009年3月.李丽娟 《C语言程序设计教程习题答案与实验指导》 (第二版)[M]人民邮电出版社附件程序源代码#include<stdio.h>#include<stdlib.h>#include<string.h>include<conio.h>defineNsizeof(structstud)//测结构体变量的大小//typedefstructstud{charnumber[20];charname[20];charsex[20];charcall[20];charadd[20];structstud*next;}fun;//为结构体命名//fun*creatlink(void)//创建链表信息//{fun*p1,*p2,*head; //p1为前驱,p2为后继//inti=1;charchoice;head=p2=(fun*)malloc(N);head->next=NULL;
choice='y';for(i=1;choice=='y'||choice=='Y';i++){p1=(fun*)malloc(N);printf(”*************************************************printf(******************************\n\n");printf("请输入第%dj学生的信息:\n",i);printf("学号:");scanf("%s",p1->number);printf("\n姓名:");scanf("%s",p1->name);printf("\n性别 :");scanf("%s",p1->sex);printf("\n电话 :");scanf("%s",p1->call);printf("\n宿舍号:");scanf("%s",p1->add);p2->next=p1;p2=p1;printf("\n是否继续?(Y/N):");choice=getche();printf("\n");}p2->next=NULL;return(head);}voidsavelink(fun*h) //保存链表信息//{fun*p;FILE*fp;charfliename[20];printf("\n请输入你要保存的文件名?");scanf("%s",fliename);if((fp=fopen(fliename,"wt"))==NULL){printf("写文件出错 ?按任意键退出!");getche();exit(1);}for(p=h->next;p!=NULL;p=p->next)fprintf(fp,"%s%s%s%s%s%s\n",p->number,p->name,p->sex,p->call,p->add);//向文件中写入数据 //printf("文件已成功保存 ?按任意键返回 !");getche();fclose(fp);}fun*readlink(void)//读出已保存文件的信息//{fun*head,*p,*q;FILE*fp;charfilename[20];printf("\n请输入要打开的文件名:");scanf("%s",filename);if((fp=fopen(filename,"rt"))==NULL){printf("读文件出错 ?按任意键退出 !");getche();exit(1);}head=q=(fun*)malloc(N);head->next=NULL;while(!feof(fp)){p=(fun*)malloc(N);//建立新链表 ,并从文件中读出数据//fscanf(fp,"%s%s%s%s%s%s\n",p->number,p->name,p->sex,p->call,p->add);q->next=p;q=p;}q->next=NULL;fclose(fp);printf("文件信息已正确读出 ?按任意键返回 !");getch();returnhead;fun*insert(fun*head)//插入信息//fun*p;p=(fun*)malloc(N);printf("\n请输入要插入学生的信息:\n");printf("\n学号?");scanf("%s",p->number);printf("\n姓名:");scanf("%s",p->name);{{printf("\n性别:");scanf("%s",p->sex);printf("\n电话:");scanf("%s",p->call);printf("\n宿舍号:");scanf("%s",p->add);if(head->next!=NULL){p->next=head->next;//插入数据操作代码//head->next=p;}printf("\n学生信息插入成功!按任意键继续!");getche();returnhead;}fun*delet(fun*p0) //删除信息//{charnum[20];fun*p;charchoice;if(p0->next==NULL)printf("信息出错!按任意键退出!");getch();exit(1);}printf("\n请输入要删除学生的学号 ?");scanf("%s",num);for(p=p0->next;strcmp(p->number,num)!=0;p0=p,p=p->next);//找到要删除的学生的信息//printf("你要删除的信息如下,请确认是否删除 :\n");printf("\n学号:%s姓名:%s性别:%s电话:%s宿舍号:%s\n\n",p->number,p->name,p->sex,p->call,p->add);printf("\n是Y否N:"); //显示要删除的学生的信息//choice=getche();if(choice=='Y'||choice=='y'){p0->next=p->next;free(p);printf("\n文件删除成功!");}printf("\n按任意键结束 !");getche();returnp0;}fun*modify(fun*h) //修改信息//{charnum[20];fun*p;charchoice;printf("\n请输入要修改学生信息的学号 ?");scanf("%s",num);for(p=h;strcmp(p->number,num)!=0;p=p->next); //找到要删除的学生的信息//while(1){printf("请输入修改后学生的信息?\n");printf("学号?");scanf("%s",p->number);printf("\n姓名:");scanf("%s",p->name);printf("\n性别:");scanf("%s",p->sex);printf("\n电话:");scanf("%s",p->call);printf("\n宿舍号:");scanf("%s",p->add);printf("修改后学生信息如下:\n");printf("\n学号:%s姓名:%s性别:%s电话:%s宿舍号:%s\n\n",p->number,p->name,p->sex,p->call,p->add);printf("\n确认?是Y否N:");choice=getche();if(choice=='y'||choice=='Y')break;}printf("\n修改成功 ,按任意键继续 !");getche();returnh;}voidfind(fun*h) //查询信息//{charnum[20];fun*p;printf("\n请输入你要查找的学生的学号 ?");scanf("%s",num);for(p=h;strcmp(p->number,num)!=0;p=p->next);printf("你查找的学生信息如下:\n");printf("\n学号:%s姓名:%s性别:%s电话:%s宿舍号:%s\n\n",p->number,p->name,p->sex,p->call,p->add);printf("按任意键继续!");getche();}voidprint(fun*p) //显示全部信息//{p=p->next;while(p!=NULL){printf("\n学号:%s姓名:%s性别:%s电话:%s宿舍号:%s\n",p->number,p->name,p->sex,p->call,p->add);p=p->next;}printf("\n按任意键继续 !");getche();}fun*sort(fun*head){fun*q,*t,*p;p=head;t=NULL;while(t!=head->next)
p=head;q=p->next;while(q->next!=t){if(strcmp(p->next->number,q->next->number)>0)/*前结点和后结点比较大小*/{p->next=q->next;q->next=q->next->next;p->next->next=q;}p=p->next;q=p->next;}t=q;}printf("学生信息排序完毕 ?按任意键继续 !");getche();print(head);return(head);/*return(head);/*返回头指针 */voidmain(){intchoice=1,i,ok=1;//choice用于选择对数据执行操作,i循环,ok主界面选择〃fun*head,*h;head=NULL;for(i=1;ok!=0;i++){system("cls");printf("\n欢迎来到学生信息管理系统主界面 !\n\n\n");printf("\n\n\n 1.创建新文件.\n\n\n");printf(" 2.读取原文件 ,并执行相应操作 .(原文件名为 :jxx)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机软件升级合同
- 维修工程劳务合同
- 法人授权协议
- 五金批发市场企业品牌传播渠道拓展与优化考核试卷
- 洗涤设备的定制化市场需求考核试卷
- 玻璃制品检测仪器操作考核试卷
- 百货零售企业风险管理体系构建考核试卷
- 电动汽车噪音与振动控制技术考核试卷
- 矿物加工过程中的数学建模与应用-石墨滑石考核试卷
- 绢纺和丝织的智能制造技术发展现状与趋势分析考核试卷
- 压轴题10 压强与浮力选填压轴题(解析版)-2023年中考物理压轴题专项训练
- 中医外科 男性不育症
- (正式版)JTT 1490-2024 港口安全设施分类与编码
- 21《杨氏之子》公开课一等奖创新教案
- 车辆应急预案方案恶劣天气
- 【部编版】语文五年级下册第五单元《交流平台 初试身手》精美课件
- 枇杷文化知识讲座
- 浙江伟锋药业有限公司年产100吨拉米夫定、50吨恩曲他滨、30吨卡培他滨技改项目环境影响报告
- 公路养护安全作业规程-四级公路养护作业控制区布置
- 八年级家长会领导讲话4篇
- 美世国际职位评估体系IPE3.0使用手册
评论
0/150
提交评论