再见了,宝贝

毕业时,女孩子对男孩子说:我要去北京,北京的中关村有中国硅谷之称,那里机遇多,以后容易发达。
男孩子说:那我就回四川老家,那里是天府之国,美女多,以后你发达了不要我,我容易再找。

女孩子的小拳头在男孩子厚实的胸前轻敲,嘟起了小嘴儿,说你就知道想美女,哼,就算以后我不要你了,你也只能想着我爱着我,不许你找别的女孩子。

男孩子握住女孩子的手,深情的在她的额头印上一吻,说,傻丫头,咱们的父母都在四川呢,你去北京了,我这个好女婿,当然得回去照顾岳父岳母啦。

女孩子的星目里闪着泪花,投进男孩子的怀里,再也不起来。

两人异地相隔但是情愫不减,浓浓的相思当然只能靠无线电波来传递,发短信,打电话,两个人向祖国通讯事业的营业额尽心尽力的贡献着。

一天,女孩子在网上读到一个故事,说的也是一对情侣的故事,每次打电话,那个男孩子都会等女孩子先挂电话,当女孩子经历了世事沧桑之后,她才发现,原来这个世上最爱自己的男人,就是那个每次打电话都等自己先挂的男孩子。

女孩子记住了这个让她唏嘘流泪的故事,那天晚上打完电话,她对男孩子说:你先挂电话。

男孩子一愣,说,傻丫头,打电话还分什么先后啊。

女孩子撒娇,说,不嘛不嘛,就得你先挂电话,不听我以后不理你了,让你找不到老婆。
男孩子停了几秒钟,轻笑了下,说知道了傻丫头,为了以后我不打光棍儿,我就先挂了哦,就知道浪费电话费。

女孩子听见男孩子挂断电话后传来的第一声线路忙音,她开怀的一笑,在心里对男孩子说:亲爱的,我爱你,比你爱我的还要爱。

从那以后,两个人打电话,每逢说到再见,她便握住手机静静的听,等男孩子先挂。而男孩子总会笑着亲昵的叫她一声傻丫头,便挂断了电话。

时间久了,女孩子渐渐的感到一丝淡淡的委屈:你知道吗你,哼,每次我都等你先挂电话,我这么默默的爱你,你却一点也不知道。她想让男孩子也看看那篇文章,让他知道自己多么爱他,哪天他也能等自己先挂一次电话,自己能切切实实的感受下什么叫被爱,该多好啊。

女孩子忍住了,她的幸福中既有甜蜜又有酸涩,她想:能这么一辈子以一个独特的方式深切的爱一个男人,也是一种幸福吧。

跟所有的北漂一样,女孩子的日子过的并不舒适,但是能住在筒子楼里,相比那些住地下室的北漂们,女孩子的生活条件算不错的了。初时的雄心壮志已经被磨的只剩下一个小小的尾巴,但是好强的女孩子并没有向男孩子抱怨过什么,她只是更习惯于对男孩子说那句我爱你。

筒子楼所在的那个社区治安不太好,甚至还有一个专偷女性内衣的变态狂。以前有同租的女孩儿陪伴,女孩子并没有感觉怎样,但是那个女孩儿因为家里有事告假回家了,留下女孩子一个人住在两室一厅一厨一卫的房子里,她很自然的感觉到孤单害怕。

那夜,女孩子在睡梦中被一阵窸窸窣窣的声音惊醒,仔细的听了下,是房门口传来的声音。她抓紧被角,浑身抖作一团,大气不敢出,无助的泪水无声的从眼中涌出来。

突然,她的手碰到枕下的手机,仿佛抓住了救命稻草,立刻给男孩子发了一条短信:亲爱的,我怕。

其实男朋友远在四川,就算一个信息能起什么作用呢?更何况大半夜的,男孩子可能早关机睡觉了。女孩子忘记了要先报警,在这个最害怕的时刻,她只想起了男孩子。

令女孩子惊喜的是,信息发出后几秒钟,男孩子的电话打进来了。她轻轻的接通,听见里面传来男孩子关切的声音:傻丫头,是不是想我了?

女孩子尽量压低自己的声音,向男孩子说现在她一个人住在房子里,门外可能有贼,她好害怕。

