Cho em hỏi bài c++ này sai chỗ nào

batex
2/3/2014 1:12Phản hồi: 0
Bài làm của em
--------------






#include<iostream>


#include<math.h>

#include<string.h>

#include<conio.h>

usingnamespace std;

void main()

{

int init_dam1, init_dam2, ground, skq1 = 0, skq2 = 0, skq3 = 0, skq4 = 0, nt1 = 0, nt2 = 0, nt3 = 0, ss = 0;

float pT;

Quảng cáo



cout << "Nhap vao id1,id2,grd";

cin >> init_dam1;

cin >> init_dam2;

cin >> ground;


if (init_dam1 == 1) nt1++;

Quảng cáo


else

{


for (int i = 1; i < init_dam1; i++)

{

if (init_dam1%i == 0) skq1++;

if (skq1 == 1) nt1++; ss++;

}

}

if (init_dam2 == 1) nt2++;

else

{


for (int j = 1; j < init_dam2; j++)

{

if (init_dam2%j == 0) skq2++;

if (skq2 == 1) nt2++; ss++;

}

}

if (ground == 1) nt3++;

else

{


for (int k = 1; k < ground; k++)

{

if (ground%k == 0) skq3++;

if (skq3 == 1) nt3++;

}

}


int spie, init_dam;

if (nt1 == 1 && nt2 == 1 && nt3 == 1)

{

if (ground < init_dam1 && ground < init_dam2 && init_dam1 < init_dam2)

{

init_dam = init_dam1;

spie = 1;

}

if (ground < init_dam2 && ground < init_dam1 && init_dam2 < init_dam1)

{

init_dam = init_dam2;

spie = 2;

}

if (ground < init_dam2 && ground > init_dam1 && init_dam1 < init_dam2)

{

init_dam = init_dam2;

spie = 2;

}

if (ground < init_dam1 && ground > init_dam2 && init_dam2 < init_dam1)

{

init_dam = init_dam1;

spie = 1;

}

if (init_dam1 == ground)

{

init_dam = init_dam1;

spie = 1;

}

if (init_dam2 == ground)

{

init_dam = init_dam2;

spie = 2;

}

if (nt1 == 1 && nt3 == 1)

{

init_dam = init_dam1;

spie = 1;

}

if (nt2 == 1 && nt3 == 1)

{

init_dam = init_dam2;

spie = 2;

}

int ln = 0, stg, ktnt = 0;

if (nt3 == 1 && ss >= 1)

{

if (ground == init_dam) ln++;

else

{

if (ground < init_dam)

{

stg = init_dam - ground;

if (stg == 1) ln++;

else

{

for (int bcb = ground + 1; bcb < init_dam; bcb++) //Chay tu ground + 1 cho toi init_dam - 1, voi moi bien cuc bo ta lai chay mot vong lap de xem no co phai la so nguyen to hay khong

{

skq4 = 0;

for (int testhu = 1; testhu < bcb; testhu++)

if (bcb%testhu == 0) skq4++;

if (skq4 == 1) ktnt++;

}

if (ktnt == 0) ln++;

}

}

}

}

if (ln == 1 && spie == 1)

{

float tu1;

tu1 = init_dam1 + ground - init_dam2 + 999;

if (tu1 > 999)

tu1 = 999;

pT = 0.50 + (tu1 / 2050);

}

else

{

float tu2;

tu2 = init_dam1 - (ground + init_dam2) + 999;

if (tu2 < 10)

tu2 = 10;

float x;

x = tu2 / 2000;

if (x <= 0.50)

pT = x;

else

pT = float(x - 0.50);


}





}

cout << "pT=" << pT << endl;

}

---------------------------------------
Khi em nhập các số 1 1 1
nó ra kết quả
còn khi nhập 13 666 13
thì nó báo là "biến pT đang được sử dụng chưa có khai báo", trong khi đầu bài em có khai báo nó là float pT rồi.
Chia sẻ

Xu hướng

Xu hướng

Bài mới










  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019