问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

速求c++毕业生就业管理系统 要用链表类实现对数据的操作

发布网友 发布时间:2022-11-04 05:15

我来回答

4个回答

热心网友 时间:2023-11-02 23:50

我只有不能实现文件写入读取的。你看看吧。其它的都符合要求
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
struct student {
char name[30];
int num;
int mathy;
int english;
int PE;
int sums;
struct student *link;
};
struct student *head=NULL;
void insertNode(void);
void deleteNode(int tnum);
void modifyNode(int tnum);
void findNode(int tnum);
void displayNode(void);
void sumSort(void);
void showmenu(void);
int main(void) {
printf("========毕业生就业管理系统========\n");
showmenu();
return 0;
}
void showmenu(void) {
int menuid=1;
while(menuid!=0) {
printf("\n");
printf("\t功能菜单\n");
printf("========================\n");
printf(" 1.添加学生信息\n");
printf(" 2.浏览学生信息\n");
printf(" 3.删除一个学生\n");
printf(" 4.修改学生信息\n");
printf(" 5.查找学生\n");
printf(" 6.按年薪排序\n");
printf(" 0.退出系统\n");
printf(" 请选择:");
scanf("%d",&menuid);
switch(menuid) {
case 1:
fflush(stdin);
insertNode();
break;
case 2:
fflush(stdin);
displayNode();
break;
case 3:
fflush(stdin);
deleteNode(0);
break;
case 4:
fflush(stdin);
modifyNode(0);
break;
case 5:
fflush(stdin);
findNode(0);
break;
case 6:
fflush(stdin);
sumSort();
break;
case 0:
fflush(stdin);;
break;
default:
printf("无此项,请重新选择!\n");
}
}
}
void insertNode(void) {
char yesorno='Y';
printf("新建一个学生的记录? (Y/N):");
scanf("%c",&yesorno);
while(yesorno=='Y'||yesorno=='y') {
struct student *p,*pr=NULL;
p=(struct student *)malloc(sizeof(struct student));
if(p==NULL) {
printf("没有足够的内存,程序执行错误\n");
exit(0);
}else{
printf("请输入学生的学号:");
fflush(stdin);
scanf("%d",&p->num);
printf("请输入学生的姓名:");
fflush(stdin);
scanf("%s",&p->name);
printf("请输入学生的就业与否:");
fflush(stdin);
scanf("%d",&p->mathy);
printf("请输入学生的工作单位:");
fflush(stdin);
scanf("%d",&p->english);
printf("请输入学生的毕业成绩:");
fflush(stdin);
scanf("%d",&p->PE);
printf("请输入学生的年薪:");
fflush(stdin);
scanf("%d",&p->sums);
}
if(head==NULL) {
head=p;
head->link=NULL;
}else{
pr=head;
while(pr->link!=NULL) {
pr=pr->link;
}
pr->link=p;
p->link=NULL;
}
printf("继续新建一个学生的记录? (Y/N):");
fflush(stdin);
scanf("%c",&yesorno);
}
}
void displayNode(void) {
struct student *p;
p=head;
printf("\n");
printf("\t\t一览\n");
printf("\n");
printf("学号\t姓名\t就业否\t工作单位\t毕业成绩\t年薪\n");
printf("============================================\n");
while(p!=NULL) {
printf("%d\t%s\t%d\t%d\t%d\t%d\n",p->num,p->name,p->mathy,p->english,p->PE,p->sums);
p=p->link;
}
}
void deleteNode(int tnum) {
struct student *p,*pr=NULL;
printf("请输入要删除的学生学号:");
scanf("%d",&tnum);
p=head;
pr=p;
while(p->link!=NULL) {
if(p->num==tnum) {
if(head==p){
head=p->link;
}else{
pr->link=p->link;
free(p);
}
printf("已删除%d\n",tnum);
return;
}
pr=p;
p=p->link;
}
printf("未找到学生%d\n",tnum);
}
void modifyNode(int tnum) {
struct student *p=NULL;
printf("请输入要修改的学生学号:");
scanf("%d",&tnum);
p=head;
while(p->link!=NULL) {
if(p->num==tnum) {
printf("\n");
printf("\t\t当前数据\n");
printf("\n");
printf("学号\t姓名\t就业否\t工作单位\t毕业成绩\t年薪\n");
printf("============================================\n");
printf("%d\t%s\t%d\t%d\t%d\t%d\n",p->num,p->name,p->mathy,p->english,p->PE,p->sums);
printf("请输入新信息\n");
fflush(stdin);
printf("请输入学生的姓名:");
fflush(stdin);
scanf("%s",&p->name);
printf("请输入学生的就业与否:");
fflush(stdin);
scanf("%d",&p->mathy);
printf("请输入学生的工作单位:");
fflush(stdin);
scanf("%d",&p->english);
printf("请输入学生的毕业成绩:");
fflush(stdin);
scanf("%d",&p->PE);
printf("请输入学生的年薪:");
fflush(stdin);
scanf("%d",&p->sums);
printf("修改成功%d\n",tnum);
return;
}
p=p->link;
}
printf("未找到学生%d\n",tnum);
}
void findNode(int tnum) {
struct student *p=NULL;
printf("请输入要修改的学生学号:");
scanf("%d",&tnum);
p=head;
while(p->link!=NULL) {
if(p->num==tnum) {
printf("\n");
printf("\t\t查找结果\n");
printf("\n");
printf("学号\t姓名\t就业否\t工作单位\t毕业成绩\t年薪\n");
printf("============================================\n");
printf("%d\t%s\t%d\t%d\t%d\t%d\n",p->num,p->name,p->mathy,p->english,p->PE,p->sums);
return;
}
p=p->link;
}
printf("未找到学生%d\n",tnum);
}
void sumSort(void) {
struct student *p,*pn,*pt=NULL;
pt=(struct student *)malloc(sizeof(student));
for(p=head;p->link!=NULL;p=p->link) {
for(pn=p->link;pn!=NULL;pn=pn->link) {
if((p->sums)<(pn->sums)) {
pt->english=p->english;
pt->mathy=p->mathy;
pt->PE=p->PE;
pt->num=p->num;
pt->sums=p->sums;
strcpy(pt->name,p->name);

p->english=pn->english;
p->mathy=pn->mathy;
p->PE=pn->PE;
p->num=pn->num;
p->sums=pn->sums;
strcpy(p->name,pn->name);

pn->english=pt->english;
pn->mathy=pt->mathy;
pn->PE=pt->PE;
pn->num=pt->num;
pn->sums=pt->sums;
strcpy(pn->name,pt->name);
}
}
}
printf("排序结果\n");
displayNode();
}

热心网友 时间:2023-11-02 23:51

你最少要出1000分

热心网友 时间:2023-11-02 23:51

你阿是也信管哒。。。我也提了耶

热心网友 时间:2023-11-02 23:52

很简单的,但我不帮人写作业!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
加固一根柱子要多久 加固单个柱子需耗费多少时间 自建房柱子不在一条线上补救措施 房事过后精子流出是什么原因 还有想上厕所的感觉 每次做爱后,一射精过后就想急着上厕所。请问这是什么原因? 每次正常射精后,我都有想上厕所的感觉,请问这正常不正常 奥木尔鱼种群现状 奥木尔鱼是海洋生物吗 奥木尔鱼的介绍 奥木尔鱼简介 公司名义的房子过户费用是多少 请问额头和颌骨一样宽、颧骨比以上两种略宽、下巴略尖,脸宽长比为1:1.4;男生!请问这是什么宽型?好... 夏天的蚊子用什么药水可杀死 露从今夜白月是故乡明出自哪一首古诗 全诗的创作背景 有关法律硕士 关于法律硕士一些问题 三星滚筒洗衣机故障代码DE是什么问题啊? 请问一下太极拳24式是什么 重庆包括哪些城市 阿尔宙斯如何删存档 宝可梦阿尔宙斯怎么关闭自动存档 阿尔宙斯是全区存档吗 阿尔宙斯存档位置 宝可梦传说阿尔宙斯 怎么删除存档 阿尔宙斯怎么存档 宝可梦阿尔宙斯中数据有损坏假如重新下载之前的存档会消失吗 我想问一下北京高碑店兴隆公园怎么样? 汽车音响高低音怎么调效果最好? 晚上十点是否有从民权到睢县的车? 商丘市民权中心汽车站有到睢县的吗 [紧急求助]20摄氏度左右穿短袖会冷吗? 如何在电脑上录制游戏视频 梦到家人出车祸 梦到家人出车祸是什么意思? 惠普m104w后期费用大吗 部队的文职兵也进行军训吗? 我想买平安的主险加附加险,其中有住院日额,是不是买日额越多越好呢 平安保险公司健享和日额分别是什么意思 国有企业精神文化标语 高三谈恋爱好不好 孩子高中谈恋爱如何正确引导 环境工程是最差专业吗 怎么做好吃,鸡翅烧莴笋的家常做法 薄荷、甘草、胖大海、金银花混一起泡茶喝没事吧?会不会有副作用? 胖大海和薄荷叶一起泡茶喝会不会嗜睡?拜托各位大神 银行车辆抵押贷款车子可以开走吗 h广东机电职业学校高职扩招有补贴吗 win7系统打印机无法工作怎么解决? 中草药牙膏具备哪些功能? 牙龈肿痛刷片仔癀牙膏有效果吗? 刷牙时牙龈有点出血,用片仔癀牙膏能改善吗? 牙龈肿痛可以用片仔癀漱口水缓解吗? 关于xp系统网络驱动器?