Prosze o pomoc, motam się przy typie char [c++]

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

class Osobowe
{
      private:
              int nr;
              char nazwisko[20];
              char klub[40];
              float pensja;
      public:
             void wstawnr(int);
             void wstawklub(char);
             void wstawimie(char);
             void wstawpensje(float);
             int pokaznr();
             char pokazklub();
             char pokazimie();
             float pokazpensje();
};
void Osobowe::wstawnr(int a)
{
  nr=a;  
}
void Osobowe::wstawklub(char b)
 klub[40]=b;
}
void Osobowe::wstawimie(char c)
{
     nazwisko[20]=c;
}
int Osobowe::pokaznr()
{
    return nr;
}
char Osobowe::pokazklub()
{
     return klub[40];
}
char Osobowe::pokazimie()
{
     return nazwisko[20];
}
float Osobowe::pokazpensja()
{
      return pensja;
}

int main(void)
{
    Osobowe obiekt;
    int numer; //Pozwoli na wprowadzenie numeru klubu
    float kwota; //Pozwoli na wprowadzenie pensji
    char x; //Pozwoli na wprowadzenie nazwy klubu
    cout<<"Wprowadz swoje Imie i Nazwsiko"<endl;
    cin>>x;
    obiekt.nazwisko(x);
    cout<<"Wprowadz nazwe Klubu"<endl;
    cin>>x;
    obiekt.klub(x);
    cout<<"Wprowadz swoj numer"<<endl;
    cin>>numer;
    obiekt.nr(numer);
    int nr=obiekt.pokaznr();
    float pensja=obiekt.pokazpensje();
    char nazwisko[20]=obiekt.pokazimie();
    char klub[40]=obiekt.pokazklub();
    cout<<"Nazywasz sie"<<obiekt.nazwisko()<<endl;
    getch();
    return 0;
    
}
 

Mam 3 błędy, pewnie błache. Proszę o zweryfikowanie.

0

Mamy zgadywać?
Po pierwsze [code]tab[4] = b[/code]
b winno być łańcuchem a nie znakiem, aby skopiować jeden łańcuch do drugiego użyj funkcji strcpy.

0

Napisz jaki to błędy i w których liniach, bo jak mamy wiedzieć, co nie gra?


Opolski Portal Programistyczny
http://programowanie.opole.pl

0

string powinno być?

Kompilator: Default compiler
Wykonywanie  g++.exe...
g++.exe "C:\Users\Damian\Desktop\Osobowe.cpp" -o "C:\Users\Damian\Desktop\Osobowe.exe"    -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" 
In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
                 from C:\Users\Damian\Desktop\Osobowe.cpp:3:
C:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
C:\Users\Damian\Desktop\Osobowe.cpp:27: error: expected init-declarator before "klub"
C:\Users\Damian\Desktop\Osobowe.cpp:27: error: expected `,' or `;' before "klub"
C:\Users\Damian\Desktop\Osobowe.cpp:28: error: expected declaration before '}' token

Wykonanie zakończone
 
0

Błędów to Ty masz tam więcej... :-) Ale co do tych co masz wypisane tochodzi o to, że nie brakuje Ci klamry { tam gdzie jest klub[40]=b;.

Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Ale jak to poprawisz to i tak wyskoczą Ci inne błędy, bo np. w deklaracji masz:

float pokazpensje();

a w definicji:

float pokazpensja();

Poza tym jak masz char nazwisko[20]; to pola masz od 0 do 19, a nie 20.

Etc.. Etc...

Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Dobrze, to zacznijmy od początku, tam gdzie mam chary, pozmieniać na stringi?

0

Najlepiej by było...

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

class Osobowe
{
      private:
              int nr;
              string nazwisko[20];
              string klub[40];
              float pensja;
      public:
             void wstawnr(int);
             void wstawklub(string);
             void wstawimie(string);
             void wstawpensje(float);
             int pokaznr();
             string pokazklub();
             string pokazimie();
             float pokazpensje();
};
void Osobowe::wstawnr(int a)
{
  nr=a;  
}
void Osobowe::wstawklub(string b)
{
 klub[40]=b;
}
void Osobowe::wstawimie(string c)
{
     nazwisko[20]=c;
}
int Osobowe::pokaznr()
{
    return nr;
}
string Osobowe::pokazklub()
{
     return klub[40];
}
string Osobowe::pokazimie()
{
     return nazwisko[20];
}
float Osobowe::pokazpensje()
{
      return pensja;
}

int main(void)
{
    Osobowe obiekt;
    int numer; //Pozwoli na wprowadzenie numeru klubu
    float kwota; //Pozwoli na wprowadzenie pensji
    string x; //Pozwoli na wprowadzenie nazwy klubu
    cout<<"Wprowadz swoje Imie i Nazwsiko"<endl;
    cin>>x;
    obiekt.nazwisko(x);
    cout<<"Wprowadz nazwe Klubu"<endl;
    cin>>x;
    obiekt.klub(x);
    cout<<"Wprowadz swoj numer"<<endl;
    cin>>numer;
    obiekt.nr(numer);
    int nr=obiekt.pokaznr();
    float pensja=obiekt.pokazpensje();
    string nazwisko[20]=obiekt.pokazimie();
    string klub[40]=obiekt.pokazklub();
    cout<<"Nazywasz sie"<<obiekt.nazwisko()<<endl;
    getch();
    return 0;
    
} 

Teraz mam inne błędy, proszę o wskazówki co dalej.

0

Masz tu poprawione. Porownaj sobie linia po linii ze swoim:

#include <iostream>
#include <string>
using namespace std;

class Osobowe
{
      private:
              int nr;
              string nazwisko;
              string klub;
              float pensja;
      public:
             void wstawnr(int);
             void wstawklub(string);
             void wstawimie(string);
             void wstawpensje(float);
             int pokaznr();
             string pokazklub();
             string pokazimie();
             float pokazpensje();
};
void Osobowe::wstawnr(int a)
{
  nr=a;
}
void Osobowe::wstawklub(string b)
 {
     klub=b;
}
void Osobowe::wstawimie(string c)
{
     nazwisko=c;
}
int Osobowe::pokaznr()
{
    return nr;
}
string Osobowe::pokazklub()
{
     return klub;
}
string Osobowe::pokazimie()
{
     return nazwisko;
}
float Osobowe::pokazpensje()
{
      return pensja;
}

int main(void)
{
    Osobowe obiekt;
    int numer;
    float kwota;
    string x;

    cout << "Wprowadz swoje Imie i Nazwsiko" << endl;
    cin >> x;
    obiekt.wstawimie(x);

    cout << "Wprowadz nazwe Klubu" << endl;
    cin>>x;
    obiekt.wstawklub(x);

    cout<<"Wprowadz swoj numer"<<endl;
    cin>>numer;
    obiekt.wstawnr(numer);

    int nr= obiekt.pokaznr();
    float pensja = obiekt.pokazpensje();
    string nazwisko =obiekt.pokazimie();
    string klub=obiekt.pokazklub();
    cout << "Nazywasz sie"<<obiekt.pokazimie()<<endl;
    return 0;
}

Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Dziękuję Ci serdecznie!! Jakbym mógł postawiłbym Ci piwko :)

2

Jak chcesz coś zrobić dla mnie, to nie oddaj bezmyślnie tego wykładowcy, tylko zobacz, co miałeś nie tak i spróbuj zrozumieć dlaczego...


Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Właśnie to jest moja nauka, na podstawie poprawnych kodów uczę się i piszę swoje, nie będę koderem, ale przedmiot jakoś zaliczyć trzeba. Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1