欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    学生信息管理系统-课程设计.doc

    • 资源ID:12055872       资源大小:176KB        全文页数:21页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生信息管理系统-课程设计.doc

    学生信息管理系统 学生姓名:学 号:班 级:指导老师:日 期:推荐精选2、课程设计正文格式:1 题目及要求学生信息管理系统此题目要求,使用结构体静态数组存储数据,并要求使用户输入的数据或者修改后的数据能够永久保存。1.1 问题提出详细叙述本人所要实现的题目中的问题我编写一个学生信息管理系统,主要用来管理学生基本信息。1.2 本系统涉及的知识点如:结构体、数组、循环、函数、分支、文件、字符串、指针;1.3 功能分析叙述本人所要实现的题目功能1、添加学生信息,每个学生的信息包括:学号、姓名、电话、生日、地址、班级;2、根据学号删除该学生信息或删除全部学生信息;3、根据学号、姓名查询学生信息;4、可以以表格形式输出所有学生信息;5、输入欲修改的那人的名字后,再次进行信息修改;6、保存此学生信息系统;2 功能设计 画出模块层次结构图推荐精选学生信息管理系统增加删除查询显示修改退出2.1 菜单设计2.2 各功能模块的算法设计增加学生信息模块: 1.1打开文件 。 1.2 用scanf输入数据,保存再结构数组中。 1.3 用fwrite函数将结构体数组读入学生信息文件中,关闭文件。显示学生信息模块: 1.1 只读打开文件 1.2 将文件的信息读入结构体数组中; 1.3 将结构体的内容显示在窗口上。 1.4 关闭文件。 查询学生信息模块: 1.1 打开文件,读出信息;推荐精选 1.2 输入要查询的学号或姓名; 1.3 如有该学号或姓名,打印该学生的信息; 1.4 关闭文件。输入要查询的学号或姓名用fread函数读信息到stui中 strcmp(number,stui.num)=0?strcmp(name,stui.num)=0?i+i>n?没有该同学结束显示学生信息i=0; n开始修改学生信息模块: 1.1 打开文件,读出信息; 1.2 输入要修改的学生信息的学号。 1.3 若有此学号,则重新输入此学生信息。 1.4 覆盖原先的信息,读入文件;关闭文件。推荐精选删除学生信息模块: 1.1 打开文件,读出信息,关闭文件。 1.2 选择要单个删除1.3,选择全部删除1.5; 1.3 打开文件,输入要删除的学号; 1.4 若有此学号,覆盖此条信息,已少一次数,读入文件,关闭文件;若无,返回1.3; 1.5 打开文件。将空字符读入文件中,覆盖原先的信息,关闭文件。3 程序代码设计(-)增加模块1)函数原形:void add(void) 2)功 能:利用for循环语句和scanf、getchar函数完成对结构数组的输入,再用再用fwrite函数将结构数组读入学生信息表中。存放n个学生的信息(学号、姓名、电话、生日、地址、班级)。3)输入输出:无。 (二)查询模块1)函数原形:void search(void)2)功 能:打开文件后,根据strcmp函数进行对比,可以进行学号与姓名查询,用fread函数将文件中信息读到结构体数组中,相同就打印到窗口上。3)输入输出:无。(三)修改模块1)函数原形:void modi(void)推荐精选2)功 能:输入要修改的姓名,用fread函数将文件中信息读到结构体数组中,根据strcmp函数进行对比,然后根据fwrite函数进行修改覆盖,得到新文件。3)输入输出:无。(四)删除模块1)函数原形:void del (void)2)功 能:用fread函数将文件中信息读到结构体数组中,依次将输入的学号根据strcmp函数进行对比,然后再进行选择性删除。3)输入输出:无。(五)显示模块1)函数原形:void print(void)2)功 能:用freed函数打开存储的文件使其显示在屏幕上。 3)输入输出:无。(六)源程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>void print(void); /显示函数void add(void); /增加函数void search(void); /查找函数void modi(void); /修改函数void del(void); /删除函数推荐精选/定义结构体typedef struct student char name20; char num20; char ban20; char birthday20; char phone20; char address200;STU;STU stu2000;FILE *fp;/主函数int main(void) int i; do printf(" |-| n"); printf(" | 学生信息管理系统 | n"); printf(" |-| n");推荐精选 printf(" | 1-增加学生信息 | n"); printf(" | 2-删除学生信息 | n"); printf(" | 3-查询学生信息 | n"); printf(" | 4-显示学生信息 | n"); printf(" | 5-修改学生信息 | n"); printf(" | 6-退出 | n"); printf(" |-| n"); printf("请选择你的操作:(16)n"); scanf("%d",&i); if(i=1) add(); if(i=2) del(); if(i=3) search(); if(i=4) print(); if(i=5) modi(); if(i=6) printf("谢谢您的使用!n"); break; while(i>0&&i<7); if(i>6|i<1) printf("你的输入错误n");推荐精选 return 0;/*增加函数*/void add(void) int m,i; if(fp=fopen("学生信息表.txt","a+")=NULL) /为读写打开学生信息表文本文件 printf("Cannot open file strike any key exit!"); getchar(); exit(1); printf("请输入要添加学生的人数:"); scanf("%d",&m); for(i=1;i<=m;i+) printf("请输入姓名:n"); scanf("%s",stui.name); printf("请输入学号:n"); scanf("%s",stui.num);推荐精选 printf("请输入班级:n"); scanf("%s",stui.ban); printf("请输入生日:n"); scanf("%s",stui.birthday); printf("请输入电话号码:n"); scanf("%s",stui.phone); printf("请输入地址:n"); scanf("%s",stui.address); fwrite(&stui,sizeof(STU),1,fp); /把结构体的数据写入学生信息表中 printf("n"); fclose(fp); /关闭学生信息表文本文件/*显示函数*/void print(void) int i,n; if(fp=fopen("学生信息表.txt","r")=NULL) /为输入打开学生信息表文本文件推荐精选 printf("Cannot open file strike any key exit!"); exit(0); for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+); /读出学生信息 n=i; printf("姓名 学号 班级 电话 生日 地址n"); printf("-n"); for(i=0;i<n;i+) printf("%st %st %st %st %st %sn",stui.name,stui.num,stui.ban,stui.phone,stui.birthday,stui.address);printf("-n"); fclose(fp); /关闭学生信息表文本文件/*查询函数*/void search(void)推荐精选 int i,n; char number20,name20; if(fp=fopen("学生信息表.txt","r")=NULL) /为输入打开学生信息表文本文件 printf("Cannot open file strike any key exit!"); exit(0); for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+); /读取学生信息表文本文件 n=i; int xz; printf("-n"); printf(" 1.学号查询n"); printf(" 2.姓名查询n"); printf("-n"); printf("请选择: n"); scanf("%d",&xz); if (xz=1) printf("n请输入要查找学生的学号: "); scanf("%s",number); for(i=0;i<n;i+)推荐精选 if(strcmp(number,stui.num)=0) printf("n该学生已找到n"); printf("-n"); printf("姓名:%sn",stui.name); printf("学号:%sn",stui.num); printf("班级:%sn",stui.ban); printf("电话:%sn",stui.phone); printf("出生日期:%sn",stui.birthday); printf("地址:%sn",stui.address); break; else printf("n没有你要找的学生!nn"); else if(xz=2) printf("请输入要查询者的姓名: "); scanf("%s",name);推荐精选 for(i=0;i<n;i+) if(strcmp(name,stui.name)=0) printf("该学生已找到n"); printf("-n"); printf("姓名:%sn",stui.name); printf("学号:%sn",stui.num); printf("班级:%sn",stui.ban); printf("电话:%sn",stui.phone); printf("出生日期:%sn",stui.birthday); printf("地址:%sn",stui.address); break; else printf("n没有你要找的学生!nn"); fclose(fp); /关闭学生信息表文本文件推荐精选/*修改函数*/void modi(void) int i,n; char name20; if(fp=fopen("学生信息表.txt","r+")=NULL) /为读写打开学生信息表文本文件 printf("Cannot open file strike any key exit!"); exit(0); printf("请输入你要修改的学生的姓名:"); scanf("%s",name); for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+); n=i; for(i=0;i<n;i+) if(strcmp(name,stui.num)=0) printf("-n"); printf("请重新输入姓名:n"); scanf("%s",stui.name); printf("请重新输入学号:n"); scanf("%s",stui.num); printf("请重新输入班级:n"); scanf("%s",stui.ban);推荐精选 printf("请重新输入电话:n"); scanf("%s",stui.phone); printf("请重新输入生日:n"); scanf("%s",stui.birthday); printf("请重新输入地址:n"); scanf("%s",stui.address); fclose(fp); if(fp=fopen("学生信息表.txt","w")=NULL) /为输出打开学生信息表文本文件 for(i=0;i<n;i+) fwrite(&stui,sizeof(STU),1,fp);/覆盖要修改的学生信息 fclose(fp); /关闭学生信息表文本文件/*删除函数*/void del(void) char number20,stud300; int flag=0,i,k,ch,n,temp; if(fp=fopen("学生信息表.txt","r")=NULL) /为输入打开学生信息表文本文件 printf("Cannot open file strike any key exit!"); getchar();推荐精选 exit(1); for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+);/读出学生信息 n=i; fclose(fp); printf("*1.单个删除*2.全部删除*n"); printf("输入你的选择: "); scanf("%d",&ch); if(ch=1) loop: printf("输入要删除学生的学号: "); scanf("%s",number); for(i=0;i<n;i+) if(strcmp(stui.num,number)=0) flag=1; k=i; printf("*是否确定删除?*n"); printf("*1-是*2-否*n"); scanf("%d",&temp);推荐精选 if(temp=2) goto loop; if(flag=0) printf("*列表中无此记录*n"); goto loop; for(i=k;i<n-1;i+) strcpy(stui.name,stui+1.name); strcpy(stui.num,stui+1.num); strcpy(stui.ban,stui+1.ban); strcpy(stui.birthday,stui+1.birthday); strcpy(stui.phone,stui+1.phone); strcpy(stui.address,stui+1.address); if(fp=fopen("学生信息表.txt","w")=NULL) /为输出打开学生信息表文本文件 printf("Cannot open file strike any key exit!"); getchar();推荐精选 exit(1); n=n-1; for(i=0;i<n;i+) fwrite(&stui,sizeof(STU),1,fp);/重新输出已修改的学生信息表 fclose(fp); printf("已删除成功n"); if(ch=2) printf("*是否确定删除?*n"); printf("*1-是*2-否*"); scanf("%d",&temp); if(fp=fopen("学生信息表.txt","w")=NULL) /为输出打开学生信息表文本文件 printf("Cannot open file strike any key exit!"); getchar(); exit(1); if(temp=1);推荐精选 fputs("",fp); printf("已全部删除n"); fclose(fp); 4.运行结果测试 推荐精选 (注:可编辑下载,若有不当之处,请指正,谢谢!) 推荐精选

    注意事项

    本文(学生信息管理系统-课程设计.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开