男孩子安慰女孩子别怕,他想了想,对女孩子说:把你的手机外放喇叭打开,把声音开到最大,你慢慢去门口,别怕,亲爱的,相信我,别怕。

女孩子冰雪聪明,男孩子一说,她就想到了男孩子的意图:男孩子大声喊话,让外面的人知道,屋里有男人,偷东西或者打别的主意的人,识相的就快走。

女孩子战战兢兢的梛到门口,把手机的外放喇叭打开,声音开到最大后,她轻轻的对话筒说:好了,我在门口了,外放小喇叭也打开了。

这时候女孩子确认外面有人,而且不是一个,可以听见他们微微的对话声。

正当女孩子的身体抖的将要站立不住时,手机里突然大喊一声:***,谁在外面搞我的门啊?屋里的哥儿几个都起来,有客人来了。

男孩子的声音高亢而粗犷,在寂静的黑夜了把女孩子吓了一大跳。不过门外的人可能被吓得跳的更高,女孩子只听见一阵扑通扑通的脚步声由近而远,看样子是被吓走了。

女孩子舒出一口气,腿一软,摊在地上。

男孩子等了一会儿,轻轻的问:外面的人走了吗宝贝?

女孩子终于哭出来,对着手机说,亲爱的,我想你。

女孩子惊魂未定,男孩子便一直安抚女孩子,那一夜,两个人捧着电话说到天明,女孩子说快挂断吧,打了这么久长途,得花多少钱啊。

男孩子笑着说真是个傻丫头,女孩子说就傻,傻才会看上你啊,挂了吧亲爱的,今天上班小心睡着被老板K哦。

挂断电话后,女孩子心里一团甜蜜,她享受男孩子给她的安全感,不过美中不足的是,男孩子似乎已经形成先挂电话的惯例了,这次也不例外,女孩子心想:他虽然很好,但是到底不像那个故事中的男孩子爱女孩子那样深的爱我,他都没有让我先挂过电话。

天开始热了,女孩子的很多单衣上面都没有口袋,所以很多时候她都忘记带手机,比如下班吃饭时手机忘在办公桌上,比如跟室友出去玩时手机忘在租房里,每次她回来都会收到男孩子的未接电话和信息,也只有这些时候,她才会感觉公平点:哼,每次都先挂我电话,不能及时接你电话,就算是小小的惩罚吧,不许委屈啊,笨猪。

五月十二号,普通的不能再普通的一天,女孩子在那个小公司里兢兢业业的做着自己的事,为自己的那点小小的梦想不懈的拼搏着。

快下班时,办公室里传起来一个消息:发生了大地震,四川汶川是震中,据说震级跟唐山大地震差不多。

女孩子心里一惊,下意识的向口袋里掏手机,忘记带!

她立刻拿起办公室里的座机给男孩子打电话,但是拨过去信号就断,再拨家里的座机号码,还是不通,看来四川的通讯设施也被地震破坏殆尽了。

一种不祥的预感涌上心头,心急如焚的女孩子再等不及下班,从写字楼里冲下来,招了一辆出租车就向自己租住的筒子楼赶去。

打开手机,竟然有五十多条未接电话,全部是男孩子打来的,她一翻,还有一条未读短信:

宝贝,亲爱的,傻丫头,用尽我今生所有的爱叫你,我爱你,比你爱我还要爱。

自从那次你坚持让我先挂电话,我就知道,你肯定也看过了那个故事,可是,亲爱的,我想告诉你,我爱你,比你爱我还要爱。

其实我也看过那篇故事,很早就看过,那是一个美丽的故事,因为有所憾而美,但是那不属于我们,我不要那种美,那种缺憾的美,我不要!刻骨铭心必将伴随着撕心裂肺,我宁愿两个人平平安安的过一辈子,也不要那种刻骨铭心,我只想伴你过一生,携子之手,与子偕老。

我不要那种凄惨的美,我只要实实在在的幸福。我从来不敢忘记带手机,我怕哪天你会想我,如果我没带手机,我怕你也会同我一样沮丧,很多时候,即使是上厕所,我也要把手机揣兜里;我晚上从来不关机,每晚睡前我都更换一次电池,再把铃声调大,我怕你哪个夜里会害怕想跟我说话,如果我关机,你在异乡会更加孤独。

