소프트웨어 공학 2차 작업
컨텐트
읽기 강의 예습(https://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html) 섹션 2:개인 개발 기술
개인 프로그램(본 작업의 내용은 웹 사이트에서 유래한 것:https://www.cnblogs.com/xinz/p/7417960.html, 및https://www.cnblogs.com/jiel/p/4810756.html)의 인물인 아초처럼 초등학교 네 개의 연산 문제를 자동으로 생성할 수 있는 명령행인'소프트웨어'를 쓴다.C, C++ 또는 C# 등의 언어로 구현할 수 있습니다.
요구 사항
각각 초등학교 1, 2, 3, 4, 5학년의 네 가지 연산 요구를 실현할 수 있고 각 학년의 난이도 요구를 점차적으로 실현할 수 있다. 입력을 통해 서로 다른 학년을 선택할 수 있고 각 학년은 어려움을 구분해야 한다. 중, 이 세 등급은 3, 4, 5학년에 대해 괄호와 여러 개의 연산자 프로그램을 지원하여 옳고 그름을 판단하고 누적 득점과 시간을 한 번에 100개의 문제를 낼 수 있다.또한 중복(예를 들어 2+3과 3+2가 중복된) 상상을 충분히 발휘하여 초등학생 수학 검측에 필요한 기능을 충족시키는 작업 2git 학습과 코드 클라우드 코드 위탁 관리 플랫폼 gitee 읽기 사이트 주소는 다음과 같다git의 사용에 관한 것이다.https://www.liaoxuefeng.com/wiki/896043488029600또는https://gitee.com/help/categories/43이전에 이미 등록된 코드 클라우드 계정을 통해 작업 1에 쓴 코드를 gitee 플랫폼의 개인 창고에 간단하게 위탁 관리하는 것을 배울 수 있다
블로그에서 작업과 쓴 코드를 포함하고gitee에 위탁된 링크를 제공합니다
코드 링크
https://gitee.com/tao_tao_chen1/soft_work/blob/master/Math.cpp
감상
미치겠네. PAT 알고리즘 문제 안의 간단한 계산기에 따라 개량하여 모든 기능을 실현하려고 했는데 데이터 구조의 기초가 튼튼하지 않아서 그 코드는 아무리 고쳐도 안 된다. 가장 기초적인 순환 분기문구로만 쓸 수 있고 코드는 600줄에 가깝게 썼지만 가치 있는 것이 적어서 점수 계산을 실현했다. 시간 관계로 인해 시간과 중복이 없는 기능은 실현되지 못했다.다음에 기회가 되면 다시 와서 수정하겠습니다.
코드
/*
10 2 , 10 3 , 20 3
100 2 , 100 3 , 1000 3
2 1 , 2 2 。 1
2 1 , 2 , 3 ( )(a/b/c 3 abc )
, , 4 ( )
*/
#include
#include
#include
#include
using namespace std;
// A1081
typedef long long ll;
int ans4,ans5,ans6;//
ll gcd(ll a,ll b){//
return b==0?a:gcd(b,a%b);
}
struct Fraction{//
ll up,down;// ,
};
Fraction reduction(Fraction result){//
if(result.down<0){
result.down=-result.down;
result.up=-result.up;
}
if(result.up==0){
result.down=1;
}else{
int d=gcd(abs(result.up),abs(result.down));
result.down/=d;
result.up/=d;
}
return result;
}
//
Fraction add(Fraction f1,Fraction f2){
Fraction result;
result.up=f1.up*f2.down+f2.up *f1.down;
result.down=f1.down*f2.down;
return reduction(result);
}
Fraction minu(Fraction f1,Fraction f2){
Fraction result;
result.up=f1.up*f2.down-f2.up *f1.down;
result.down=f1.down*f2.down;
return reduction(result);
}
Fraction multi(Fraction f1,Fraction f2){
Fraction result;
result.up=f1.up*f2.up;
result.down=f1.down*f2.down;
return reduction(result);
}
Fraction divide(Fraction f1,Fraction f2){
Fraction result;
result.up=f1.up*f2.down;
result.down=f1.down*f2.up;
return reduction(result);
}
//
void showResult(Fraction r){
reduction(r);
if(r.down==1) printf("%lld
",r.up);
else if(abs(r.up)>r.down){//
ans4=r.up/r.down;
ans5=abs(r.up)%r.down;
ans6=r.down;
}else{//
ans4=0;
ans5=r.up;
ans6=r.down;
}
}
int ans;
int ans1;//
int ans2;//
double ans3;//(a/b/c 3 )
int a1[100],b1[100],c1[100];//10
int main(){
Fraction sum,sum2,temp,sum3,sum4;
sum.up=0;
sum.down=1;
sum2.up=0;
sum2.down=1;
sum3.up=1;
sum3.down=1;
sum4.up=1;
sum4.down=1;
int right=0;
int wrong=0;
int grade;
int degree;//3 Difficulty level,respectively are difficult=3 medium=2 easy=1
int num;//
printf(" , 1, 2, 3, 4, 5
");
scanf("%d",&grade);
printf(" , 1, 2, 3
");
scanf("%d",°ree);
switch(grade){
case 1:
if(degree==1){
printf("
");
printf("
");
scanf("%d",&num);
srand((unsigned) (time(NULL)));
for(int i=0;i=n2){
a1[i]=n1;
b1[i]=n2;
}
else{
a1[i]=n2;
b1[i]=n1;
}
}
for(int i=0;i=0&&n1+n3-n2>=0){
a1[i]=n1;
b1[i]=n2;
c1[i]=n3;
i++;}
}
for(int i=0;i=0&&n1+n3-n2>=0){
a1[i]=n1+10;
b1[i]=n2+10;
c1[i]=n3+10;
i++;}
}
for(int i=0;i=n2){
a1[i]=n1;
b1[i]=n2;
}
else{
a1[i]=n2;
b1[i]=n1;
}
}
for(int i=0;i=0&&n1+n3-n2>=0){
a1[i]=n1;
b1[i]=n2;
c1[i]=n3;
i++;}
}
for(int i=0;i=0&&n1+n3-n2>=0){
a1[i]=n1;
b1[i]=n2;
c1[i]=n3;
i++;}
}
for(int i=0;i0){
i++;
printf(" %d * %d-%d =
",n1,n2,n3);
scanf("%d",&ans);
if(n1*n2-n3==ans){
printf(" !
");
right++;}
else{
printf(" !
");
wrong++;}
}
else{
i++;
printf(" %d * %d+%d =
",n1,n2,n3);
scanf("%d",&ans);
if(n1*n2+n3==ans){
printf(" !
");
right++;}
else{
printf(" !
");
wrong++;}
}
}
printf(" %d , %d
",right,wrong);}
break;
case 4:
if(degree==1){
printf(" ");
printf("
");
scanf("%d",&num);
srand((unsigned) (time(NULL)));
for(int i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.