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

下载本文档

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

文档简介

程序设计基础课程设计试验汇报书目录TOC\o"1-2"\h\z\u1. 设计题目 32. 正文 32.1系统介绍 32.2选题背景 42.3设计内容 42.4设计思绪 42.5算法(条列式或步骤图) 42.6程序清单和运行结果 92.7总结 15 设计题目学生信息管理系统设计正文2.1系统介绍

学生信息包含:学号,姓名,年纪,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功效:

1、系统以菜单方法工作

2、学生信息录入功效(学生信息用文件保留)--输入

3、学生信息浏览功效--输出

4、学生信息查询功效--按学号查询、按姓名查询、

5、学生信息删除和修改(可选项)

要求:使用文件方法存放数据。2.2选题背景经典计算机问题,设计学生信息管理系统,能够进行多项系统信息管理功效。2.3设计内容设计学生信息管理各个功效。系统以菜单方法工作。学生信息录入功效(学生信息用文件保留)--输入。学生信息浏览功效--输出。学生信息查询功效--按学号查询、按姓名查询。学生信息删除和修改(可选项)

2.4设计思绪将程序各个功效分开独立实施,问题有大而小,细化。2.5算法(条列式或步骤图)主程序模块:准备准备输入选择:输入选择:判定:判定:运行不一样功效:运行不一样功效:按退格键结束结束创建文件模块(独立函数):输入要创建文件夹得文件名,并创建文件输入要创建文件夹得文件名,并创建文件输入学生数目:输入学生数目:输入一个学生信息并存放到文件夹:输入一个学生信息并存放到文件夹:是否人数足够NO是否人数足够YES返回主程序返回主程序删除信息模块(独立函数):输入要删除得姓名输入要删除得姓名按读取方法打开用于存放文件文件夹按读取方法打开用于存放文件文件夹创建100个结构体,并将文件中信息全部存放到结构体中创建100个结构体,并将文件中信息全部存放到结构体中不相同将指针指向下一个结构体,判定该结构体姓名和要删除姓名是否相同将指针指向下一个结构体,判定该结构体姓名和要删除姓名是否相同相同经过链表把要删除得同学信息在结构体链表中删除经过链表把要删除得同学信息在结构体链表中删除按写入方法打开文件,结构体全部写入文件按写入方法打开文件,结构体全部写入文件显示浏览信息模块(独立函数)返回主程序返回主程序输入存放信息文件夹文件名,并打开文件夹输入存放信息文件夹文件名,并打开文件夹创建一百个结构体数组将一个结构体大小从文件中读取到内存,并显示创建一百个结构体数组将一个结构体大小从文件中读取到内存,并显示从文件中读入一个结构体大小,并显示到内存从文件中读入一个结构体大小,并显示到内存文件是否抵达最终文件是否抵达最终返回主程序返回主程序查找学生信息模块(独立函数):输入存放信息文件夹文件名,并打开文件夹输入存放信息文件夹文件名,并打开文件夹创建一百个结构体数组将一个结构体大小从文件中读取到内存,并显示创建一百个结构体数组将一个结构体大小从文件中读取到内存,并显示输入要查找信息学生名,输入要查找信息学生名,指针指向下一个结构体指针指向下一个结构体判定学生信息和是否为要查找人信息判定学生信息和是否为要查找人信息输出学生信息输出学生信息返回主程序2.6程序清单和运行结果#include<stdio.h>#include<stdlib.h>#include<string.h>#include<io.h>structbirth{ intyear,month,day;};structstudent{ intnumber,age,tel[10]; charname[10],sex,address[20],E_mail[20]; structbirthbirthday; structstudent*link;};voidshow(){ printf("请输入数字加回车键进行选择:\n"); printf("1、学生信息录入功效(学生信息用文件保留)--输入\n"); printf("2、学生信息浏览功效--输出\n"); printf("3、学生信息查询功效--按学号查询、按姓名查询\n"); printf("4、学生信息删除和修改(可选项)\n"); printf("按其它任意键加回车退出程序\n");}\*创建文件夹并存入信息模块:*\voidcredit(intn){ FILE*fp; charfpname[20]; structstudent*head,*next,*end; inti; printf("请输入用于存放文件文件路劲及文件名:"); scanf("%s",fpname); getchar(); fp=fopen(fpname,"w+"); head=(structstudent*)malloc(sizeof(structstudent)); printf("请输入学生学号姓名性别出生年月日地址电话e_mail:"); scanf("%d%s%c%d%d%d%s%s%s",&head->number,head->name,&head->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head->tel,head->E_mail); getchar(); fprintf(fp,"%d%s%c%d%d%d%s%s%s",head->number,head->name,head->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel,head->E_mail); end=head; for(i=1;i<n;i++) { next=(structstudent*)malloc(sizeof(structstudent)); printf("请输入学生学号姓名性别出生年月日地址电话e_mail:"); scanf("%d%s%c%d%d%d%s%s%s",&next->number,next->name,&next->sex,&(*next).birthday.year,&(*next).birthday.month,&(*next).birthday.day,next->address,next->tel,next->E_mail); getchar(); fprintf(fp,"%d%s%c%d%d%d%s%s%s",next->number,next->name,next->sex,(*next).birthday.year,(*next).birthday.month,(*next).birthday.day,next->address,next->tel,next->E_mail); end->link=next; end=next; end->link=NULL; } fclose(fp);}\*浏览信息模块:*\voidshow2(intn){ FILE*fp; inti; charfpname[20]; structstudent*head; head=(structstudent*)malloc(sizeof(structstudent)); 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->number,head->name,&head->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head->tel,head->E_mail); printf("%d%s%d%d%d%d%s%s%s",&head->number,head->name,head->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel,head->E_mail); } fclose(fp);}\*按学号查找学生信息模块:*\intsearch1(intn){ inti,checkname; FILE*fp; charfpname[20]; structstudent*head; head=(structstudent*)malloc(sizeof(structstudent)); 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->number,head->name,&head->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head->tel,head->E_mail); if(checkname==head->number) { printf("%d%s%c%d%d%d%s%s%s\n",head->number,head->name,head->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel,head->E_mail); fclose(fp); return(1); } } printf("未找到");}\*按姓名查找学生信息模块:*\voidsearch2(intn){ inti; FILE*fp; charfpname[20],checkname[10]; structstudent*head; head=(structstudent*)malloc(sizeof(structstudent)); printf("请输入存放信息文件路径和文件名:"); gets(fpname); fp=fopen(fpname,"r+"); printf("请输入要查询信息学生姓名:"); scanf("%s",checkname); getchar(); for(i=0;i<n;i++) { fscanf(fp,"%d%s%c%d%d%d%s%s%s",&head->number,head->name,&head->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head->tel,head->E_mail); if(strcmp(checkname,head->name)==0) { printf("%d%s%c%d%d%d%s%s%s",head->number,head->name,head->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel,head->E_mail); fclose(fp); return(1); } } printf("未找到\n");}\*删除或修改文件信息模块:*\intmost(n){ FILE*fp; charget; charfpname[20]; structstudent*ans[500]; inti; charcheckname[10]; printf("请输入存放信息文件路径和文件名:"); gets(fpname); fp=fopen(fpname,"r+"); ans[0]=(structstudent*)malloc(sizeof(structstudent)); fscanf(fp,"%d%s%c%d%d%d%s%s%s",&ans[0]->number,ans[0]->name,&ans[0]->sex,&(*ans[0]).birthday.year,&(*ans[0]).birthday.month,&(*ans[0]).birthday.day,ans[0]->address,ans[0]->tel,ans[0]->E_mail); for(i=1;i<n;i++) { ans[i]=(structstudent*)malloc(sizeof(structstudent)); fscanf(fp,"%d%s%c%d%d%d%s%s%s",&ans[i]->number,ans[i]->name,&ans[i]->sex,&(*ans[i]).birthday.year,&(*ans[i]).birthday.month,&(*ans[i]).birthday.day,ans[i]->address,ans[i]->tel,ans[i]->E_mail);ans[i-1]->link=ans[i]; } ans[i]->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,ans[i]->name)==0) { printf("请输入学生新信息学号姓名性别出生年月日地址电话e_mail:"); scanf("%d%s%c%d%d%d%s%s%s",&ans[i]->number,ans[i]->name,&ans[i]->sex,&(*ans[i]).birthday.year,&(*ans[i]).birthday.month,&(*ans[i]).birthday.day,ans[i]->address,ans[i]->tel,ans[i]->E_mail); getchar(); } } } if(get=='2') { printf("请输入要删除学生姓名:"); scanf("%s",checkname); getchar(); for(i=0;i<n;i++) { if(strcmp(checkname,ans[i]->name)==0) { ans[i-1]->link=ans[i]->link; n--; break; } } } fp=fopen(fpname,"w+"); for(i=0;i<n;i++) { fprintf(fp,"%d%s%c%d

温馨提示

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

评论

0/150

提交评论