你每次都让我先挂电话,我知道那是因为你爱我,我很开心,想起来总是眼里潮潮的;我的电话从来不关机,你却不知道,那是因为我更爱你,别怪我没告诉过你,我的宝贝,我是想等到咱们都老成妖怪时再说。

傻丫头,看样子我是没有那个陪伴你一生的福气了,我背上的那块预制板,已经压了我两个多小时,我的整个胸部背部都撕裂般的疼痛,我还能闻见自己流出血的腥味儿,宝贝,我可能无法再陪你继续走下去了。

亲爱的,我想听听你的声音,我一遍遍的打你的手机,你为什么不接啊?亲爱的,你听见我在呼唤你吗?亲爱的,这里好黑,我好冷,我想让你抱着我。

亲爱的,我的亲爱,我的宝贝,我爱你,我此刻是如此怯懦如此怕死,因为那意味着我再不能吻你疼你。我更担心的是你会因为我而伤心欲绝,别那样,亲爱的,我走了,你在北京再找一个人照顾你,那里成功人士多,机遇多。你是天堂里最圣洁的天使,没有人在你身边保护,我怕你会受到伤害。

答应我,亲爱的,如果还有一个男人像我这样爱你,千万别不接他的电话,我知道他那时会有多痛。

我不能呼吸了,宝贝,再见了,来世,我一定要做你老公!

宝贝,亲爱的,傻丫头,再次用尽我今生所有的爱叫你,我爱你,比你爱我还要爱。

女孩子的泪水似江水决堤,哭到来不及呼吸,她仰头向天,紧闭着双眼发出撕心裂肺的呼喊:

亲爱的,下辈子我还做你的老婆,我再也不会关机了


