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型,如果你是整型,就用“.”调用,直接加即可!但如果你非要用字符型,那就需要将字符转成整型在相加!!!自己试一试吧……

你居然把所有的值者保存成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
}