Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Nieoczekiwana praca programu

Ostatnio zmodyfikowano 2012-03-09 19:23
Autor Wiadomość
miaa
Temat założony przez niniejszego użytkownika
Nieoczekiwana praca programu
» 2012-03-09 19:07:27
Witam,

Jestem początkującym 'programistą' i mam błąd tego typu.
Program:



#include<iostream>
#include<conio.h>

using namespace std;


//strukturka
struct strukt
{
  int id ;
      char nazwa;
      double cena;
      int ilosc ;
      double wartosc()
      {
    int wartosc ;
    wartosc = ilosc * cena ;
        return wartosc ;
      }
} ;

strukt towar[100];

int main()
{
    int wyb, iloscp ;
    //menu
    cout << "[1] Wprowadzenie danych dotyczacych produktow" << endl;
    cout << "[2] Drukowanie paragonu" << endl;
    cout << "[3] Koniec" << endl;
   
    cin >> wyb ;
   
    //
    switch (wyb)
    {
case 1:
cout << "Podaj ilosc wprowadzanych produktow: " ;
cin >> iloscp ;

for(int i=0; i<iloscp; i++)
{
cout << "Podaj id: " << endl;  
cin >> towar[i].id ;    
cout << "Podaj nazwe: " << endl;  
cin >> towar[i].nazwa ;  
cout << "Podaj cene: " << endl;  
cin >> towar[i].cena ;  
cout << "Podaj ilosc: " << endl;  
cin >> towar[i].ilosc ; 
}

break;

case 2:
cout << "iknfoqbf" << endl;
break ;

case 3:
cout << "iiiii " << endl ;
break ;

}

   
    getch();
    return 0;

}

Problem jest z case 1, gdzie program po zapytaniu się o nazwę, od razu wywala następne pytania.

oto  wynik:


[1] Wprowadzenie danych dotyczacych produktow
[2] Drukowanie paragonu
[3] Koniec
1
Podaj ilosc wprowadzanych produktow: 2
Podaj id:
1
Podaj nazwe:
nazwa1
Podaj cene:
Podaj ilosc:
Podaj id:
Podaj nazwe:
Podaj cene:
Podaj ilosc:


Gdzie może znajdować się błąd?
P-52307
pekfos
» 2012-03-09 19:08:52
C/C++
cin >> str;
cin.clear();
cin.sync();
cin.ignore();
P-52308
DejaVu
» 2012-03-09 19:09:36
Zastanów się nad tą linijką:
C/C++
char nazwa;
P-52309
miaa
Temat założony przez niniejszego użytkownika
» 2012-03-09 19:23:14
Zmieniłem na to:


char nazwa [10] ;

teraz błedu juz nie widze.

Jeśli nie o to chodziło, to proszę poprawcie mnie.

P-52311
« 1 »
  Strona 1 z 1