내 코드에 문제가 있습니다. 내 프로그램은 분수를 단순화하는 프로그램입니다. 그래서 내 문제는 다음과 같습니다.오류 : 구조 또는 조합이 아닌 무언가의 회원 요청
Fraction 구조체를 선언합니다. 그리고 나서 필자는 주요 함수에서 F를 선언합니다.
그러나 구조체 소수 (즉, f.num, f.den)의 멤버를 사용하려고하면 구조체 또는 공용체의 멤버가 아니라고 표시됩니다. 내 프로그램에 대해 모두 똑같은 말을하는 것과 같은 10 가지 오류가 있습니다.
는오류 (그대로) : 오류 :
void simplify(struct Fraction *f)
f
에서 무언가가 아니다 노조
#include <stio.h>
struct Fraction{
int num;
int den;
int lownum;//lownum = lowest numerator.
int lowden;//lowden = lowest denominator
int error;
};
void enter(struct Fraction *f);
void simplify(struct Fraction *f);
void display(const struct Fraction *f);
int main(void){
struct Fraction f;
printf("Fraction Simplifier\n");
printf("===================\n");
enter(&f);
simplify(&f);
display(&f);
}
void enter(struct Fraction *f){
printf("Please enter numerator : \n");
scanf("%d", &f.num);
printf("please enter denominator : \n");
scanf("%d", &f.den);
printf("%d %d", f.num, f.den);
}
void simplify(struct Fraction *f){
int a;
int b;
int c;
int negative; //is fraction positive?
a = f.num;
b = f.den;
if (a/b < 0){
negative = 1;
}
if(b == 0){
f.error = 1;
}
if(a < 0){
a = a * -1;
}
if(b < 0){
b = b * -1;
}
//euclids method
if(a < b){
c = a;
a = b;
b = c;
}
while(b != 0){
c = a % b;
a = b;
b = c;
}
f.lownum = f.num/a;
f.lowden = f.den/a;
if(negative = 1){
f.lownum = f.lownum * -1;
}
}
void display (const struct Fraction *f){
if (f.error != 1){
printf("%d/%d", f.lownum, f.lowden);
}else{
printf("error");
}
}
''입니다. 더 나은 들여 쓰기를 사용해보십시오. –
pmg
팁 : C 규칙에서 비 오류 오류 코드는 0뿐입니다. 오류 코드와 비 오류를 모두 반환하는 함수는 0 (포인터 용), 모든 음수 값 (음수가 아닌 값을 반환하는 함수 용) 또는 다른 것이 가능하지 않으면 명시 적으로 성공하지 못하거나 errno가 지원하는 특정 반환 값. 진리 값의 경우 협약은 0은 거짓이고 다른 모든 것은 사실이라고 규정하고 있습니다. – Deduplicator