程序设计--学生籍贯信息记录簿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计--学生籍贯
信息记录簿
-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN
程序设计报告( 2012 /2013 学年第二学期)
题目:学生籍贯信息记录簿
专业
学生姓名
班级学号
指导教师
指导单位
日期
学生籍贯信息记录簿
一、课题内容和要求
编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的籍贯信息;
(3)按学号或姓名查询其籍贯;
(4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息;
(6)显示输出江苏籍和非江苏籍学生的信息并可分别存盘。
二、需求分析
模块1:显示基本信息(创建信息链表并以磁盘文件保存,读取磁盘文件)
模块2:输出籍贯信息(显示输出所有学生的籍贯信息)
模块3:根据条件查询(按学号或姓名查询其籍贯,按籍贯查询)
模块4:输出学生信息(输出该籍贯的所有学生)
模块5:基本信息管理(添加、删除和修改学生的籍贯信息)
模块6:分别显示存盘(显示输出江苏籍和非江苏籍学生的信息并可分别存盘)模块7:结束程序(退出系统)
三、概要设计
四、源程序代码
#include<>
#include<>
#include<>
#include<>
#define MAX 100 取最初输入的信息并显示
void Readfile(); 改第i个学生的姓名和籍贯
void Save1(); 示输出江苏,非江苏学生信息
void Find(int i); 学号或姓名查询籍贯
void Finds(); 入信息并存档\n");
printf("2.读取信息并显示\n");
printf("3.按学号或姓名查询籍贯\n");
printf("4.按籍贯查询学生\n");
printf("5.修改(删除)指定姓名或学号的学生的姓名和籍贯\n");
printf("6.显示输出江苏,非江苏学生信息\n");
printf("**********************************************************\n");
scanf("%s",&choose);
switch(choose)
{
case '1':{Input();Save1();}break;
case '2':{Readfile();Display();}break;
case '3':{Readfile();Find(1);}break;
case '4':{Readfile();Finds();}break;
case '5':{Readfile();Find(0);}break;
case '6':{Readfile();Dis();}break;
default:printf("输入错误,请重新输入:\n");
}
}
while(1);
}
void Save2(int t) um,stu[t].name,stu[t].address);um);
if(strcmp(stu[n].num,"Finish")==0) break;
scanf("%s",stu[n].name);
scanf("%s",stu[n].address);
n++;
}
while(1);
}
void Save1() um,stu[i].name,stu[i].address);取信息并显示
{
int i;
printf(" 学号姓名籍贯:\n");
for(i=0;i { printf("%5s %5s %5s\n",stu[i].num ,stu[i].name ,stu[i].address); } } void Find(int f) 学号或姓名查询籍贯 { int i; int choose,k; char ans[50]; 学号查询\n"); printf("2.按姓名查找\n"); printf("3.返回主菜单\n"); scanf("%d",&choose); if(choose==1) { printf("请输入学号\n"); scanf("%s",ans); k=-1; for(i=0;i if(strcmp(ans,stu[i].num)==0) { k=i; break; } if(k==-1) printf("不存在该学生信息\n"); else { if(f==1) printf("%s %s %s\n",stu[k].num,stu[k].name,stu[k].address); else Modify(k);ame)==0) { k=i;break; } if(k==-1) printf("不存在该学生信息\n"); else { if(f==1) printf("%s %s %s\n",stu[k].num,stu[k].name,stu[k].address); else Modify(k);改第t个学生的姓名和籍贯{