如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《高级语言》课程设计题目:学生信息记录簿学院班级姓名学号成绩指导老师年月日目录目的题目要求系统设计程序代码和运行结果编程中遇到的困难及解决方法心得体会参考文献一、目的1.进一步掌握和利用C语言进行程序设计的能力2.进一步了解和运用文件和链表的思想和方法3.初步掌握开发一个小型实用系统的基本方法4.学会调试一个较长程序的基本方法5.掌握书写程序设计开发文档的能力二、题目要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;能添加、删除和修改学生的籍贯信息;(6)显示输出唐山籍和非唐山籍学生的信息并可分别存盘。三、系统设计1.设计原始资料(1)链表基础知识(2)文件处理基础知识2.数据结构structStudent{charnum[21];//学生学号charname[256];//学生姓名charaddress[562];/学生籍贯structStudent*next;};声明一个结构体类型Student3.模块设计(1)creat函数:添加需要录入的学生信息(2)name_surch函数:根据姓名查找学生(3)num_surch函数:根据学号查找学生(4)NativePlace_surch函数:按籍贯查找学生(5)modification_shiyan函数:修改学生信息(6)showSzechwan_No函数分别显示唐山和非唐山籍学生并非别存盘(7)print_save函数:保存文件信息(8)fileout函数:显示文件信息2.程序流程图四、程序代码和运行结果程序代码#include<stdio.h>#include<string.h>#include<stdlib.h>#defineLENsizeof(structStudent)structStudent{charnum[21];charname[256];charaddress[562];structStudent*next;};intn;//n为全局变量,本文件模块中各函数均可使用它structStudent*creat()//定义函数。此函数返回一个指向链表头的指针{structStudent*head;structStudent*p1,*p2;n=0;p1=p2=(structStudent*)malloc(LEN);printf("请依次输入学生的信息,输入学号为零时退出。\n");printf("学号\t姓名\t地址\n");scanf("%s%s%s",p1->num,p1->name,p1->address);head=NULL;while(p1->num[0]!='0')//当学号是0时,退出{n=n+1;if(n==1)head=p1;elsep2->next=p1;p2=p1;p1=(structStudent*)malloc(LEN);//开辟动态存储区,把起始地址付给p1printf("学号\t姓名\t地址\n");scanf("%s%s%s",p1->num,p1->name,p1->address);}p2->next=NULL;system("cls");return(head);}voidprint_save(structStudenthead){FILE*fp;structStudent*p;fp=fopen("D:\\stduent.txt","wb+");//打开文件if(fp==NULL){printf("文件无法打开\n");exit(0);}printf("\n现在,有%d条记录,分别是:\n",n);p=&head;if(&head!=NULL)do{printf("\n学号:");puts(p->num);printf("\n姓名:");puts(p->name);printf("\n地址:");puts(p->address);fseek(fp,0,2);if(fwrite(p,sizeof(structStudent),1,fp