c语言课程设计学生档案管理系统_第1页
c语言课程设计学生档案管理系统_第2页
c语言课程设计学生档案管理系统_第3页
c语言课程设计学生档案管理系统_第4页
c语言课程设计学生档案管理系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计基础课程设计实验报告书目录1. 设计题目学生信息管理系统设计2. 正文系统简介学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话, E-mail 等。试设计一学生信息管理系统,使之能提供以下功能:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能按学号查询、按姓名查询、5、学生信息的删除与修改( 可选项 )要求:使用文件方式存储数据。选题背景经典计算机问题, 设计 学生信息管理系统, 可以进行多项系统信息管理功能设计内容设计学生信息管理的各个功能。系统以菜单方式工作。学生信息 录入功能(学生信息用文件保存)输入。学生

2、信息浏览功能 输出。学生信息查询功能-按学号查询、按姓名查询。学生信息的 删除与修改(可选项)设计思路将程序的各个功能分开独立的执行,问题有大而小,细化。算法(条列式或流程图)主程序模块:输入选择:运行不同功按退格键结束创建文彳模块(独立I函数):输入要创建的文件夹得文件输入学生数输入一个学生母YES返回主程序删除信息模块(独立函数):输入要删除得按读取方式打开用于存放文件的文件夹_创建100个结构体, 并将文件中的信息不相同通过链表把要删除得同学的信息在结构体链表中删除按写入方式打开文件,结构体全部写入文件显示浏览信息模块(独立函数)返回主程序IF查找学生信息模块(独立函数):返回主程序程序

3、清单与运行结果#include<>#include<>#include<>#include<>struct birthint year,month,day;;struct studentint number,age,tel10;char name10,sex,address20,E_mail20;struct birth birthday;struct student *link;;void show()printf(请输入数字加回车键进行选择: n");FILE *fp;printf("1、学生信息录入功能(学生信息用文件保

4、存)输入 n");printf("2、学生信息浏览功能输出n");printf("3、学生信息查询功能按学号查询、按姓名查询 n");printf(" 4 、学生信息的删除与修改 ( 可选项 )n");printf(" 按其他任意键加回车退出程序 n");* 创建文件夹并存入信息模块:void credit(int n)char fpname20;struct student *head,*next,*end;int i;printf(" 请输入用于存放文件的文件路劲及文件名: ");

5、scanf("%s",fpname);getchar();fp=fopen(fpname,"w+");head=(struct student *)malloc(sizeof(struct student);printf(" 请输入学生学号 姓名 性别 出生年 月 日 地址 电话e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&head->number ,head->name,&head->sex,&(*head).,&(*

6、head).,&(*head).,head-> address,head->tel,head->E_mail);getchar();fprintf(fp,"%d %s %c %d %d %d %s %s %s",head->nu mber,head->name,head->sex,(*head).,(*head).,(*head).,head-> address,head->tel,head->E_mail);end=head;for(i=1;i<n;i+)next=(struct student *)ma

