大学毕业论文-学生信息记录簿设计.docVIP

  • 2
  • 0
  • 约1.01万字
  • 约 18页
  • 2016-12-31 发布于辽宁
  • 举报
《高级语言》课程设计 题目: 学生信息记录簿 学 院 班 级 姓 名 学 号 成 绩 指导老师 年 月 日 目 录 目的 题目要求 系统设计 程序代码和运行结果 编程中遇到的困难及解决方法 心得体会 参考文献 一、目的 1.进一步掌握和利用C语言进行程序设计的能力 2.进一步了解和运用文件和链表的思想和方法 3.初步掌握开发一个小型实用系统的基本方法 4.学会调试一个较长程序的基本方法 5.掌握书写程序设计开发文档的能力 二、题目要求 编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: (1) 创建信息链表并以磁盘文件保存; (2) 读取磁盘文件并显示输出所有学生的籍贯信息; (3) 按学号或姓名查询其籍贯; (4) 按籍贯查询并输出该籍贯的所有学生; 能添加、删除和修改学生的籍贯信息; (6) 显示输出唐山籍和非唐山籍学生的信息并可分别存盘。 三、系统设计 1. 设计原始资料 (1)链表基础知识 (2)文件处理基础知识 2. 数据结构 struct Student { char num[21]; //学生学号 char name[256];//学生姓名 char address[562];/学生籍贯 struct Student *next; }; 声明一个结构体类型Student 3.模块设计 (1)creat函数:添加需要录入的学生信息 (2)name_surch函数:根据姓名查找学生 (3)num_surch函数:根据学号查找学生 (4)NativePlace_surch函数:按籍贯查找学生 (5)modification_shiyan函数:修改学生信息 (6)showSzechwan_No函数分别显示唐山和非唐山籍学生并非别存盘 (7)print_save函数:保存文件信息 (8)fileout函数:显示文件信息 2. 程序流程图 四、程序代码和运行结果 程序代码 #includestdio.h #includestring.h #includestdlib.h #define LEN sizeof(struct Student) struct Student { char num[21]; char name[256]; char address[562]; struct Student *next; }; int n;//n为全局变量,本文件模块中各函数均可使用它 struct Student *creat()//定义函数。此函数返回一个指向链表头的指针 { struct Student *head; struct Student *p1,*p2; n=0; p1=p2=(struct Student *)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; else p2-next=p1; p2=p1; p1=(struct Student *)malloc(LEN);//开辟动态存储区,把起始地址付给p1 printf(学号\t姓名\t地址\n); scanf(%s%s%s,p1-num,p1-name,p1-address); } p2-next=NULL; system(cls); return(head); } void print_save(struct Student head) { FILE *fp; struct Student *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学号:); pu

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档