版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第一届C语言大赛设计报告题 目: C题 学生信息数据库 . 院系名称: 电气工程学院 .专业班级: . 学生姓名: . 学 号: 报告框架如下:摘 要 -四号字- 关键词: 四号字目 录第一章 综述11 课题的现实意义12 软件环境第二章 系统设计流程图21 系统流程图22 主要功能表第三章 系统分析和设计31
2、 图形的绘制和输出732 文本的输出显示9 33 计算函数的调用1034 程序的运行和退出11第四章 系统测试1241 系统测试1242 调试1343 错误原因分析一14第五章 使用说明1551 运行Turbo C程序进入计算器界面1552 计算器的使用 53 退出程序
3、;第六章 设计总结参考文献附录:源程序C题 学生信息数据库1.1课题的实现意义 这次做的是一个学生信息数据库的程序,通过完成题目所要求的各项功能以及实现这些功能需要掌握的c语言知识,这可以让我们进入社会之后有更大的选择空间以及竞争力。1.2软件环境软件环境选择的是TC7.0。2.1系统流程图定义头文件 建立文件夹定义链表尾结点指针和头指针 实现功能 设计运行界面2.2主要功能本程序的主要功能包括了对学生信息数据库的添加、修改、删除、查询等功能以及建立运行程序所需要的文件夹和自动保存数据的文件夹,而且可以通过姓名直接批量查询学生信息。有简单的运行界面。3.1图形的绘制和输出
4、在本题中用到的图形不多,在制作运行界面时没有选择添加图形,而是采用了输入字符串代替图形。3.2文本的输出显示在制作程序时也遇到了怎样在tc上显示汉字的问题,刚开始我想通过windows自带的记事本进行编译来解决,结果并不尽如人意,最后选择用英文来代替中文。3.3计算函数的调用没有调用,无加密设计3.4程序的运行和退出4.1系统检测 4.2调试4.3错误原因分析关于tc输入汉字的问题,我们打算用windows自带的记事本输入程序源代码,再通过tc编译,结果出现乱码,所以决定用英文代替中文。5.设计总结 通过本次的比赛,使我能够对c语言有了更进一步的了解,特别是在调试的时候,老是出现问题,细节注意
5、不够导致的,这是在以后需要加强的,这可以让我们进入社会之后有更大的选择空间以及竞争力。附录:源程序#include<stdio.h> #include<stdlib.h> #include<string.h> #include <windows.h> #include <winbase.h> typedef struct node /* 定义链表 */ char name20; /* 姓名 */ char address40; /* 籍贯 */ char phone15; /* 电话 */ long zip; /* 性别 */ str
6、uct node *next; add_list; struct person /* 定义一个结构备用 */ char name20; char address50; char phone15; long zip; ; FILE *fp; add_list *tail,*head; /* 定义链表尾节点指针和头指针 */ /* 从文件中读出数据生成通讯录链表,如果文件不存在,生成空链表 */ add_list *load(char filename) add_list *new1,*head; struct person t; head=(add_list *)malloc(sizeof(ad
7、d_list); tail=head=NULL; if(fp=fopen(filename,"rb")=NULL) return head; else if(!feof(fp) if(fread(&t,sizeof(struct person),1,fp)=1) new1=(add_list *)malloc(sizeof(add_list); /* 连入链表第一个节点 */ strcpy(new1->name,); strcpy(new1->address,t.address); strcpy(new1->phone,t.phone)
8、; new1->zip=t.zip; head=tail=new1; new1->next=NULL; while(!feof(fp) /* 连入链表其余节点 */ if(fread(&t,sizeof(struct person),1,fp)=1) new1=(add_list *)malloc(sizeof(add_list); strcpy(new1->name,); strcpy(new1->address,t.address); strcpy(new1->phone,t.phone); new1->zip=t.zip; tail
9、->next=new1; new1->next=NULL; tail=new1; fclose(fp); return head; /* 自定义函数,进度条 */ void jindutiao(void) int i; for(i=0;i<78;i+) putchar('.'); printf("ra"); for(i=0;i<78;i+) if(i=0) putchar('|'); Sleep(100); printf("b|>"); /* 插入一条通讯录记录 */ void insert(
10、add_list *head) add_list * new1; new1=(add_list *)malloc(sizeof(add_list); system("cls"); printf("n请输入姓名:"); getchar();gets(new1->name); printf("n请输入籍贯:"); scanf("%s",new1->address); printf("n请输入电话:"); scanf("%s",new1->phone); prin
11、tf("n请输入性别:"); scanf("%ld",&new1->zip); if(*head=NULL) /* 表头为空时 */ *head=new1; new1->next=NULL; tail=new1; else /* 插入到表尾 */ tail->next=new1; new1->next=NULL; tail=new1; printf("输入完成,按回车键返回."); getchar(); getchar(); /* 将通讯录链表中的内容保存到指定文件中 */ void save(add_
12、list *head,char filename) add_list *p; struct person t; if(fp=fopen(filename,"wb")=NULL) printf("错误:不能打开文件%sn",filename); exit(1); else p=head; while(p!=NULL) strcpy(,p->name); strcpy(t.address,p->address); strcpy(t.phone,p->phone); t.zip=p->zip; fwrite(&t,s
13、izeof(struct person),1,fp); p=p->next; fclose(fp); printf("保存成功,按回车键返回."); getchar();getchar(); /* 显示通讯录内容 */ void display(add_list *head) add_list *p; p=head; if(p!=NULL) printf("姓名:tt籍贯:tt电话:tt性别:n"); while(p!=NULL) printf("%stt%stt%ldtt%sn",p->name,p->addres
14、s,p->zip,p->phone); p=p->next; printf("按回车键返回."); getchar();getchar(); /* 按姓名查询通讯录记录 */ int search(add_list *head) add_list *p; char name20; int flag=0; printf("请输入要查找的人的姓名:"); getchar(); gets(name); p=head; while(p!=NULL) if(strcmp(name,p->name)=0) printf("姓名:tt
15、籍贯:tt电话:tt性别:n"); printf("%stt%stt%ldtt%sn",p->name,p->address,p->zip,p->phone); flag=1; p=p->next; return flag; /* 按姓名删除一条通讯录记录 */ int delete1(add_list *head) add_list *p,*q,*t; char name20,c; int flag=0; printf("请输入要删除人的姓名:"); scanf("%s",name); q=p
16、=*head; while(p!=NULL) if(strcmp(name,p->name)=0) /* 找到要删除的人 */ printf("姓名:tt籍贯:tt电话:tt性别:n"); printf("%stt%stt%ldtt%sn",p->name,p->address,p->zip,p->phone); printf("真的要删除吗?(Y:是,N:否)n"); /* 征求意见(删&不删) */ getchar();c=getchar(); if(c='y'|c='
17、Y') /* 删除 */ if(p=*head) *head=p->next; else q->next=p->next; t=p; p=p->next; free(t); flag=1; else /* 不删,跳过 */ q=p; p=p->next; flag=1; else /* 没找到,继续 */ q=p; p=p->next; return flag; printf("按回车键返回."); getchar(); /* 显示菜单并选择菜单项 */ int menu_select() char c; system("
18、;cls"); printf("tt*通讯录*n"); printf("ttt 1:输入新的通讯记录n"); printf("tttt 2:删除记录n"); printf("tttt 3:查找n"); printf("tttt 4:保存文件n"); printf("ttt 5:浏览所有通讯记录n"); printf("tttt 6:退出n"); do printf("请输入你的选择(16):"); c=getchar(); while(c<'1'|c>'6'); return c; /* 主函数 */ int main(void) char filename2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司综合管理部工作总结及2025年工作计划
- 公司部门人员工作计划范文书
- 2025幼儿园学期工作计划表
- 一:主席团工作计划
- 2025年秋季幼儿园小班工作计划
- 人事年度工作计划范文
- 学校班集体工作计划报告写作
- 幼儿园春季学期大班工作计划
- 《多变的价格》课件
- 《型数控系统简介》课件
- 世界经济概论马工程
- 部编版小学语文五上期末复习教案
- 北师大版三年级数学上册认识小数复习课件ppt
- 人因工程学课后习习题及解答
- 常用食物含铜量表【肝豆核状变性患者食物表】
- PMC部培训资料
- 2022年江苏省卫生系统事业单位考试(临床专业)参考题库(含答案)
- 人工挖探孔专项施工方案(共17页)
- 复合肥料配方大公开
- ZDJ9系列转辙机课件
- 邻近营业线施工方案)
评论
0/150
提交评论