JBTALKS.CC

标题: C++ 高手帮忙下 [急] [打印本页]

作者: devilfromheaven    时间: 2013-8-28 03:19 PM
标题: C++ 高手帮忙下 [急]

我的code基本上是可以work了得
但是我要加array去,可以算几个人的BMI在同一时间,和可以选择measure unit (meter,inches)
但是这两个东西我写来写去弄不出来,
谁可以帮帮忙? TT
  1. #include <iostream>
  2. using namespace std;
  3. void displayMenu()
  4. {
  5.    cout << "*-------------------------------------*" << endl;
  6.    cout << "|           BMI Calculator            |" << endl;
  7.    cout << "|=====================================|" << endl;
  8.    cout << "| Select:                             |" << endl;
  9.    cout << "| 1 => Display Data                   |" << endl;
  10.    cout << "| 2 => Insert Data                    |" << endl;
  11.    cout << "|-------------------------------------|" << endl;
  12.    cout << "| 3 => Calculate Standard BMI         |" << endl;
  13.    cout << "| 4 => Clear Data                     |" << endl;
  14.    cout << "|-------------------------------------|" << endl;
  15.    cout << "| Q => Quit                           |" << endl;
  16.    cout << "*-------------------------------------*" << endl;
  17.    cout << endl;
  18.    cout << "Choice: ";
  19. }

  20. void DisplayData( string &name, float &weight, float &height,float &bmi )
  21. {
  22.    cout << endl;
  23.    cout << "Name = " <<name<< endl;
  24.    cout << "Weight = " <<weight<< endl;
  25.    cout << "Height = " <<height<< endl;
  26.    cout << endl;

  27. }


  28. void InsertData( string &name, float &weight, float &height,float &bmi )
  29. {
  30.         cout << endl;
  31.         cout<<"Please Enter Your Name\n";
  32.         cin >>name;

  33.     cout <<"Enter your weight in Kilograms (KG) : ";
  34.         cin >> weight;

  35.     cout <<"\nEnter your height in Meters (M) : ";
  36.         cin >> height;
  37.        
  38.         cout<<"You are now able to calculate your BMI."<<endl;
  39. }



  40. void Calculate( string &name, float &weight, float &height,float &bmi )
  41. {
  42.      
  43.         bmi = weight/(height*height);
  44.         cout<<"Your BMI is: "<<bmi<<endl;
  45.         if (bmi <= 18.5)
  46.     cout << "You are under weight."<<endl;
  47.     else if ((bmi > 18.5 ) && (bmi < 25))
  48.     cout << "Your weight is in the normal range."<<endl;
  49.     else if (bmi >= 25)
  50.     cout << "You are overweight."<<endl;

  51.        
  52.        
  53.        
  54.        
  55.        
  56. }
  57. void setPrecision ()
  58. {
  59.     cout.setf(ios::fixed);
  60.     cout.setf(ios::showpoint);
  61.     cout.precision(1);
  62. }
  63. void DebugCalculator(string name, float weight, float height)
  64. {
  65.      if(name == "null" && weight==0 && height ==0 )
  66.      cout<<"Please Insert Your Data Before You Calculate Your BMI Or Your Data is Invalid."<<endl;  


  67. }
  68. int main()
  69. {
  70.    string name = "null";
  71.    float weight = 0 ;
  72.    float height = 0;
  73.    char choice;
  74.    bool invalid = true;
  75.    
  76.    do
  77.    {
  78.      float bmi;
  79.      {
  80.        displayMenu();
  81.        cin >> choice;
  82.        choice = toupper(choice);
  83.        switch (choice)
  84.        {
  85.            case '1' : DisplayData(name, weight, height, bmi);
  86.                       break;
  87.            case '2' : InsertData( name, weight, height, bmi);
  88.                       break;
  89.            case '3' : DebugCalculator(name,weight,height);
  90.                       setPrecision();
  91.                       Calculate( name, weight, height, bmi);
  92.                       break;
  93.            case '4' : DisplayData(name="null", weight=0,height=0,bmi);
  94.                       cout << "Your record have been deleted, please insert your data again." << endl;
  95.                       break;
  96.            case 'Q' : invalid = false;
  97.                       cout<<"Thanks for using"<<endl;
  98.                       break;
  99.            default : cout << "Invalid selection, try again!" << endl;
  100.                     
  101.        }
  102.      }
  103.    }while(invalid);
  104.    cout << "Good bye and have a nice day!" << endl;
  105.    cout << endl;
  106.    system("PAUSE");
  107.    return 0;
  108. }
复制代码

作者: SwaiLspongebob    时间: 2013-8-28 03:32 PM
int main
{
cout<<"enter number of ppl";
cin>>size;
for (int i=0; i< size;i++)
xxx[i].displayMenu();

你明白这个就可以了吧
作者: devilfromheaven    时间: 2013-8-28 03:36 PM
SwaiLspongebob 发表于 2013-8-28 03:32 PM
int main
{
coutsize;

我试打了这个code
但是我的display menu直接loop哦,
只是我的display loop罢了,
人数加不到 ><
作者: SwaiLspongebob    时间: 2013-8-28 03:42 PM
zzz...我只是讲用loop
loop什么就你学了咯, 你的loop 可以 {  }很多东西啊
到你的display 跟input完为止咯
作者: SwaiLspongebob    时间: 2013-8-28 03:43 PM
你怎样都要开一个 person[arry];
作者: devilfromheaven    时间: 2013-8-28 03:44 PM
SwaiLspongebob 发表于 2013-8-28 03:42 PM
zzz...我只是讲用loop
loop什么就你学了咯, 你的loop 可以 {  }很多东西啊
到你的display 跟input完为止 ...

就是 { }我不知道要怎样写 ><
我的头要爆炸了,想了一整个早上 ><
大哥可以帮帮忙吗?

作者: bearbear520    时间: 2013-9-6 10:59 PM
先开个structure in array吧

example:
struct Student
{
    string name;
    int age;
};
Student StudentInfo[5];

然后才loop StudentInfo[i].name......age....,之后你每次key-in的data都会store在不同的array里面然后你才print会出来。




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5