计算平均学分绩小程序(最近更改更加好用)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//本程序功能是:计算平均学分绩点
//作者:11070641班韦修勇
//时间:2012年9月13日当前最后一次修改时间2012-9-15
#include
#include
#define TC 100 //必要时修改数字部分
class Course
{
public:
float Point;
char *Name;
float Credit;
void Get_Name(char *name){ Name=name; }
void Get_Score(float score){ Score=score;}
void Get_Credit(float credit){ Credit=credit;}
void Get_Point(float score);
private:
float Score;
};
void Course::Get_Point(float score)
{
1
Point=0;
else
Point=Score/10.0-5.0;
}
void main()
{
Course co[TC];
float score;
float credit;
float sum1=0,sum2=0,GPA;
int i=0,j;
int flag=0;
cout<<"**************************************欢迎使用*********************************"< cout<<" "< cout<<" 使用说明"< cout<<" 1、本程序最多可以计算100门课的平均学分绩点。"< cout<<" 2、百分制记分课程:按具体考试成绩输入,不及格只能输入50。如大学计算机基础考" <<"试成绩为92,则输入92;"< cout<<" 3、五级制计分课程:“优秀”为95,“良好”为85,“中等”为75,“及格”为65," <<"“不及格”为50。"< cout<<" 4、若想计算当前所有已经完成输入的课程的平均学分绩点,在课程名称栏输入“0”," <<"回车即可。"< cout<<" 5、*特别注意*:“课程学分”和“考试成绩”栏只能输入实数数字," <<"禁止输入英文字母、汉字等其他非数字字符,否则进入死循环,无法继续运算(解决办法是" <<"重新运行程序)。"< cout<<" "< 2 cout<<"********************************* 下面开始计算您的GPA*************************"< cout<<" "< { char *name=new char[40]; cout<<"课程名称(欲开始计算平均学分绩点请输入0):"< gets(name); if((int)*name=='0') { flag=1; goto found; } co[i].Get_Name(name); cout<<"课程学分"< found2:cin>>credit; if(credit<=0||credit>100||(credit>'\:'&&credit<'\z')) { cout<<"输入有误,请再次输入课程学分!"< goto found2; } co[i].Get_Credit(credit); 3 cout<<"考试成绩"< found3:cin>>score; if(score<50||score>100||(score>50&&score<60)) { cout<<"输入有误,请再次输入考试成绩!"< goto found3; } co[i].Get_Score(score); co[i].Get_Point(score); i++; } for(j=0;j { sum1+=co[j].Point*co[j].Credit; sum2+=co[j].Credit; } GPA=sum1/sum2; cout<<"您各课程学分绩点如下。"< for(j=0;j 4 { cout< if(j>3&&(j%3==0))cout< } cout< cout<<"您的平均学分绩点(GPA)是:"< getchar(); } 运行结果: 5 //本程序功能是:计算平均学分绩点 //作者:11070641班韦修勇 //初次完成时间:2012年9月13日 //上次修改时间:2012-9-15 //本次修改时间:2012-9-16 // 说明 //**************************************************************************************************** //本小程序功能是:计算平均学分绩点 //运行环境:win7/XP。 //**可执行文件(.exe 文件)已上传到我QQ应用里的文件夹了,可以下载。 //文件大小:228 KB (233,547 字节) //尚未解决问题:1、运行时所需内存空大小未知;2、考试成绩和课程分数输入英文字母或其他非数字数据时不会报 // 错,并且进入死循环,因而运算不下去。 //以上的第二个问题已经得到解决,本文对原来的代码进行了修改(前加有//的为原来易致死循环的代码)。 //使用方法:输入考试成绩和课程学分,想算几门就算几门,想停止输入并开始计算时,输入0,回车即可!操作简单!//作者:11070641班韦修勇 //时间:2012年9月13日上一次修改时间2012-9-15 当前最后一次修改时间2012年9月16日 //**************************************************************************************************** //源程序代码: #include #include #define TC 100 //必要时修改数字部分 class Course 6