学生籍贯信息记录簿_C语言课程设计

上传人:pu****.1 文档编号:501660655 上传时间:2024-02-04 格式:DOC 页数:32 大小:472.50KB
返回 下载 相关 举报
学生籍贯信息记录簿_C语言课程设计_第1页
第1页 / 共32页
学生籍贯信息记录簿_C语言课程设计_第2页
第2页 / 共32页
学生籍贯信息记录簿_C语言课程设计_第3页
第3页 / 共32页
学生籍贯信息记录簿_C语言课程设计_第4页
第4页 / 共32页
学生籍贯信息记录簿_C语言课程设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《学生籍贯信息记录簿_C语言课程设计》由会员分享,可在线阅读,更多相关《学生籍贯信息记录簿_C语言课程设计(32页珍藏版)》请在金锄头文库上搜索。

1、程序设计课程设计报告课题名称: 学生籍贯信息记录簿专业 计算机科学与技术(软件工程)学生姓名 班级学号指导教师完成日期 一 课程设计的目的-1二 设计内容与要求-1三 主要技术指标及特点-13.0 信息描述(注:用流程图表示)-13.1 创建信息链表并以磁盘文件保存;-23.2 读取磁盘文件并显示输出所有学生的籍贯信息;-33.3 按学号或姓名查询其籍贯;-53.4 按籍贯查询并输出该籍贯的所有学生;-93.5 能添加、删除和修改学生的籍贯信息;-113.6 显示输出江苏籍和非江苏籍学生的信息并可分别存盘。-16四 设计小结-17五 程序源代码-18六 参考文献-29 一 课程设计的目的1.

2、加深对C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤; 2. 进一步掌握和利用C语言进行课程设计的能力;3. 进一步理解和运用结构化程序设计的思想和方法;4. 初步掌握开发一个小型实用系统的基本方法;5. 学会调试一个较长的程序的基本方法;6. 学会利用流程图或N-S图表示算法;7. 掌握书写课程设计开发文档的能力(书写课程报告)。二设计内容与要求 编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能要求如下: 1创建信息链表并以磁盘文件保存;2读取磁盘文件并显示输出所有学生的籍贯信息;3按学号或姓名查询其籍贯;4按籍贯查询并输出该籍贯的所有学生;5能添加

3、、删除和修改学生的籍贯信息;6显示输出江苏籍和非江苏籍学生的信息并可分别存盘。 3.0 信息描述 (注:用流程图表示)籍贯信息记录簿建立链表录入信息显示信息查询信息编辑信息分类管理主函数添加信息删除信息修改信息3.1 创建信息链表并以磁盘文件保存;/*建立链表*/struct hj long number; char name10,address50; struct hj *next;/*文件操作函数*/FILE *fp;void openfile(char xx20) fp=fopen(xx,ab+); if(fp=NULL) fp=fopen(xx,wb);/*主函数*/int main(

4、int argc, char* argv) begin: int t; system(cls); printf(n 欢迎使用户籍管理系统nnnnn); printf( 一 录入学生籍贯信息nn); printf( 二 查编学生籍贯信息nn); printf( 三 删除学生籍贯信息nn); printf( 四 退出程序nn); printf( 请您选择:);mm: scanf(%d,&t); switch(t) case 1: hjnew();break; case 2: hjselect();break; case 3: hjde();break; case 4:exit(0); defaul

5、t:printf(n 错误的选择,请重新选择:); goto mm; goto begin; return 0; 3.2 读取磁盘文件并显示输出所有学生的籍贯信息;void allselect(char a8)/全部查询 int n=0;int k=0; system(cls); printf(n 欢迎使用户籍管理系统n); printf(n 籍贯方式信息nnn); struct hj *p;struct hj *q=NULL,*head=NULL; fp=fopen(a,rb); if(fp=NULL) printf(n对不起,没有记录无法查询!); goto xxxx; rewind(fp

6、); while(!feof(fp) n+; p=(struct hj *)malloc(sizeof(struct hj); fread(p,sizeof(struct hj),1,fp); if(n=1) head=p; else q-next=p; q=p;q-next=NULL; struct hj *h1,*p2,*q3,*r4,*s5; h1=p2=(hj *)malloc(sizeof(struct hj); p2-next=head; while(p2-next!=NULL) q3=p2-next; r4=p2; while(q3-next!=NULL) if(q3-next-

7、numbernext-number) r4=q3; q3=q3-next; if(r4!=p2) s5=r4-next; r4-next=s5-next; s5-next=p2-next; p2-next=s5; p2=p2-next; head=h1-next-next; free(h1); p=head; while(p!=NULL&n0) n-; printf(n学号=%ld 姓名=%s,p-number,p-name); printf(n地址=%s,p-address); p=p-next; xxxx: printf(n显示完毕n返回上级菜单退出程序n请 选 择 :);xxx: sca

8、nf(%d,&n); switch(n) case 1:break; case 2:exit(0); default:printf(n错误的选择,请重新选择:); goto xxx; void hjselect(void)/查询编辑信息函数 cxbegin: int a; system(cls); printf(n 欢迎使用户籍管理系统n); printf(n 查询编辑信息nnn); printf(n 一 按学号方式查询n); printf(n 二 按姓名方式查询n); printf(n 三 按籍贯方式查询n); printf(n 四 显示全部信息n); printf(n 五 返回上级菜单n)

9、; printf(n 请 选 择 查 询 方 式:);cxmm: scanf(%d,&a); switch(a) case 1: hjxmselect();goto cxbegin;break; case 2: hjxhselect();goto cxbegin;break; case 3: hjjgselect();goto cxbegin;break; case 4: allselect(hj.txt);goto cxbegin;break; case 5: break; default:printf(n错误的选择,请重新选择:); goto cxmm; 3.3 按学号或姓名查询其籍贯;/*查询函数*/void hjxmselect(void) /按学号方式查询函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号