Ĺadny brzuch
Mam jeszcze programik co wprowadza bazę danych o samochodach i nie wiem czemu nie chce posortować numery rejestracyjne pojazdów, gdzi ejest błąd proszę również o tą pomoc :) :
#include<stdio.h> #include<conio.h> #include<iostream.h> class samochody { public: long id_samochodu; char marka[34]; char model[34]; char numer[3]; int numer_rej; void wpisz_dane_osobowe() { cout<<" \n Podaj marke samochodu: "; cin>>marka; cout<<" Podaj model samochodu: "; cin>>model; cout<<"\n\nNUMER REJESTRACYJNY:\n"; cout<<" Podaj trzy litery numeru rejestracyjnego: "; cin>>numer; cout<<" Podaj liczby numeru rejestracyjnego: "; cin>>numer_rej; } void wyswietl_dane() { cout<<"\n\n Id samochodu: "<<id_samochodu; cout<<"\n Marka: "<<marka; cout<<"\n Model: "<<model; cout<<"\n Numer rejstracyjny: "<<numer; cout<<" "<<numer_rej; } }; samochody dane[100]; int liczby[100],tmp, prawda, ile, id_temp, i; char decyzja; using namespace std; void wyswietl (int [], int); void sortBab(int [], int); int main() { do { system("CLS"); cout<<"\n \n 1. Dodaj samochody (max.100)"; cout<<"\n 2.Wyswietl samochody"; cout<<"\n 3.Sortuj rosnaco"; cout<<"\n 4.Wyswietl"; cout<<"\n 5.Koniec programu"; cin>>decyzja; switch(decyzja) { case'1': cout<<"\n Dla ilu uczniow bedziesz wprowadzal dane? (max.100)"; cin>>ile; for(i=0;i<ile;i++) { dane[i].id_samochodu=i+1; cout<<"\n Wpisz dane "<<i+1<<" samochodu: "; dane[i].wpisz_dane_osobowe(); } cout<<"\n nacisnij dowolny klawisz...."; break; case'2': cout<<"\n Wpisz id ucznia ktorego chcesz wyswietlic?"; cin>>id_temp; for(i=0;i<ile;i++) { if (dane[i].id_samochodu==id_temp) dane[i].wyswietl_dane(); } getch(); break; case'3': for(i=0;i<ile;i++) { dane[i].numer_rej=liczby[i]; sortBab(numer_rej,ile); } break; case'4': wyswietl(liczby,ile); break; case'5': cout<<"\n Dziekuje za wspolprace"; break; default:cout<<"nie wybralem zadnej opcji"; break; } cout<<"\n\n\n nacisnij dowolny klawisz..."; getch(); } while(decyzja!='5'); } void wyswietl (int tablica [], int wielkosc) { for(int i=0; i<wielkosc; i++) cout<<"Element tablicy:"<<(i+1)<<" Wartosc elementu:" <<tablica[i]<<endl; } void sortBab (int tablica [], int wielkosc ) { int temp; for (int i=0; i<wielkosc-1; i++) for (int j=0; j<wielkosc-1; j++) if(tablica[j]>tablica[j+1]) { temp=tablica[j]; tablica[j]=tablica[j+1]; tablica[j+1]=temp; } }
Z góry będę wdzięczny za okazaną pomoc.
hmm, pierwsze co mi się rzuciło to to, że taki kod:
using namespace std;
wrzuca się najlepiej na początku, a musowo przed wszystkimi cout'ami i cin'ami...
po co Ci <stdio.h> ? // już wiem :P
Użytkownik bartolomeo4 edytował ten post 18 czerwiec 2006, 10:36
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
#include<stdio.h> #include<conio.h> #include<iostream.h> class samochody { public: long id_samochodu; char marka[34]; char model[34]; char numer[3]; int numer_rej; void wpisz_dane_osobowe() { cout<<" \n Podaj marke samochodu: "; cin>>marka; cout<<" Podaj model samochodu: "; cin>>model; cout<<"\n\nNUMER REJESTRACYJNY:\n"; cout<<" Podaj trzy litery numeru rejestracyjnego: "; cin>>numer; cout<<" Podaj liczby numeru rejestracyjnego: "; cin>>numer_rej; } void wyswietl_dane() { cout<<"\n\n Id samochodu: "<<id_samochodu; cout<<"\n Marka: "<<marka; cout<<"\n Model: "<<model; cout<<"\n Numer rejstracyjny: "<<numer; cout<<" "<<numer_rej; } }; samochody dane[100]; int liczby[100],tmp, prawda, ile, id_temp, i; char decyzja; using namespace std; void wyswietl (int [], int); void sortBab(int [], int); int main() { do { system("CLS"); cout<<"\n \n 1. Dodaj samochody (max.100)"; cout<<"\n 2.Wyswietl samochody"; cout<<"\n 3.Sortuj rosnaco"; cout<<"\n 4.Wyswietl"; cout<<"\n 5.Koniec programu"; cin>>decyzja; switch(decyzja) { case'1': cout<<"\n Dla ilu uczniow bedziesz wprowadzal dane? (max.100)"; cin>>ile; for(i=0;i<ile;i++) { dane[i].id_samochodu=i+1; cout<<"\n Wpisz dane "<<i+1<<" samochodu: "; dane[i].wpisz_dane_osobowe(); } cout<<"\n nacisnij dowolny klawisz...."; break; case'2': cout<<"\n Wpisz id ucznia ktorego chcesz wyswietlic?"; cin>>id_temp; for(i=0;i<ile;i++) { if (dane[i].id_samochodu==id_temp) dane[i].wyswietl_dane(); } getch(); break; case'3': for(i=0;i<ile;i++) { dane[i].numer_rej=liczby[i]; sortBab(numer_rej,ile); } break; case'4': wyswietl(liczby,ile); break; case'5': cout<<"\n Dziekuje za wspolprace"; break; default:cout<<"nie wybralem zadnej opcji"; break; } cout<<"\n\n\n nacisnij dowolny klawisz..."; getch(); } while(decyzja!='5'); } void wyswietl (int tablica [], int wielkosc) { for(int i=0; i<wielkosc; i++) cout<<"Element tablicy:"<<(i+1)<<" Wartosc elementu:" <<tablica[i]<<endl; } void sortBab (int tablica [], int wielkosc ) { int temp; for (int i=0; i<wielkosc-1; i++) for (int j=0; j<wielkosc-1; j++) if(tablica[j]>tablica[j+1]) { temp=tablica[j]; tablica[j]=tablica[j+1]; tablica[j+1]=temp; } }
Z góry będę wdzięczny za okazaną pomoc.
hmm, pierwsze co mi się rzuciło to to, że taki kod:
using namespace std;
wrzuca się najlepiej na początku, a musowo przed wszystkimi cout'ami i cin'ami...
po co Ci <stdio.h> ? // już wiem :P
Użytkownik bartolomeo4 edytował ten post 18 czerwiec 2006, 10:36