c语言中的结构体问题
来源:百度知道 编辑:UC知道 时间:2024/06/15 10:45:37
struct xuesheng
{
char name[8]; //姓名
char xingbie[3]; //性别
int age; //年龄
char banji[20]; //班级
char yuwen[3]; //语文分数
char hao[9]; //学号
char shuxue[3];//数学分数
char waiyu[3];//英语分数
char zongfen[3];//总分
};
我想总分=数学+语文+外语,用子函数如何实现?
{
char name[8]; //姓名
char xingbie[3]; //性别
int age; //年龄
char banji[20]; //班级
char yuwen[3]; //语文分数
char hao[9]; //学号
char shuxue[3];//数学分数
char waiyu[3];//英语分数
char zongfen[3];//总分
};
我想总分=数学+语文+外语,用子函数如何实现?
说实话!你的结构体定义的时候就有问题!分数的类型应该是整形!而不是char型,如果你是整型,就用“.”调用,直接加即可!但如果你非要用字符型,那就需要将字符转成整型在相加!!!自己试一试吧……
你居然把所有的值者保存成char型,好吧,那就再往回转
atoi就是把字符串型转成整型的库函数;
#include "stdlib.h"
int SumResult(xuesheng &Info)
{
int Result;
Result=atoi(Info.shuxue);
Result+=atoi(Info.yuwen);
Result+=atoi(Info.waiyu);
return sprintf(Info.zongfen,"%d",Result);
}
PS:分数不能是浮点数。
分数最好定义为int或者float型,这样方便后面的加减.
子程序就自定义一个函数
如void sum(int shuxue,int yuwen,int waiyu){
return shuxue+yuwen+waiyu
}