Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 29, 2024, 06:57:11 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 231
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 206
Total: 206

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

penghitung luas dll

Dimulai oleh mandrake, Maret 10, 2014, 11:34:38 AM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

mandrake

jadi gini, saya nulisnya pake dev c++. Niatnya supaya bisa ngitung dalam pecahan.

#include <iostream>
#include <string>
#include <sstream>
#include <math.h>
#include <limits>

using namespace std;

int lingkaran (float a){
   float L;
   L=(pow(a,2)/7)*22;
   return L;
}

int tabung (float a, int b){
   float V;
   V = lingkaran(a)*b;
}

int main(){
   int x;
   cout<<"Silahkan pilih jenis program"<<endl<<
   endl<<"ketik 1 untuk menggunakan penghitung luas lingkaran"<<endl<<
   endl<<"ketik 2 untuk menggunakan penghitung volume tabung"<<endl<<
   endl<<"ketik 3 untuk menggunakan penghitung volume kerucut"<<endl<<endl;
   cin>>x;
   cout<<endl<<endl;
while (x!=1||x!=2||x!=3){
   float a,t,L,V1,V2;
   string mystr, foul;
   switch (x){
      case 1:
         cout<<"anda telah memilih penghitung Luas lingkaran"<<endl;
         cout<<"silahka masukkan jari-jari lingkaran"<<endl<<endl;
         cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
         getline(cin,mystr);
         stringstream(mystr)>>a;
         L=lingkaran(a);
         cout<<"Luas lingkaran adalah "<<L<<endl<<endl;
         break;
      case 2:
         cout<<"anda telah memilih penghitung Volume tabung"<<endl;
         cout<<"silahkan masukkan jari-jari alas"<<endl<<endl;
         cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');
         getline(cin,foul);
         stringstream(foul)>>a;
         cout<<"silahkan masukkan tinggi tabung"<<endl<<endl;
         getline(cin,foul);
         stringstream(foul)>>t;
         V1=tabung (a,t);
         cout<<"Volume tabung adalah "<<V1<<endl<<endl;
         break;
      case 3:
         cout<<"anda telah memilih penghitung Volume kerucut"<<endl;
         cout<<"silahkan masukkan jari-jari alas"<<endl<<endl;
         cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');   
         getline(cin,foul);
         stringstream(foul)>>a;
         cout<<"silahkan masukkan tinggi tabung"<<endl<<endl;      
         getline(cin,foul);
         stringstream(foul)>>t;
         V2=(tabung (a,t))/3;
         cout<<"volume kerucut adalah"<<V2<<endl;
         break;
      default:
         cout<<"cuman ada 3 pilihan tuh"<<endl;
         break;
         return 0;
   }
   return 0;
}
return 0;
}


tapi waktu di run, kalo inputnya pake pecahan, hasilnya langsung ngebuletin. apa ada yang salah dari penetapan tipe-nya kah?


sm2jc5

fungsi lingkaran dan tabung return type nya seharusnya float bukan int. Ketika suatu bilangan float(decimal) di jadikan int maka nilainya akan dibulatkan kebawah.