ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:193.46KB ,
资源ID:3672354      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3672354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理系统C语言课程方案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理系统C语言课程方案.docx

1、学生信息管理系统C语言课程方案课 程 设 计 报 告 书所属课程名称 C语言课程设计 题 目 学生信息管理系统 2018年6月14日目 录第1章 需求分析 第2章 整体设计 第3章 详细设计 第4章 系统测试 第5章 课程设计心得第6章 参考文献 第一章 设计内容及要求设计“学生信息管理系统”使其具有学生信息录入功能,修改、删除、显示和查询功能。 1)包括创建学生个人信息:学生学号、姓名、年龄、号码、地址。 2)学生信息添加功能。 3)学生信息删除功能。 3)学生信息修改功能。 4)查询学生信息功能。 程序设计组成框图2程序流程图头文件#include #include#include#inc

2、lude#define Nsizeof(struct stud2数入口说明main(。主函数;void menu(。主菜单界面;void add(。添加新的学生信息;void print(int i。打印学生信息;void scan(。查找学生信息;void res(。检索学生信息界面;void res_name(。按姓名检索;void res_num(。按学号检索;void del(int i。删除学生信息;void modify(int i。修改学生信息;void fileopen(。打开文件;void filesave(。保存文件;3调用关系add(menu(add(fileopen(r

3、es(add(menu(scan(menu(main(modify(int ires_name(res(del(int ires_numfilesave(第四章 调试与测试1编译工具VC+6.02主菜单第五章 心得体会通过这次C程序课程设计,我感受到了编程是一项非常烦琐周密的活动,它不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎,一点小的错误就可能导致整个程序不能运行。我初步学会了课程设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,使我收益最大的是享受到了一种成功的喜悦。因为C语言底子比较差,

4、我选择的是相对容易的学生信息管理系统。先开始,比较快速的把大体程序代码写出来了,然后是进行编译,这个环节是一个非常痛苦和艰难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。由于所学的知识不多,自己的编程经验不足,仍存在一些问题,如不能实现模糊查找等功能。按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进第六章 参考文献1.谢希仁. 计算机网络第五版)M. 北京:电子工业出版社,2008年2月2.

5、胡小强 计算机网络M 北京:北京邮电大学出版社2005年1月3.李丽娟C语言程序设计教程第二版)M 人民邮电出版社,2009年3月4.李丽娟C语言程序设计教程习题答案与实验指导第二版)M 人民邮电出版社附件 程序源代码#include #include #include # include # define N sizeof(struct stud /测结构体变量的大小/ typedef struct stud char number20。 char name20。 char sex20。 char call20。 char add20。 struct stud *next。 fun。 /为结

6、构体命名/ fun *creatlink(void /创建链表信息/ fun *p1,*p2,*head。 /p1为前驱,p2为后继/ int i=1。 char choice。 head=p2=(fun *malloc(N。 head-next=NULL。 choice=y。 for(i=1。choice=y|choice=Y。i+ p1=(fun *malloc(N。 printf(*nn。 printf(请输入第%d个学生的信息:n,i。 printf(学号:。 scanf(%s,p1-number。 printf(n姓名:。 scanf(%s,p1-name。 printf(n性别:。

7、 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。 void savelink(fun *h /保存链表信息/ fun *p。 FILE *fp。 char fliename20。 printf(n请输入你要保存的文件名?。 scanf(%s,fliename。 if(fp=fopen(fliename,w

8、t=NULL printf(写文件出错?按任意键退出!。 getche(。 exit(1。 for(p=h-next。p!=NULL。p=p-next fprintf(fp,%s %s %s %s %s %sn,p-number,p-name,p-sex,p-call,p-add。 /向文件中写入数据/ printf(文件已成功保存?按任意键返回!。 getche(。 fclose(fp。 fun *readlink(void /读出已保存文件的信息/ fun *head,*p,*q。 FILE *fp。 char filename20。 printf(n请输入要打开的文件名:。 scanf(

9、%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 %sn,p-number,p-name,p-sex,p-call,p-add。 q-next=p。 q=p。 q-next=NULL。 fclose(fp。 printf(文件信息已正确读出?按任意键返回!。

10、 getch(。 return head。 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。 /插入数据操作代码/ h

11、ead-next=p。 printf(n学生信息插入成功!按任意键继续!。 getche(。 return head。 fun *delet(fun *p0 /删除信息/ char num20。 fun *p。 char choice。 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(你要删除的信息如下,请确认是否删除:

12、n。 printf(n 学号:%s 姓名:%s 性别:%s 电话:%s 宿舍号:%snn,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(。 return p0。 fun *modify(fun *h /修改信息/ char num20。 fun *p。 char choice。 printf(n请输入要修改学

13、生信息的学号?。 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

14、性别:%s 电话:%s 宿舍号:%snn,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(。 return h。 void find(fun *h /查询信息/ char num20。 fun *p。 printf(n请输入你要查找的学生的学号?。 scanf(%s,num。 for(p=h。strcmp(p-number,num!=0。p=p-next 。 printf(你查找的学生信息如

15、下:n。 printf(n 学号:%s 姓名:%s 性别:%s 电话:%s 宿舍号:%snn,p-number,p-name,p-sex,p-call,p-add。 printf(按任意键继续!。 getche(。 void print(fun *p /显示全部信息/ p=p-next。 while(p!=NULL printf(n 学号:%s 姓名:%s 性别:%s 电话:%s 宿舍号:%sn,p-number,p-name,p-sex,p-call,p-add。 p=p-next。 printf(n按任意键继续!。 getche(。 fun *sort(fun *head fun *q,*

16、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-number0 /*前结点和后结点比较大小*/ 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。 /*返回头指针*/ void main( int choice=1,i,

17、ok=1。 /choice用于选择对数据执行操作,i循环,ok主界面选择/ fun *head,*h。 head=NULL。 for(i=1。ok!=0。i+ system(cls。 printf(n欢迎来到学生信息管理系统主界面!nnn。 printf(nnn 1.创建新文件.nnn。 printf( 2.读取原文件,并执行相应操作.(原文件名为:jxx。 printf(nnn 0.退出?。 printf(nnnnn请选择你要执行的操作:。 scanf(%d,&ok。 if(ok=1 system(cls。 head=creatlink(。 /创建新链表并保存文件/ savelink(hea

18、d。 if(ok=2 head=readlink(。 /进入文件,对已知数据进行操作/ for(i=1。choice!=0。i+ system(cls。 printf(*欢迎来到学生信息管理系统*nnn。 printf( 1. 添加学生信息? nn。 printf( 2. 删除学生信息? nn。 printf( 3. 修改学生信息? nn。 printf( 4. 查询学生信息? nn。 printf( 5. 显示全部信息? nn。 printf( 6. 排序全部信息? nn。 printf( 0. 退 出 ? nn。 printf(请输入你要执行的操作代码?。 scanf(%d,&choice。 switch(choice case 1: h=insert(head。savelink(h。break。 /执行增,删,改完毕后对新信息进行保存/ case 2: h=delet(head。savelink(h。break。 case 3: h=modify(head。savelink(h。break。 case 4: find(head。break。 case 5: print(head。break。 case 6: h=sort(head。savelink(h。break。 case 0: break。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1