#include <stdio.h> #include <string.h> #define MAX_STUDENTS 100//宏定义 void displayStudents();//显示学生所有信息函数调用声明 void deleteStudent(int nm);//删除函数调用声明 void caffeeStudent();//修改学生信息(按ID) //学生信息结构体 typedef struct Student { int id;//ID char name[50];//名字 float yingyu[2];//英语成绩 float score;//语文成绩 float yuwen;//数学成绩 float shuxue;//物理成绩 } Student; //初始值赋值 Student newStudent={0,"",0,0,0,0}; Student students[MAX_STUDENTS]; int miomi = 0;//计算当前储存人数 /* 添加学生信息结构体 */ void addStudent() { Student newStudent; if (miomi >= MAX_STUDENTS) { printf("学生记录已满,无法继续添加。\n"); return ; } printf("请输入学生的ID: "); scanf("%d", &newStudent.id); getchar(); // 清除输入缓冲区中的换行符 printf("请输入学生的姓名: "); fgets(newStudent.name, sizeof(newStudent.name), stdin); newStudent.name[strcspn(newStudent.name, "\n")] = '\0'; // 去掉末尾的换行符 printf("请输入学生的英语成绩: "); scanf("&f",newStudent.yingyu[0]); scanf("&f",newStudent.yingyu[1]); printf("请输入学生的语文成绩: "); scanf("%f", &newStudent.score); printf("请输入学生的数学成绩: "); scanf("%f", &newStudent.yuwen); printf("请输入学生的物理成绩: "); scanf("%f", &newStudent.shuxue); students[miomi++] = newStudent; printf("学生信息添加成功!\n"); return ; } //管理员界面结构体 void diplawStudents(){ int h,nm; printf("正在进入系统界面\n "); while (1) { printf("\n==== 管理员系统界面 ====\n"); printf("1. 删除学生信息(按ID)\n"); printf("2. 修改学生信息(按ID)\n"); printf("3. 显示所有学生信息\n"); printf("4. 返回学生界面\n"); printf("=========================\n"); printf("请选择操作序号: "); h=0; scanf("%d",&h); switch(h) { case 1: printf("请输入要删除学生的ID信息: "); nm=0; scanf("%d",&nm); deleteStudent(nm);//指向删除函数 break; case 2: caffeeStudent();//修改学生信息(按ID) break; case 3: displayStudents();//显示所有学生信息(按ID) break; case 4: printf("再见管理员,欢迎您下次进入\n");//退出程序 return ; break; default: printf("无效的选择呢,请您重新选择。\n"); } } } //显示所有学生信息结构体(2) void displayStudents() { int i; if (miomi == 0) { printf("目前没有学生信息。\n"); return; } printf("学生的总人数有%d\n",miomi); for (i = 0; i < miomi; ++i) printf("学号:%d\t名字:%s\t 英语成绩:%.2f\t 语文成绩:%.2f\t 数学成绩:%.2f\t 物理成绩:%.2f\n", students[i].id, students[i].name,students[i].yingyu[0], students[i].score, students[i].yuwen, students[i].shuxue); } //搜索学生的信息结构体(2) void delkesStudent(){ int i,id; printf("请输入要搜索学生的ID信息: "); scanf("%d", &id); for(i=0;i<miomi;++i){ if(id==students[i].id){ printf("要搜索学生的ID信息为:\n"); printf("学号:%d\t名字:%s\t 英语成绩:%.2f\t 语文成绩:%.2f\t数学成绩:%.2f\t物理成绩:%.2f\n", students[i].id, students[i].name,students[i].yingyu[0], students[i].score, students[i].yuwen, students[i].shuxue); break; } } } //删除学生信息结构体 void deleteStudent(int id) { int index = -1; int i; for ( i= 0; i < miomi; ++i) { if (students[i].id == id) { index = i; break; } } if (index != -1) { int j; for (j = index; j < miomi - 1; ++j) students[j] = students[j + 1]; --miomi; printf("删除成功。\n"); } else { printf("未找到指定的学生编号。\n"); } } //计算平均分结构体(1) void calculateAverageScore() { float total=0 ; float totbl=0 ; float totcl=0 ; float totfl=0 ; int i,j; if (miomi== 0) { printf("暂无数据计算平均分。\n"); return ; } for ( i = 0; i < miomi; ++i){//英语 totfl += students[i].yingyu[0];} for ( i = 0; i < miomi; ++i){//语文 total += students[i].score;} for ( i = 0; i < miomi; ++i){//数学 totbl += students[i].shuxue;} for ( i = 0; i < miomi; ++i){//物理 totcl += students[i].yuwen;} // totfl=totfl/miomi; total=total/miomi; totbl=totbl/miomi; totcl=totcl/miomi; printf("当前所有学生的英语平均分为:%.2f 分.\n",totfl ); printf("当前所有学生的语文平均分为:%.2f 分.\n",total ); printf("当前所有学生的数学平均分为:%.2f 分.\n",totbl ); printf("当前所有学生的物理平均分为:%.2f 分.\n",totcl ); return ; } //修改学生信息结构体(1) void caffeeStudent(){ int i,id,j; printf("请输入要修改学生的ID信息: "); scanf("%d", &id); for(i=0;i<miomi;++i){ if(id==students[i].id){ while (1) { printf("\n==== 修改界面 ====\n"); printf("1. 修改学生ID \n"); printf("2. 修改学生姓名\n"); printf("3. 修改学生成绩\n"); printf("4. 返回上一个程序\n"); printf("=========================\n"); printf("请选择操作序号: "); j=0; scanf("%d",&j); switch(j) { case 1: printf("请输入修改后学生的ID: "); scanf("%d", &students[i].id); getchar(); // 清除输入缓冲区中的换行符 break; case 2: printf("请输入修改后学生的姓名: "); fgets(students[i].name, sizeof(students[i].name), stdin); students[i].name[strcspn(students[i].name, "\n")] = '\0'; // 去掉末尾的换行符 break; case 3: printf("请输入修改后学生的英语成绩: "); scanf("%f", &students[i].yingyu[0]); printf("请输入修改后学生的语文成绩: "); scanf("%f", &students[i].score); printf("请输入修改后学生的数学成绩: "); scanf("%f", &students[i].shuxue); printf("请输入修改后学生的物理成绩: "); scanf("%f", &students[i].yuwen); break; case 4: return ; break; default: printf("无效的选择呢,请您重新选择。\n"); } } printf("学生信息修改成功!\n"); return ; } continue; } } //主函数结构体 int main() { int choice; int u_u=0; while (1) { printf("\n==== 学生信息管理系统 ====\n"); printf("1. 添加学生信息\n"); printf("2. 进入管理员面板\n"); printf("3. 计算平均分\n"); printf("4. 搜索学生的信息\n"); printf("5. 退出程序\n"); printf("=========================\n"); printf("请选择操作序号: "); scanf("%d", &choice); switch(choice) { case 1://添加学生信息 addStudent(); break; case 2://进入管理员面板 diplawStudents();//进入管理员界面结构体 break; case 3://计算平均分 calculateAverageScore();//进入计算平均分结构体 break; case 4://搜索学生的信息 delkesStudent(); break; case 5://退出程序 printf("再见宝贝,欢迎您下次使用系统\n"); return 0; break; default://无效的选择 printf("无效的选择呢,请您重新选择。\n"); } } }我想要英语成绩(成绩只有1次)保留数组类型,而且还要成计算平均分成绩,怎么更改(结果代码你要运行一次)
05-13
#include <stdio.h> #include <string.h> #define MAX_STUDENTS 100//宏定义 #define ENGLISH_SCORES 2 // 英语成绩数组长度定义 void bookStudents();//显示学生所有信息函数调用声明 void deleteStudent(int nm);//删除函数调用声明 void caffeeStudent();//修改学生信息(按ID) void sortStudents();//排序函数的声明 //学生信息结构体 typedef struct Student { int id;//ID char name[50];//名字 float score;//语文成绩 float yingyu[ENGLISH_SCORES]; //英语成绩 float yuwen;//数学成绩 float shuxue;//物理成绩 } Student; //初始值赋值 Student newStudent = { 0,"",0,0,0 }; Student students[MAX_STUDENTS]; int miomi = 0;//计算当前储存人数 //添加学生信息结构体 void addStudent() { int i; Student newStudent; if (miomi >= MAX_STUDENTS) { printf("学生记录已满,无法继续添加勒。\n"); return; } printf("请输入学生的ID呢: "); scanf_s("%d", &newStudent.id); getchar(); // 清除输入缓冲区中的换行符 if(newStudent.id) printf("请输入学生的姓名呢: "); fgets(newStudent.name, sizeof(newStudent.name), stdin); newStudent.name[strcspn(newStudent.name, "\n")] = '\0'; // 去掉末尾的换行符 while (1) { printf("请输入学生的语文成绩讷: "); scanf_s("%f", &newStudent.score); if (newStudent.score >= 0 && newStudent.score <= 100) break; printf("成绩必须在0到100之间,请重新输入呀!\n"); } for (i = 0; i < ENGLISH_SCORES; i++) { while (1) { printf("请输入学生的英语成绩%d讷: ",i+1); scanf_s("%f", &newStudent.yingyu[i]); if (newStudent.yingyu[i] >= 0 && newStudent.yingyu[i] <= 100) break; printf("成绩必须在0到100之间,请重新输入呀!\n"); } } while (1) { printf("请输入学生的数学成绩讷: "); scanf_s("%f", &newStudent.yuwen); if (newStudent.yuwen >= 0 && newStudent.yuwen <= 100) break; printf("成绩必须在0到100之间,请重新输入呀!\n"); } while (1) { printf("请输入学生的物理成绩讷: "); scanf_s("%f", &newStudent.shuxue); if (newStudent.shuxue >= 0 && newStudent.shuxue <= 100) break; printf("成绩必须在0到100之间,请重新输入呀!\n"); } students[miomi++] = newStudent; printf("学生信息添加成功!\n"); return; } //管理员界面结构体 void diplawStudents() { int h, nm; printf("正在进入系统界面\n "); while (1) { printf("===============================\n"); printf("\n==========管理员系统界面========\n"); printf("=====1. 删除学生信息(按ID)=====\n"); printf("=====2. 修改学生信息(按ID)=====\n"); printf("=====3. 显示所有学生信息 =====\n"); printf("=====4. 返回学生界面 =====\n"); printf("=====5. 排序学生信息 =====\n"); printf("===============================\n"); printf("请选择操作序号: "); h = 0; scanf_s("%d", &h); switch (h) { case 1: printf("请输入要删除学生的ID信息: "); nm = 0; scanf_s("%d", &nm); deleteStudent(nm);//指向删除函数 break; case 2: caffeeStudent();//修改学生信息(按ID) break; case 3: bookStudents();//显示所有学生信息(按ID) break; case 4: printf("再见管理员,欢迎您下次进入\n");//退出程序 return; break; case 5: sortStudents();//排序函数的引用 break; default: printf("无效的选择呢,请您重新选择。\n"); } } } //显示所有学生信息结构体 void bookStudents() { int i, j; if (miomi == 0) { printf("目前没有学生信息。\n"); return; } printf("学生的总人数有%d\n", miomi); for (i = 0; i < miomi; i++) { printf("学号:%d\t姓名:%s\t", students[i].id, students[i].name); for (j = 0; j < ENGLISH_SCORES; j++) { printf("英语成绩%d:",j+1); printf("%.2f ", students[i].yingyu[j]); } printf("\t语文:%.2f\t数学:%.2f\t物理:%.2f\n", students[i].score, students[i].yuwen, students[i].shuxue); } } //搜索学生的信息结构体 void delkesStudent() { int i, id; printf("请输入要搜索学生的ID信息讷: "); scanf_s("%d", &id); for (i = 0; i < miomi; ++i) { if (id == students[i].id) { printf("要搜索学生的ID信息为:\n"); printf("学号:%d\t名字:%s\t语文成绩:%.2f\t数学成绩:%.2f\t物理成绩:%.2f\t", students[i].id, students[i].name, students[i].score, students[i].yuwen, students[i].shuxue); printf("英语成绩1:"); printf("%.2f \t", students[i].yingyu[0]); printf("英语成绩2:"); printf("%.2f \n", students[i].yingyu[1]); break; } } } //删除学生信息结构体 void deleteStudent(int id) { int index = -1; int i; for (i = 0; i < miomi; ++i) { if (students[i].id == id) { index = i; break; } } if (index != -1) { int j; for (j = index; j < miomi - 1; ++j) students[j] = students[j + 1]; --miomi; printf("删除成功。\n"); } else { printf("未找到指定的学生编号。\n"); } } //计算平均分结构体 void Studentyyuu() { float total = 0; float totbl = 0; float totcl = 0; float totfl[ENGLISH_SCORES] = { 0 }; float totgl[ENGLISH_SCORES] = { 0 }; int i, j; if (miomi == 0) { printf("暂无数据计算平均分。\n"); return; } for (i = 0; i < miomi; i++) { for (j = 0; j < ENGLISH_SCORES; j++) { totfl[j] += students[i].yingyu[j];//英语成绩 } for (i = 0; i < miomi; ++i) {//语文 total += students[i].score; } for (i = 0; i < miomi; ++i) {//数学 totbl += students[i].shuxue; } for (i = 0; i < miomi; ++i) {//物理 totcl += students[i].yuwen; } printf("当前所有学生的语文平均分为:%.2f 分.\n", total / miomi); printf("当前所有学生的英语平均分为:%.2f 分.\n", totfl[0] / miomi); printf("当前所有学生的数学平均分为:%.2f 分.\n", totbl / miomi); printf("当前所有学生的物理平均分为:%.2f 分.\n", totcl / miomi); return; } } //修改学生信息结构体 void caffeeStudent() { int i, id, j,h; printf("请输入要修改学生的ID信息: "); scanf_s("%d", &id); for (i = 0; i < miomi; ++i) { if (id == students[i].id) { while (1) { printf("\n=========修改界面==============\n"); printf("======1. 修改学生ID ========\n"); printf("======2. 修改学生姓名 ========\n"); printf("======3. 修改学生成绩 ========\n"); printf("======4. 返回上一个程序========\n"); printf("===============================\n"); printf("请选择操作序号: "); j = 0; scanf_s("%d", &j); if (j == 4) break; switch (j) { case 1: printf("请输入修改后学生的ID: "); scanf_s("%d", &students[i].id); getchar(); // 清除输入缓冲区中的换行符 break; case 2: printf("请输入修改后学生的姓名: "); fgets(students[i].name, sizeof(students[i].name), stdin); students[i].name[strcspn(students[i].name, "\n")] = '\0'; // 去掉末尾的换行符 break; case 3: while (1) { printf("请输入修改后学生的语文成绩: "); scanf_s("%f", &students[i].score); if (students[i].score >= 0 && students[i].score <= 100) break; printf("成绩必须在0到100之间,请重新输入!\n"); } for (h = 0; h < ENGLISH_SCORES; h++) { while (1) { printf("请输入修改后学生的英语成绩%d: ", h + 1); scanf_s("%f", &students[i].yingyu[h]); if (students[i].yingyu[h] >= 0 && students[i].yingyu[h] <= 100) break; printf("成绩必须在0到100之间,请重新输入!\n"); } } while (1) { printf("请输入修改后学生的数学成绩: "); scanf_s("%f", &students[i].yuwen); if (students[i].yuwen >= 0 && students[i].yuwen <= 100) break; printf("成绩必须在0到100之间,请重新输入!\n"); } while (1) { printf("请输入修改后学生的物理成绩: "); scanf_s("%f", &students[i].shuxue); if (students[i].shuxue >= 0 && students[i].shuxue <= 100) break; printf("成绩必须在0到100之间,请重新输入!\n"); } break; default: printf("无效的选择呢,请您重新选择。\n"); } } printf("学生信息修改成功!\n"); return; } continue; } } //输出排序结果 void paixuestudent(int ii) { int i, j; Student temp; // 根据选择的科目进行排序 for (i = 0; i < miomi - 1; i++) { for (j = 0; j < miomi - i - 1; j++) { float currentScore, nextScore; switch (ii) { case 1: // 语文成绩 currentScore = students[j].score; nextScore = students[j + 1].score; break; case 2: // 数学成绩 currentScore = students[j].shuxue; nextScore = students[j + 1].shuxue; break; case 3: // 英语1成绩 currentScore = students[j].yingyu[0]; nextScore = students[j + 1].yingyu[0]; break; case 4: // 物理成绩 currentScore = students[j].yuwen; nextScore = students[j + 1].yuwen; break; case 5: // 英语2成绩 currentScore = students[j].yingyu[1]; nextScore = students[j + 1].yingyu[1]; break; default: return; } if (currentScore < nextScore) { temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; } } } // 显示排序后的成绩 printf("==== 按成绩类型排序的结果 ====\n"); for (i = 0; i < miomi; i++) { printf("学号:%d\t姓名:%s\t", students[i].id, students[i].name); switch (ii) { case 1: // 语文成绩 printf("语文成绩:%.2f\n", students[i].score); break; case 2: // 数学成绩 printf("数学成绩:%.2f\n", students[i].shuxue); break; case 3: // 英语成绩 printf("英语1成绩:%.2f\t", students[i].yingyu[0]); printf("英语2成绩:%.2f\n", students[i].yingyu[1]); break; case 4: // 物理成绩 printf("物理成绩:%.2f\n", students[i].yuwen); break; } } } // 排序学生信息 void sortStudents() { int choice; printf("\n==== 排序选项 ====\n"); printf("1. 按语文成绩排序\n"); printf("2. 按数学成绩排序\n"); printf("3. 按英语成绩排序\n"); printf("4. 按物理成绩排序\n"); printf("请选择排序内容:"); scanf_s("%d", &choice); switch (choice) { case 1: paixuestudent(1); // 语文成绩 break; case 2: paixuestudent(2); // 数学成绩 break; case 3: paixuestudent(3); // 英语1成绩 paixuestudent(5); // 英语2成绩 break; case 4: paixuestudent(4); // 物理成绩 break; default: printf("无效的选择!\n"); return; } } //主函数结构体 int main() { int choice; int u_u = 0; while (1) { printf("=============================\n"); printf("\n==== 学生信息管理系统 =======\n"); printf("=====1. 添加学生信息=========\n"); printf("=====2. 进入管理员面板=======\n"); printf("=====3. 计算平均分===========\n"); printf("=====4. 搜索学生的信息=======\n"); printf("=====5. 退出程序=============\n"); printf("=============================\n"); printf("请选择操作序号: "); scanf_s("%d", &choice); switch (choice) { case 1://添加学生信息 addStudent(); break; case 2://进入管理员面板 diplawStudents();//进入管理员界面结构体 break; case 3://计算平均分 Studentyyuu();//进入计算平均分结构体 break; case 4://搜索学生的信息 delkesStudent(); break; case 5://退出程序 printf("再见宝贝,欢迎您下次使用系统\n"); return 0; break; default://无效的选择 printf("无效的选择呢,请您重新选择。\n"); } } }对这个学生成绩管理系统进行分析和评估,确定该系统所需的功能(建立在我给代码的基础上进行说明,不需要你加上其他功能,要400字左右)
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值