-5

まず第一に、私を助けようとしてくれたthnx.....これは私のプログラムの一部です......main()....thnxにデータを入力しながら検証を行う方法を知りたいです

#include<stdio.h>
#include<iostream.h>
#include<conio.h>
  int i;

 class product           //start of class
    {


            int itemno;
            char name[100];
            char itemtype[50];
            float price;
            float quantity;
            float total;


            public:

            void addprod() ;
            void calculate();
            void accept();
            void display()   ;




     }    ;                 //end of class




     void product::addprod()   //starting of addproduct()
        {
            cout<<"enter the serial number";
            cin>>itemno;

            cout<<"enter the name of the poduct:";
            gets(name)   ;

            cout<<"enter its type:";
            gets(itemtype);

            ***cout<<"enter its price:";
            cin>>price;**
        }*                                       //end of addproduct()



     void product::accept()           //starting of accept()
     {
            cout<<"enter the item name:";
            gets(name)  ;


            cout<<"enter the quantity:";
            cin>>quantity;

     }




     void    product::calculate()
        {
                    total=price*quantity;
         }



     void product::display()
        {
                cout<<"\nName";
                cout<<name;

                cout<<"\nPrice";
                cout<<price ;
                cout<<"\nquantity";
                 cout<<quantity;
                 cout<<"\ntotal\n\n\n\n\n";
                cout<<total;

        }





        void main()
        {
         int ch;
         product s1[3];

         a:

         cout<<"\n      1.      Add product one by one";
         cout<<"\n     2.      Add products in bulk";
         cout<<"\n     3.      Make Bill";
         cout<<"\n     4.      Display Bill";
         cout<<"\n     0.      Exit";
         cout<<"\n     Enter your choise(1,2,3,9)"     ;
         cin>>ch;


         switch(ch)
         {

         **case 1:          cout<<"\n press n to exit\n\n";
                                char con='y';
                                while(con=='y')
                                {
                                s1[i].addprod();
                                i++;
                                cout<<"do u wanna continue(y/n)";
                                cin>>con;
                                        if(con=='n')
                                        {
                                        goto a;
                             }
                                }
                                break;
            }**

これは私の学校のプロジェクトなので、できるだけ早く助けが必要です。たとえば、人が文字(a、b、c)を入力した場合、間違った入力を認識してユーザーに正しいフォームを入力するように求めるにはどうすればよいですか。

4

1 に答える 1

-2

if:を使用して入力の成功をテストできます。

if (cin >> ch)
    ...

ユーザーにもう一度入力を入力するように求めるには、ループが必要です。また、cin.clear()を呼び出して、ストリームの状態を復元する必要があります。

cout << "\n     Enter your choice(1,2,3,9)":

cin >> ch;
while (!cin)
{
    cout << "Invalid input. Please try again." << endl;

    cin.clear();
    cin >> ch;
}

これが、 mainの最初の入力項目を処理する方法です。あなたは他の人のために同じようなことをすることができます。

于 2013-01-05T05:55:26.420 に答える