永发信息网

学生籍贯信息管理的c语言课程设计

答案:1  悬赏:40  手机版
解决时间 2021-02-24 07:23
一、设计题目
学生籍贯信息记录簿
二、主要内容
编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:
(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的籍贯信息;
(3)按学号或姓名查询其籍贯;
(4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息;
(6)显示输出四川籍和非四川籍学生的信息并可分别存盘。
三、具体要求及应提交的材料
设计要求:
1. 分析设计要求,给出解决方案(要说明设计实现所用的原理,采用的数据结构);
2. 模块化程序设计,画出程序的基本结构框图和流程图;
3. 对程序的每一部分要有详细的设计分析说明;
4. 程序执行的每个步骤要有具体的提示内容或输出;
5. 源代码格式规范(锯齿型书写格式),注释不少于三分之一;
6. 设计合适的测试用例,对得到的运行结果要有分析;
7. 设计中遇到的问题,设计的心得体会。
设计结束后,每位同学必须上交如下材料:
1. 《课程设计说明书》打印稿一份;
2. 《课程设计说明书》电子文档及课程设计的程序源代码 刻盘

四、主要技术路线提示
首先根据要解决的问题进行分析和总体设计,得到要定义的数据结构(可使用链表或结构数组存储数据)和函数,然后进行详细编码,在主函数中对各功能函数进行测试。

五、进度安排
一周完成。1天查阅资料和分析,3天编写软件,2天写出课程设计报告并上交。
最佳答案
#include
#include
#include
#include
class stu
{
char name[20];
int number;
char bornplace[50];
public:
stu()
{
}
stu(char n[20],int num,char born[50])
{
strcpy(name,n);
number=num;
strcpy(bornplace,born);
}
friend void main();
};

void main()
{
cout<<"请选择您需要的操作!"< cout<<" 操作:"< cout<<"(0)数据录入"< cout<<"(1)增加人员"< cout<<"(2)删除人员"< cout<<"(3)修改数据"< cout<<" 查询:"< cout<<"(4)按姓名查询"< cout<<"(5)按学号查询"< cout<<"(6)输出所有学生的籍贯信息"< cout<<"(7)按籍贯查询"< cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!"< char p;char w;
stu *s[50];
ofstream *file[50];
int i=0;
int j=0;
bool flag2=0;
do
{
cin>>p;
if((p>='0'&&p<='6'))
flag2=1;
else
cout<<"指令错误!请重新输入:"< }while(flag2==0);

do{
switch(p)
{
case '0':
{
char c;
char name[20],bornplace[50];int number;
do{
cout<<"请输入姓名"< cin>>name;
cout<<"请输入学号:"< cin>>number;
cout<<"请输入籍贯:"< cin>>bornplace;
file[j]=new ofstream("d:\\document.txt",ios::ate);
*file[j]<<"姓名"< j++;
s[i]=new stu(name,number,bornplace);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"< cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
else
flag2=1;
}
while(flag2==0);
}
while(c=='y');
break;
}
case '4':
{
char t[20];
char c;
do
{
int flag1=0;
cout<<"请输入你要查询学生的姓名"< cin>>t;
for(int q=0;q {
if(strcmp((*s[q]).name,t)==0)
{
flag1=1;
cout<<"您要查询的学生是:"<<(*s[q]).name<<"学号是:"<<(*s[q]).number<<"籍贯是:"<<(*s[q]).bornplace< }
}
if(flag1==0)
cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
}
while(c=='y');
break;
}

case '5':
{
int n ;int j=0;char c;

do{
int flag=0;
cout<<"请输入你要查询的学生学号:"< cin>>n;
for(int j=0;j { int no=((*s[j]).number);
if(no==n)
{
flag=1;
cout<<"您要查询的学生是:"<<(*s[j]).name< cout<<"籍贯是:"<<(*s[j]).bornplace< }
}
if(flag==0)
cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
}
while(c=='y');
break;
}
case '7':
{
char m[20];int j=0;char c;

do{
int flag=0;
cout<<"请输入你要查询籍贯:"< cin>>m;
for(int w=0;w {
if(strcmp((*s[w]).bornplace,m)==0)
{
flag=1;
cout<<"您要查询的学生是:"<<(*s[w]).name< cout<<"学号是:"<<(*s[w]).number< }
}
if(flag==0)
cout<<"对不起!您要查询的学生不存在!"< cout<<"您想继续查询吗?(y/n)"< cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
}
while(c=='y');
break;
}
case '1':
{
char name[20],bornplace[50];int number;
char c;
do
{
cout<<"请输入您要增加的学生的姓名:"< cin>>name;
cout<<"请输入学号:"< cin>>number;
cout<<"请输入籍贯:"< cin>>bornplace;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"< j++;
s[i]=new stu(name,number,bornplace);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"< cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
}while(c=='y');
break;
}
case '2':
{
char name[20];bool flag3=0;char c;
do{
cout<<"请输入您要删除的学生姓名:"< cin>>name;
for(int h=0;h {
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do{
s[h]=s[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";
cout<<"要继续删除吗?(y/n)"< cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
}while(c=='y');
break;
}
case '3':
{
char name[20],born[50];int num;;flag2=0;
char c;
do
{
cout<<"请输入您要修改的学生的姓名:"< cin>>name;
for(int h=0;h {
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"请输入新的学号:"< cin>>num;
cout<<"请输入新的籍贯:"< cin>>born;
s[h]->number=num;
strcpy(s[h]->bornplace,born);
cout<<"数据修改成功!";
}
}
if(flag2==0)
{
cout<<"您要修改的学生本来就不存在!请检查重新输入!"< }
cout<<"想继续修改吗(y/n)"< cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"< cin>>c;
}
}while(c=='y');
break;
}

case '6':
{
cout<<"本系统所有学生的籍贯信息如下:"< if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"< for(int k=0;k {
cout<name<<" "<<
"学号:"<<" "<number<<" "<<"籍贯:"<<" "<bornplace
< }
break;
}

}
cout<<"您想继续进行其他操作吗?(y/n)"< bool flag4=0;
do
{
cin>>w;
if(w!='y'&&w!='n')
cout<<"指令错误!请重新输入!"< else
flag4=1;
}while(flag4==0);
if(w=='y')
{cout<<"请选择您需要的操作!"< cout<<" 操作:"< cout<<"(0)数据录入"< cout<<"(1)增加人员"< cout<<"(2)删除人员"< cout<<"(3)修改数据"< cout<<" 查询:"< cout<<"(4)按姓名查询"< cout<<"(5)按学号查询"< cout<<"(6)输出所有学生的籍贯信息"< cout<<"(7)按籍贯查询"< cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!"< }
cin>>p;
}while(w=='y');
for(int x=0;x {
delete s[x];
cout<<"delete all members!"< }

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
林宇广告地址有知道的么?有点事想过去
热力学标准状态下平衡时每个气体分压都等于一
x?32?4x+15=1
QQ空间的音乐播放器自动隐藏了怎么恢复?
怎么热牛奶比较好?
环园路南三巷/清扬路(路口)地址在什么地方,
古语今谈。昔者,先王未有宫室,冬则居营窟,
当x=8时x2等于多少2x等于多少x+2等于几
薤山度假村在什么地方啊,我要过去处理事情
大方框怎么打
做平体支撑有减肥效果吗?
怎么把一个程序加到PE里面去?
植物种类和数量最多的生态系统类型是BA. 草原
辽宁华路特种沥青有限公司(西南门)在什么地方
噬神者还会出第二季么,第一季最后留下的引子
推荐资讯
丧偶之后你的人生会改变吗
湖南卫视今天下午四点左右演什么节目啊?急急
为什么现在我下很多种子都没速度啊?不是只封
女主叫千洛樱的小说有五大家族,千洛樱有五个
磁疗鞋有什么危害
秀媛美容养生会所在什么地方啊,我要过去处理
华硕Z270AR三条显卡插槽都可以到达X16吗?或
电脑屏幕分辨率被我设置乱了怎么办啊,要怎么
中交第二航务工程局有限公司第四工程公司地址
头发容易出油,寻找去油效果强的洗发水
在遗憾中成长 作文600字叙事的
陆游简介
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?