版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生信息管理系统本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。1问题定义创建一个学生信息管理系统.方便管理同学们的信息.系统中每个学生的记录包括学号,姓名,QQ,性别,电话号码等信息,程序运行后可进行列出菜单,删除文件,创建文件,查找文件,修改和保存文件等功能;在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任,2系统设计在系统设计方面需采用模块化,把一个复杂的问题简单化,化成几个简单的模块来处理,.但是在划分的同时又必须要了解各自的功能,它们之间应该有自己的独立性,同时又存在相互的联系.通讯记录时以二进制的形式进行存储和输入,一般程序从整体到部分,先进行整体概括,然后在逐步细化完善.2.2本通讯管理系统可以概括的划分为以下几大模块:输入创建模块……………。列出菜单模块……………。删除数据模块……………。修改数据模块……………。查找数据模块……………。插入数据模块…………....。保存数据模块……………。退出系统………...……….。系统分析与设计系统的总体设计本系统是由一个主函数和几个子函数完成的,通过一定的语句将主函数和子函数连接起来,即完成了本系统。创建:可以添加通讯录记录,依次输入序号,姓名,QQ,性别,还有电话等等;查找:可以查找所存在的所有内容;删除:可以删除多余的记录,输入存在的序号, 会自动删除这个记录;修改:输入要修改的那个人的序号之后,然后再一次输入要修改的内容,包括序号,姓名,QQ,性别,还有电话;系统会自动进行修改;插入:既是要插入到某个已存信息的前面,先找到要插入的位置,然后再依次输入要插入的序号,姓名,QQ,性别,还有电话等,即可完成插入程序,本系统由一个图来表示为:主菜单主菜单 创建保存列出插入修改删除创建保存列出插入修改删除查找主体轮廓#include<stdio.h>#include<stdlib.h>#include<string.h>intnum;/*学生学号*/charname[10];/*学生姓名*/charqq[10];/*学生QQ*/intsex;/*学生性别*/intphone;/*学生电话*/}LIST;LISTL[100];intmain(void){}voidrevise_list()/*修改数组*/{}voidprint_list()/*列出菜单*/{}voiddelete_list()/*删除文件*/{输入插入的输入插入的学号开始判断有无此人输出没有此人显示该人记录结束YN④显示:显示出所有已存的信息i<key输出一个记录inti;i=0开始i++结束i<key输出一个记录inti;i=0开始i++结束源程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>#defineEXIT-1#defineLENsizeof(structlist)intkey=0;typedefstructlist{intnum;/*学生学号*/charname[10];/*学生姓名*/charqq[10];/*学生QQ*/intsex;/*学生性别*/intphone;/*学生电话*/}LIST;LISTL[100];voidrevise_list()/*修改数组*/{inti,j,k;intnum;charname[10];charqq[10];intsex;intphone;printf("请选择修改项");scanf("%d",&j);for(k=0;k<key;k++){if(j==L[k].num)break;}printf("您要修改成为:");printf("\t\t学号\t\t");scanf("%d",&num);printf("\t\t姓名\t\t");scanf("%s",name);printf("\t\tQQ号\t\t");scanf("%s",qq);printf("\t\t性别\t\t");scanf("%d",&sex);printf("\t\t电话\t\t");scanf("%d",&phone);L[k].num=num;strcpy(L[k].name,name);strcpy(L[k].qq,qq);L[k].sex=sex;L[k].phone=phone;}voidprint_list()/*列出菜单*/{inti;for(i=0;i<key;i++){printf("学号\t姓名\TQQ号\t性别\t电话\t\n");printf("%d\t%s\t%s\t%d\t%d\n",L[i].num,L[i].name,L[i].qq,L[i].sex,L[i].phone);}if(key==0)printf("theshuzuisNULL!\n");}voiddelete_list()/*删除文件*/{inti,j,k;printf("您要删除的是:\n");scanf("%d",&j);for(k=0;k<key;k++){if(j==L[k].num)break;}if(k>=key)printf("您输入的数据有误,请重新输入:");for(i=k;i<key;i++)L[i]=L[i+1];key--;}voidinsert_list()/*创建文件*/{intnum;charname[10];charqq[10];intsex;intphone;printf("\t\t序号\t\t");scanf("%d",&num);printf("\t\t姓名\t\t");scanf("%s",name);printf("\t\tQQ号\t\t");scanf("%s",qq);printf("\t\t性别\t\t");scanf("%d",&sex);printf("\t\t电话\t\t");scanf("%d",&phone);L[key].num=num;strcpy(L[key].name,name);strcpy(L[key].qq,qq);L[key].sex=sex;L[key].phone=phone;key++;}voidfind_list()/*查找文件*/{inti,num;printf("请输入你要查找的序号:");scanf("%d",&num);for(i=0;i<key;i++){if(L[i].num==num){printf("序号\t姓名\t企鹅\t性别\t电话\t\n");printf("%d\t%s\t%s\t%d\t%d\n",L[i].num,L[i].name,L[i].qq,L[i].sex,L[i].phone);break;}}if(i>=key)printf("无此人信息,请重新选择:");}voidinto_list()/*插入文件*/{inti,j,k;intnum;charname[10];charqq[10];intsex;intphone;printf("\t\t\t您要插入项是:\t");scanf("%d",&j);if(j>0&&j<=key) {for(i=key;i>=j;i--)L[i]=L[i-1];key++;printf("请输入你要插入的内容:\n");printf("\t\t学号\t\t");scanf("%d",&num);printf("\t\t姓名\t\t");scanf("%s",name);printf("\t\tQQ号\t\t");scanf("%s",qq);printf("\t\t性别\t\t");scanf("%d",&sex);printf("\t\t电话\t\t");scanf("%d",&phone);k=j-1;L[k].num=num;strcpy(L[k].name,name);strcpy(L[k].qq,qq);L[k].sex=sex;L[k].phone=phone;} elseprintf("error");}voidsave_list()/*保存文件*/{inti;FILE*fp;if((fp=fopen("file.txt","wb"))==NULL) {printf("不能打开文件\n");return;}for(i=0;i<key;i++){if(fwrite(&L[i],LEN,1,fp)!=1);fclose(fp);}}intmain(void)/*主函数*/{intchoice;do{printf("\n\n\n\t\t\t********学生信息管理系统********");printf("\n\t\t\t\t***********==**********\n");printf("\t\t\t\t1.****修改****\n");printf("\t\t\t\t2.****列出****\n");printf("\t\t\t\t3.****.删除*****\n");printf("\t\t\t\t4.*****创建*****\n");printf("\t\t\t\t5.*****查找*****\n");printf("\t\t\t\t6.*****插入*****\n");printf("\t\t\t\t7.*****保存*****\n");printf("\t\t\t\t0.*****退出******\n");printf("\t\t\t\t请选择:");scanf("%d",&choice);switch(choice){case1:revise_list();break;case2:print_list();break;case3:delete_list();break;case4:insert_list();break;case5:find_list();break;case6:into_list();break;case7:save_list();break;case0:exit(0);default:printf("inputagain~\n");}}while(1);fflush(stdin);getchar();return0;}系统调试出现的问题在这次的实训中,主要遇到的问题是编译环境的不同对程序也不同。本来我们的程序是不支持在VC++里面编译的,因此一直都处在编译失败,该函数未定义的错误中。后来经过老师的指导,终于找到了根源,就是把“clrscr()”改为“system("cls")”就可以了。系统运行1主菜单2创建数组3列出表格4删除信息5修改信息6查找
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GFRP旋转超声孔加工仿真及工艺研究》
- 《中韩家庭剧伦理文化比较研究》
- 《我国出口信用保险助推中小企业发展研究》
- 2024年度农业生产能耗监测与节能服务合同
- 《新一代信息技术产业动态跟踪及趋势洞察月报(2024年3月)》范文
- 高压电工作业考试题及答案
- 2024年度智能家居定制服务合同
- 2024年连云港道路客运输从业资格证培训资料
- 2024年贵州客运驾驶员考试卷及答案
- 2024年安徽客运员考试题库答案解析
- 初中音乐-《山东民歌》教学课件设计
- 众兴实验小学教育教学视导工作汇报
- 洁净区人员行为规范要求
- 2023年云南省7月普通高中学业水平考试物理试卷新版
- 2022届高三语文一轮复习积累:现代汉语语法基础知识
- 大学武术智慧树知到答案章节测试2023年浙江大学
- MT/T 198-1996煤矿用液压凿岩机通用技术条件
- GB/T 7715-2014工业用乙烯
- 企鹅排队课件
- GB/T 14480.2-2015无损检测仪器涡流检测设备第2部分:探头性能和检验
- GB/T 1094.11-2007电力变压器第11部分:干式变压器
评论
0/150
提交评论