C++ usporedivanje chara

Pozdrav. U školi smo krenuli C++, sviđa mi se jako, no imam jedan problem. Moram napraviti program di osoba unosi ocjenu (odlican, vrlodobar, dobar, dovoljan, nedovoljan), i on ispise brojku (5, 4, 3, 2, 1).

Ovo je kod, koji ne radi

#include "stdio.h"
#include "conio.h"

main()
{
  char ocjena [15];
  
  printf("Unesi ocjenu: ");
  scanf("%s", ocjena);
  
  if (ocjena == "odlican")
  {
    printf("5");
  }
  else
  {
    printf("nije 5"); // uvijek ispise ovo ...
  }
  
  getch();
}

Kolko se ja kuzim u ovo (a to nije puno), treba ti biblioteka za raditi sa stringovima?

Znaci:

#include "stdio.h"
#include "conio.h"
#include <string>

main()
{
  string ocjena;
  
  printf("Unesi ocjenu: ");
  scanf("%s", ocjena);
  
  if (ocjena == "odlican")
  {
    printf("5");
  }
  else
  {
    printf("nije 5"); // uvijek ispise ovo ...
  }
  
  getch();
}

“string undeclared” (na string ocjena)

isto tako i sa #include “string.h”

Ovo bi trebalo biti:

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

int main ()
{
  string mystring;
  cin >> mystring;
  if (mystring === "odlican" || 1)
  cout << mystring << endl;
  return 0;
}

Probaj pa vidi.

E jest tako sam i ja napravio, ali profesor ne želi cin i cout, a ja se patim kako bez tog napraviti i nejde bas…

Let me google that for you

Ispravak: zamijenio sam tvoj i Gosaricev post, pa sam mislio da koristiš “std” biblioteku.

U tvom slučaju ti je rezultat usporedbe laž zato što uspoređuješ pokazivače, memorijske adrese, dakle adresa memorijskog spremnika nazvanog “ocjena” i adresa memorijskog spremnika u kojem je zapisan literalni niz “odlican” su različite, jer su to dva različita memorijska spremnika.

Let me google that for you

Malo prouči, pa nađi i ovo:

http://www.drpaulcarter.com/cs/common-c-errors.php#3.

kani se razmisljanja php nacina programiranja…

za c, c++ moras imati drugacije razmisljanje rada sa stringovima, nije toliko bas lako(jednostavno)…
ne usporedjujes stringove sa ==, za rad sa stringovima moras koristiti library za rad s njima…

trebas string library:
#include
string::compare - C++ Reference - sve ti je tu objasnjeno + prvi link na googleu…

"kani se razmisljanja php nacina programiranja… " - toliko dugo na phpu, biti će problem ovo :slight_smile:

hvala obojima :wink:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja