Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » cVas 23:53
 » Ramol 23:42
 » metacom 23:33
 » @GUTEK@ 23:31
 » abes99 23:28
 » Visar 23:27
 » GLI 23:26
 » Soulburne 23:25
 » Brauni 23:20
 » Kool@ 23:12
 » Kenny 23:11
 » rainy 23:07
 » slanter 23:04
 » wrrr 22:59
 » Whisky 22:50
 » Arlathan 22:50
 » Fox 22:47
 » XepeR 22:33
 » ReMoS 22:29
 » Wedelek 22:28

 Dzisiaj przeczytano
 72606 postów,
 wczoraj 82584

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

[C++] Oślepłem, albo już nie wiem.... , carlosA 26/11/09 19:53
Fragment kodu:
struct Ksiazka {
char autor[50];
char tytul[50];
int LiczbaStron;
int wydanie;
double cena;

void wyswietl();
};
//spis procedur umożliwiających wykonanie działań na bazie danych
int zapis();
int odczyt();
int z_plik();
int szukaj();
int zasadniczy();

//void Ksiazka::wyswietl() {
// cout << "Autor: " << autor << endl;
// cout << "Tytul: " << tytul << endl;
// cout << "Liczba stron: " << LiczbaStron << endl;
// cout << "Wydanie: " << wydanie << endl;
// cout << "Cena: " << cena << endl;
// }

void f_autor( char find_autor, Ksiazka* where, int ile_rekordow ){
cls();
for( int i = 0; i < ile_rekordow; i++ ) //36
if( find_autor == where[i].autor ) //37
cout << where[i].autor << endl; //38
cout << where[i].tytul << endl; //39
cout << where[i].LiczbaStron << endl;
cout << where[i].wydanie << endl;
cout << where[i].cena << endl;
cout << "\n" << endl;
}

Błędy:
37 ISO C++ forbids comparison between pointer and integer
39 name lookup of `i' changed for new ISO `for' scoping
36 using obsolete binding at `i'

Pewnie coś czeskiego, bo patrzyłem na gotowca i coś źle przerobiłem, ale siedzę gapię się, jak małpa w gnat.

Korzystałem na podstawie takiego przykładu:
struct osoba {
string imie;
string nazwisko;
int id;
};

void find_name( string name, osoba* where, int ile_osob ){

for( int i = 0; i < ile_osob; i++ )
if( name == where[i].imie )
cout << where[i].id << ". " << where[i].imie << ' ' << where[i].nazwisko << '\n';
}

void find_surname( string surname, osoba* where, int ile_osob ) {
for( int i = 0; i < ile_osob; i++ )
if( surname == where[i].nazwisko )
cout << where[i].id << ". " << where[i].imie << ' ' << where[i].nazwisko << '\n';
}

i tutaj wszystko jest ok.

Jakieś sugestie?

#whatever

  1. więc , gorii 26/11/09 20:01
    find_autor powinno być char * w nagłówku metody; brakuje { w linii 37

    1. i jeszcze , gorii 26/11/09 20:02
      brakuje } na końcu metody f_autor;
      skoro używasz char * a nie string jak w przykładzie więc musisz porównywać za pomocą strcmp() a nie ==

  2. Dawno nic nie pisałem w C++ ale spróbuję , Conroy 26/11/09 20:08
    Od końca:
    Błąd w linii 39 jest spowodowany tym, że w tej linii nie istnieje już zmienna i.
    Zobacz, tworzysz ją w pętli for, w której to pętli znajduje się tylko instrukcja if, a do instrukcji if jest wpisany cout z linii 38. Po czym jest średnik i cały for zostaje tutaj zakończony.
    Dodaj klamerki { } na końcu lini z for i po ostatnim coutcie.

    A co do innych to w sumie nie wiem tak na sucho. PHP jednak strasznie "rozleniwia".

    http://flickr.com/photos/myhacien
    da

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL