C语言课程设计 读者信息管理系统.doc
《C语言课程设计 读者信息管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程设计 读者信息管理系统.doc(24页珍藏版)》请在沃文网上搜索。
1、通信工程C语言强化训练实验报告目录读者信息管理程序11、 强化训练目的12、 设计题目功能13、 设计题目要求14、 程序流程图25、主要代码106、 强化训练心得体会23读者信息管理程序1、 强化训练目的a) C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。b) C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。c) 程序的结构化设计。d) 编辑、设置、编译、调试、执行。e) C语言结合实际问题的综合设计。2、 设计题目功能通过计算机对数据文件的存储和读取,实现对读者信息进行存储和管理,以及完成读者信息的增、删、改、查找等功能。3、
2、设计题目要求 读者信息至少包括学号、姓名、读者等级、借阅书刊编号、到期日期等基本信息。要求: 1有主界面和主菜单 2用链表存放读者信息 3可以实现按学号、姓名查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示A信息录入 D信息删除F信息查询Q退出4、 程序流程图传统流程图:菜单函数录入信息显示信息查找信息删除信息存储信息读取信息 录入信息 显示信息 查询信息 删除信息5、主要代码#include StdAfx.h#include /*头文件*/#include#include /*其它说明*/#include /*字符串函数*/#include /*内存操作函数*/#include /*
3、字符操作函数*/#include /*动态地址分配函数*/#include #define LEN sizeof(STUDENT)FILE *fp;typedef struct Dayint year;int mon;int day; DAY;typedef struct stu /*定义结构体数组用于缓存数据*/ char num9; char name9; char sex3; char level2;char serialnum9; DAY lendnum; struct stu *next;STUDENT;STUDENT *p;STUDENT *init(); /*初始化函数*/int
4、 menu_select(); /*菜单函数*/STUDENT *create(); /*创建链表*/void print(STUDENT *head); /* 显示全部记录*/void search(STUDENT *head); /*查找记录*/STUDENT *del(STUDENT *head); /*删除记录*/STUDENT *sort(STUDENT *head); /*排序*/void save(STUDENT *head); /*保存文件*/STUDENT *load(); /*读文件*/void main() STUDENT *head; head=init(); /*链表
5、初始化,使head的值为NULL*/ for(;) /*循环无限次*/ switch(menu_select() case 1:head=create();break; case 2:print(head);break; case 3:search(head);break; case 4:head=del(head);break; case 5:save(head);break; case 6:head=load(); break; case 7:exit(0); /*如菜单返回值为7则程序结束*/ STUDENT *init() /*初始化函数*/ return NULL; /*返回空指针*
6、/menu_select() /*菜单选择函数*/int n; printf(n); printf( n); printf( n); printf( * * 读 者 信 息 管 理 * * n); printf( n); printf( made by ChengTingTing n); printf( n); printf( n); printf( n); printf( 1、录入读者信息 2、显示读者信息 n); printf( n); printf( 3、查询读者信息 4、删除读者信息 n); printf( n); printf( 5、保存读者信息 6、读取读者信息 n); print
7、f( n); printf( 7退出系统 n); printf( n); printf( n); /用户界面 printf(n); printf( 请选择您需要的操作序号(1-7)并按回车确认:); do scanf(%d,&n); while(n7); /*如果选择项不在17之间则重输*/ return(n); /*返回选择项,主函数根据该数调用相应的函数*/ STUDENT *create()STUDENT *head=NULL,*p; /* 定义函数.此函数带回一个指向链表头的指针*/ char ch; system(cls); for(;) p=(STUDENT *)malloc(LE
8、N); /*开辟一个新的单元*/ fp=fopen(40906.dat,ab); fwrite(&p,sizeof(struct stu),1,fp); if(!p) /*如果指针p为空*/ printf(n内存溢出.); /*输出内存溢出*/ return (head); /*返回头指针,下同*/ printf(请输入学号(0:list end):); /*提示输入学号*/ scanf(%s,&p-num); printf(请输入姓名:); scanf(%s,&p-name); printf(请输入性别:); /*提示开始输入性别*/ scanf(%s,&p-sex); printf(请输入
9、读者等级:); scanf(%s,&p-level); printf(请输入借阅书刊编号:); scanf(%s,&p-serialnum); printf(请输入借阅书刊到期时间(YYYY-MM-DD):); scanf(%d-%d-%d,&p-lendnum.year,&p-lendnum.mon,&p-lendnum.day); p-next=head; /*将头结点做为新输入结点的后继结点*/ head=p; /*新输入结点为新的头结点*/ printf(n是否继续输入?Y/Nn); scanf(%s,&ch); if(ch=N|ch=n) return(head); getchar(
10、); fclose(fp);/*显示函数*/void print(STUDENT *head)fp=fopen(40906.dat,r);fread(&p,sizeof(struct stu),1,fp);int i=0; /* 统计记录条数*/ STUDENT *p; /*移动指针*/ system(cls); p=head; /*初值为头指针*/ printf(n*STUDENT*n); printf(-n); printf(| 序号 | 学号 | 姓名 | 性别 | 等级 | 书刊编号 | 到期日期|n); printf(-n); while(p!=NULL) i+; printf(|
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课程设计 读者信息管理系统 语言 课程设计 读者 信息管理 系统