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

200分 求<<C++课程设计基础>>课程设计任务书 !!!

发布网友 发布时间:2022-09-01 11:19

我来回答

2个回答

热心网友 时间:2024-04-29 09:29

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define MUNMAX 5
struct studentInfo{ //结构类型定义
int num;
float basic;
float spe;
float choose;
float peop;
float lib;
};
struct stuType{
studentInfo stu[MUNMAX];
int num;
};
void DisplayMenu();

int choiceItem();
int f(int);
void putone(struct stuType* as,int num);
void sum(struct stuType *p);
void Init(struct stuType*);
void PrintInfo(struct stuType);
void Print_aInfo(struct stuType,int);
void Input_aInfo(struct studentInfo*);
void Input_allInfo(struct stuType*,int num);
int Search(struct stuType);
void modify(struct stuType*);
void main()
{

struct stuType student;
int choice,index,a;
system(\"color 4e\");
Init(&student);

do{

choice=choiceItem();
switch (choice){
case 0:printf(\"\\n再见!\");break;
case 1:Input_allInfo(&student,MUNMAX);break;
case 2:putone(&student,f(a)); break;
case 3rintInfo(student);break;
case 4:modify(&student);break;
case 5:if ((index=Search(student))!=-1)
Print_aInfo(student,index);
else printf(\"\\n不存在这个学生.\");
break;
case 6:Init(&student);break;
case 7:sum(&student);break;
}
}while(choice);
}

void DisplayMenu() //显示菜单
{
COORD coordScreen = { 25, 3 };

HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hCon, coordScreen);
printf(\"========= MENU =========\\n\");
printf(\"\\n (1) 通过键盘输入全部学生的学分;\");
printf(\"\\n (2) 通过键盘修改某位学生的学分;\");
printf(\"\\n (3) 显示该班所有学生学分完成情况;\");
printf(\"\\n (4) 全部课程的学分高低进行排序;\");
printf(\"\\n (5) 给定学号,显示该学生学分完成情况;\");
printf(\"\\n (6) 初始化程序;\");
printf(\"\\n (7) 一些统计信息;\");
printf(\"\\n (0) 退出系统;\");
printf(\"\\nchoice,please:\");
}

int choiceItem() //菜单选择
{
int choice;
do{
DisplayMenu();
scanf(\"%d\",&choice);

}while(choice<0||choice>7);
return choice;
}
int f(int a)
{
do
{
printf("请输入要修改学生的学号(1-5):");
scanf("%d",&a);
}while(a-1<0||a-1>4);
return a-1;
}
void Init(struct stuType* s) //初始化
{
s->num=0;
}

void Print_aInfo(struct stuType s,int index) //输出一个学生的信息
{
printf("\n学号:%d\n基础课学分:%-6.1f\n专业课学分:%-6.1f\n选修课学分:%-6.1f\n人文类课程学分:%-6.1f\n实验性课程学分:%-6.1f\n ",s.stu[index].num,s.stu[index].basic,s.stu[index].spe,s.stu[index].choose,s.stu[index].peop,s.stu[index].lib);

}

void PrintInfo(struct stuType s) //输出所有学生的信息
{

if (s.num==0) {
printf("\n无学生信息.");
return;
}
for (int i=0;i<s.num;i++){
printf("\n学号:%d\n基础课学分:%-6.1f\n专业课学分:%-6.1f\n选修课学分:%-6.1f\n人文类课程学分:%-6.1f\n实验性课程学分:%-6.1f\n ",s.stu[i].num,s.stu[i].basic,s.stu[i].spe,s.stu[i].choose,s.stu[i].peop,s.stu[i].lib);

}
}
void putone(struct stuType* as,int num)//修改一个学生信息
{
Input_aInfo(&as->stu[num]);
}

void Input_aInfo(struct studentInfo* as) //输入一个学生的信息
{
do
{
printf("请输入学生的学号:");
scanf("%d",&as->num);
}while(as->num<1||as->num>5);
printf("请输入学生的基础课成绩:");
scanf("%f",&as->basic);
printf("请输入学生的专业课成绩:");
scanf("%f",&as->spe);
printf("请输入学生的选修课成绩:");
scanf("%f",&as->choose);
printf("请输入学生的人文课成绩:");
scanf("%f",&as->peop);
printf("请输入学生的实验课成绩:");
scanf("%f",&as->lib);
printf("\n");
}

void Input_allInfo(struct stuType* s,int num) //输入多个学生的信息
{
printf("\n请输入 %d 组信息.\n",num);
for (int i=0;i<num;i++){
if (s->num==MUNMAX){
printf("\n已经输入过成绩,不能重复输入,只能按2更改原始数据!");
break;
}
Input_aInfo(&s->stu[s->num++]);
}
}

int Search(struct stuType stu) //查找
{
int num;
do
{
printf("\n输入学生学号(1-5):");
scanf("%d",&num);
}while(num<1||num>5);
for (int i=0;i<stu.num;i++)
if (stu.stu[i].num==num)
return i;
return -1;
}

void modify(struct stuType *p) //排序
{int i,j;float temp;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{if(p->stu[j].basic>p->stu[j+1].basic){
temp=p->stu[j].basic;
p->stu[j].basic=p->stu[j+1].basic;
p->stu[j+1].basic=temp;}
if(p->stu[j].spe>p->stu[j+1].spe){
temp=p->stu[j].spe;
p->stu[j].spe=p->stu[j+1].spe;
p->stu[j+1].spe=temp;}
if(p->stu[j].choose>p->stu[j+1].choose){
temp=p->stu[j].choose;
p->stu[j].choose=p->stu[j+1].choose;
p->stu[j+1].choose=temp;}
if(p->stu[j].peop>p->stu[j+1].peop){
temp=p->stu[j].peop;
p->stu[j].peop=p->stu[j+1].peop;
p->stu[j+1].peop=temp;}
if(p->stu[j].lib>p->stu[j+1].lib){
temp=p->stu[j].lib;
p->stu[j].lib=p->stu[j+1].lib;
p->stu[j+1].lib=temp;}
}

printf("全部课程成绩的排序结果为:\n基础课:");
for(i=0;i<5;i++)
printf("%-6.1f",p->stu[i].basic);
printf("\n专业课:");
for(i=0;i<5;i++)
printf("%-6.1f",p->stu[i].spe);
printf("\n选修课:");
for(i=0;i<5;i++)
printf("%-6.1f",p->stu[i].choose);
printf("\n人文课:");
for(i=0;i<5;i++)
printf("%-6.1f",p->stu[i].peop);
printf("\n实验课:");
for(i=0;i<5;i++)
printf("%-6.1f",p->stu[i].lib);
}
void sum(struct stuType *p)
{int i,b1=0,b2=0,s1=0,s2=0,c1=0,c2=0,p1=0,p2=0,l1=0,l2=0;
for(i=0;i<4;i++)
{if(p->stu[i].basic>=90.0)
b1++;
if(p->stu[i].basic<50.0)
b2++;
if(p->stu[i].spe>=90.0)
s1++;
if(p->stu[i].spe<50.0)
s2++;
if(p->stu[i].choose>=90.0)
c1++;
if(p->stu[i].choose<24.0)
c2++;
if(p->stu[i].peop>=90.0)
p1++;
if(p->stu[i].peop<8.0)
p2++;
if(p->stu[i].lib>=90.0)
l1++;
if(p->stu[i].lib<20.0)
l2++;
}
printf("\n基础课程90学分以上的有%d个,不及格的有%d个",b1,b2);
printf("\n专业课程90学分以上的有%d个,不及格的有%d个",s1,s2);
printf("\n选修课程90学分以上的有%d个,不及格的有%d个",c1,c2);
printf("\n人文课程90学分以上的有%d个,不及格的有%d个",p1,p2);
printf("\n实验课程90学分以上的有%d个,不及格的有%d个",l1,l2);

热心网友 时间:2024-04-29 09:29

帮不了你,可否把分给我,我现在很缺。
但我可以告诉你,你这个发到CSDN上会更好。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 荣耀8X系统还能升级吗? 谁知道ANSYS里的$k这个命令是什么意思 请教各位了 在Ansys中要用到玻璃,谁知道玻璃的K文件应该怎么写? 我第一次用ansys 下的ls-dyna,出现了下面的问题,怎么回事?请大侠指教... 有谁能提供ansys的K文件的一些知识 微信微粒贷是什么?微信微粒贷怎么样? 我的被别人注册了,无法登陆,需要怎么解绑银行卡? 想干滴滴打车提交档案了,得几天回复 我的被封了,银行卡怎么解绑? 译论中&quot;化境&quot;的观点是谁提出来的 臻至化境中的化境是什么意思 已趋化境的成语解释 武术中的明境,暗境,化境怎么理解- 问一问 佛经的里的化境指的什么? 乘风破浪的姐姐第三季成团夜是直播吗 贾母的管理才能 如果中暑,但没带解暑药,只有毛巾、矿泉水、食物、酒精、纸等物品... 中暑家里没药吃什么快 承诺人撤销承诺的法律规定是什么 分别写出16和30的所有因数,并求出他们所有的公有的因数 谁能给我传个VB课程设计的任务书啊!滚动字幕的!!! oppo手机系列档次区别 大雾天对人体有什么坏处 怎么保护自己 VlP什么意思 大雾天户外活动对人的身体影响有多大? 网络语狗贼是什么梗? 什么叫狗贼? 女孩说我狗贼是什么意思?我又应该怎么回应? 欧洲狗贼是什么梗? 鸡鸣狗贼的意思是什么 韩语音译过来&#39;砍丢丢&#39;什么意思? 老师 你好 我安装了UltraEdite 但是下载的注册机 注册不了 你能帮... ultraedit 18.10注册机 请发送UltraEdit注册机 谁可以告诉我一个有效的好的ULtraEdit11.00的注册机? 怀孕初期头晕怎么回事? 求ps5破解版下载 永久免费的 如何计算综合工时的加班费_加班费计算标准 综合工时加班费 综合工时制员工是否有加班工资以及如何计算