7、lloc(sizeof(struct student);printf(" 请输入学生学号 姓名 性别 出生年 月 日 地址电话 e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&next->number ,next->name,&next->sex,&(*next).,&(*next).,&(*next).,next-> address,next->tel,next->E_mail);getchar();fprintf(fp,"

8、%d %s %c %d %d %d %s %s %s",next->nu mber,next->name,next->sex,(*next).,(*next).,(*next).,next-> address,next->tel,next->E_mail);end->link=next;end=next;end->link=NULL;fclose(fp);* 浏览信息模块:void show2(int n)int i;char fpname20;struct student *head;head=(struct student *)ma

9、lloc(sizeof(struct student);printf(" 请输入存放信息的文件路径以及文件名: ");gets(fpname);fp=fopen(fpname,"r+");for(i=0;i<n;i+)fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->nu mber,head->name,&head->sex,&(*head).,&(*head).,&(*head).,he ad->address,head-

10、>tel,head->E_mail);printf("%d %s %d %d %d %d %s %s %s",&head->numbe r,head->name,head->sex,(*head).,(*head).,(*head).,head->add ress,head->tel,head->E_mail);fclose(fp);* 按学号查找学生信息模块:int search1(int n)int i,checkname;FILE *fp;char fpname20;struct student *head;he

11、ad=(struct student *)malloc(sizeof(struct student);printf(" 请输入存放信息的文件路径以及文件名: ");gets(fpname);fp=fopen(fpname,"r+");printf(" 请输入要查询信息的学生学号: ");scanf("%d",&checkname);getchar();for(i=0;i<n;i+)fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head-&g

12、t;nu mber,head->name,&head->sex,&(*head).,&(*head).,&(*head).,he ad->address,head->tel,head->E_mail);if(checkname=head->number)printf("%d %s %c %d %d %d %s %s %sn",head->numb er,head->name,head->sex,(*head).,(*head).,(*head).,head->ad dress,hea

13、d->tel,head->E_mail);fclose(fp);return(1);printf(" 未找到 ");* 按姓名查找学生信息模块:void search2(int n)int i;FILE *fp;char fpname20,checkname10;struct student *head;head=(struct student *)malloc(sizeof(struct student);printf(" 请输入存放信息的文件路径以及文件名: ");gets(fpname);fp=fopen(fpname,"r+

14、");printf(" 请输入要查询信息的学生姓名: ");scanf("%s",checkname);getchar();for(i=0;i<n;i+)fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->nu mber,head->name,&head->sex,&(*head).,&(*head).,&(*head).,he ad->address,head->tel,head->E_mail);if

15、(strcmp(checkname,head->name)=0) printf("%d %s %c %d %d %d %s %s %s",head->number ,head->name,head->sex,(*head).,(*head).,(*head).,head->addr ess,head->tel,head->E_mail);fclose(fp);return(1);printf(" 未找到 n");* 删除或修改文件信息模块:int most(n)char get;char fpname20;str

16、uct student *ans500;int i;char checkname10;printf(" 请输入存放信息的文件路径以及文件名: ");gets(fpname);fp=fopen(fpname,"r+");ans0=(struct student *)malloc(sizeof(struct student);fscanf(fp,"%d %s %c %d %d %d %s %s %s",&ans0->number,ans0->name,&ans0->sex,&(*ans0).,&a

17、mp;(*ans0).,&(*ans0).,ans0->address,ans0->tel,ans0->E_mail);for(i=1;i<n;i+) student);ansi=(structstudent*)malloc(sizeof(structfscanf(fp,"%d %s %c %d %d %d %s %s %s",&ansi->number,ansi->name,&ansi->sex,&(*ansi).,&(*ansi).,&(*ansi).,ansi->addre

18、ss,ansi->tel,ansi->E_mail);ansi-1->link=ansi;ansi->link=NULL;printf(" 如果想修改信息请输入 1加回车键,想删除信息输入2加回车键: ");get=getchar();getchar();if(get='1')printf(" 请输入要修改信息的学生姓名: ");scanf("%s",checkname);getchar();for(i=0;i<n;i+)if(strcmp(checkname,ansi->name)

19、=0)printf(" 请输入学生新信息 学号 姓名 性别 出生年月 日 地址 电话 e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&ansi->number,ansi->name,&ansi->sex,&(*ansi).,&(*ansi).,&(*ans i).,ansi->address,ansi->tel,ansi->E_mail);getchar();if(get='2')printf(" 请输入要删除

20、的学生姓名: ");scanf("%s",checkname);getchar();for(i=0;i<n;i+)if(strcmp(checkname,ansi->name)=0)ansi-1->link=ansi->link;n-;break;fp=fopen(fpname,"w+");for(i=0;i<n;i+)fprintf(fp,"%d %s %c %d %d %d %s %s %s",ansi->number,ansi->name,ansi->sex,(*ansi).,(*ansi).,(*ansi).,ansi->address,ansi->tel,ansi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论