Kezdőoldal » Számítástechnika » Programozás » Miért nem működik visual...

Miért nem működik visual studio 2013-ban, illetve, hogy oldjam meg hogy működjön?

Figyelt kérdés

ott jelez hibát ahol strcmp-t használok a p-t aláhúzza


if (strcmp(p[i].hossz, "HosszMeghataroz") == 0)

if (strcmp(p[i].mgh, "MghMeghataroz") == 0)


#include <iostream>

#include <fstream>

#include <iomanip>

using namespace std;


struct szo

{

char s[21]; //az állományból beolvasott szó

int hossz; //a szó karaktereinek száma

int mgh; //a szóban lévő magánhangzók száma

};


class szavak

{

private:

szo *p; //mutató, a szavak adatait tartalmazó struktúratömb kezdőcímének tárolására

int n; //szavak száma

public:

szavak(char fnev[]);

~szavak();

int Getn();

int HosszMeghataroz();

int MghMeghataroz();

int Leghosszabb();

int Tisztit();

int Megszamol();

void Lista();

void Kiir();


};


szavak::szavak(char fnev[])

{

ifstream be(fnev);

if (!be)

{

cerr << "hiba";

exit(-1);

}

n = 0;

char sor[80];

while (!be.eof())

{

be.getline(sor, 80);

if (!be.eof())n++;

}

be.clear();

be.seekg(0, ios::beg);


p = new szo[n];

if (p == 0)

{

cerr << "hiba2";

exit(-2);

}

for (int i = 0; i < n; i++)

{

be >> p[i].s;

be >> p[i].hossz;

be >> p[i].mgh;

}

be.close();

}

szavak::~szavak()

{

if (p != 0)

delete[]p;

}

int szavak::Getn()

{

return n;

}

int szavak::HosszMeghataroz()

{

int hm = 0;

for (int i = 0; i < n; i++)

{

if (strcmp(p[i].hossz, "HosszMeghataroz") == 0)

{

hm++;

}

}

return hm;


}

int szavak::MghMeghataroz()

{

int mm = 0;

for (int i = 0; i < n; i++)

{

if (strcmp(p[i].mgh, "MghMeghataroz") == 0)

{

mm++;

}

}

return mm;

}

int szavak::Leghosszabb()

{

int l = p[0].hossz;

for (int i = 0; i < n; i++)

{

if (p[i].hossz > l)

{

l = p[i].hossz;

}

}

return 1;

}


void szavak::Kiir()

{

cout << setw(15) << " szó " << setw(20) << " hossz " << setw(10) << "mgh" << endl;

for (int i = 0; i < n; i++)

{

cout << i + 1 << "." << setw(12) << p[i].s << setw(20) << p[i].hossz << setw(10) << p[i].mgh << endl;

}

}

int main()

{

szavak a("davy.txt");

cout << "\nAz adatok:\n";

a.Kiir();

a.Lista();

cout << "\n hossz: " << a.HosszMeghataroz() << endl;

cout << "\n Mgh: " << a.MghMeghataroz() << endl;

a.Kiir();


system("pause");

return 0;


}


2015. ápr. 26. 12:59
 1/5 anonim ***** válasza:
Hibaüzenet azért nem ártana.
2015. ápr. 26. 13:10
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

Itt van egy kép a hibáról:


[link]

2015. ápr. 26. 13:18
 3/5 anonim ***** válasza:
A 78. és 91. sorban az strcmp vár két const char*-ot, a te első paramétered viszont egy int. Azzal meg nem tud mit kezdeni az strcmp.
2015. ápr. 26. 13:44
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
Ez amúgy felesleges a konstruktor végére: be.close();
2015. ápr. 26. 13:48
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

strcmp(p[i].hossz, "HosszMeghataroz"


itt gondolom nem a hossza kéne neked, hanem maga a string

2015. ápr. 27. 10:46
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!