Gå til innhold

Kom med dine ideer og kunskap, itillegg hjelpe andre.


Anbefalte innlegg

Hei,

Er ny i C++, Bruker Dev-C++...

 

har laget:

#include <cstdlib>
#include <iostream>
#include <windows.h>


using namespace std;


char cNumber;

int main()
{


cout << "Skriv inn passord [xxxxxx]:" << endl;
cin >> cNumber;
cout << endl;  

if (cNumber == 'bad')
{
		  system("CLS");
		  cin.clear();
		  cout << "Checking...";
		  Sleep(3000);
		  system("CLS");
		  cin.clear();
		  cout << endl;
		  cout << "	  -	  Passord: " << cNumber;
		  cout << ", suceeded!	  - " << endl;
		  cout << endl;
		  cout << endl;
		  system("PAUSE");
		  return EXIT_SUCCESS;
		  }
else 
{
	 system("CLS");
	 cin.clear();
	 cout << "Checking...";
	 Sleep(3000);
	 system("CLS");
	 cin.clear();
	 cout << endl;
	 cout << "	 -	 WRONG	 -	 " << endl;
	 cout << endl;
	 cout << endl;
	 system("PAUSE");
	 return EXIT_SUCCESS; 
	 }
}

 

men "bad" funker ikkje som et "passord",

hvordan skal eg dedikere "cNumber" slik at eg kan skrive et lengre ord..

 

takk for hjelp :p

Endret av FR!K
Lenke til kommentar
Videoannonse
Annonse
Hei,

Er ny i C++, Bruker Dev-C++...

 

har laget:

snip

 

men "bad" funker ikkje som et "passord",

hvordan skal eg dedikere "cNumber" slik at eg kan skrive et lengre ord..

 

takk for hjelp :p

 

cNumber er en bokstav (char) så den kan ikke romme flere bokstaver, så derfor bruker man i c++ std::string (trenger <string>). Man kan eventuelt bruke array av char, men ikke bruk det med mindre du vet hvordan det fungerer. Når det gjelder den ifen så må du bytte ut ' med " så burde alt fungere fin fint.

 

lykke til videre.

Lenke til kommentar

Ja, cNumber er bare et navn, men det betyr også at du må endre det alle steder det oppgis i koden.

 

Nybegynner selv, så det var interesant å lese koden din. Men g++ klikker for meg om jeg bruker

  if (cNumber == 'bad')

så jeg må bruke

  if (cNumber == "bad")

Lenke til kommentar
Ja, cNumber er bare et navn, men det betyr også at du må endre det alle steder det oppgis i koden.

 

Nybegynner selv, så det var interesant å lese koden din. Men g++ klikker for meg om jeg bruker

  if (cNumber == 'bad')

så jeg må bruke

  if (cNumber == "bad")

 

 

Har klart det :D

 

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <string>
#include <string.h>

using namespace std;

string str;

int main()
{



cout << "Skriv inn passord:" << endl;
cin >> str;
cout << endl;  

if (str == "pannekaker")
{
		  system("CLS");
		  cin.clear();
		  cout << "Checking...";
		  Sleep(3000);
		  system("CLS");
		  cin.clear();
		  cout << endl;
		  cout << "	  -	  Passord: " << str;
		  cout << ", suceeded!	  - " << endl;
		  cout << endl;
		  cout << endl;
		  system("PAUSE");
		  return EXIT_SUCCESS;
		  }
else 
{
	 system("CLS");
	 cin.clear();
	 cout << "Checking...";
	 Sleep(3000);
	 system("CLS");
	 cin.clear();
	 cout << endl;
	 cout << "	 -	 WRONG	 -	 " << endl;
	 cout << endl;
	 cout << endl;
	 system("PAUSE");
	 return EXIT_SUCCESS; 
	 }
}

 

;)

 

noen som har noen spennenede nye ideer? :D

trenger å lære litt :D

 

FR!K

Lenke til kommentar
Hva med et program som du kan skriver inn når du er født for så sier hvor gammel du er.

 

her... men eg vet ikkej hvordan eg skal få den skikkelig til å funke, pga er du eldre enn slik og slik skriver den "-1 moths" Feks.

 

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <time.h>

using namespace std;

int main(int argc, char *argv[])
{
system("TITLE HOW OLD?");
time_t t = time(0);
tm time = *localtime(&t);

double dYear;
double dDay;
double dMonth;

cout << endl;
cout << "Oki, i am going to tell how old you are. Write in your day of your birth:"<<endl <<endl;
cout << "Day (dd): "; 
cin >> dDay;
cout << endl;
cout << "Month (mm): ";
cin >> dMonth;
cout << endl;
cout << "Year (yyyy): ";
cin >> dYear;
cout << endl << endl;

Sleep(1000);
cout << "You are: " << time.tm_mday - dDay << " days, ";
cout << time.tm_mon +1 - dMonth << " months, " <<time.tm_year + 1900 - dYear << " years old";
cout << endl;

system("PAUSE");
return EXIT_SUCCESS;
}

 

kom med forslag

 

FR!K

Lenke til kommentar

Du kan legge inn en feilsjekk på den siste koden du la ut (i.e: Sette maks og minimumsgrense på innverdier så det ikke blir feil i utregningen).

 

Siden du nå er på stadiet å ta imot input fra en bruker så kan du jo lage mini-spill som f.eks: Hangman (gjette et ord, bokstav for bokstav), gjett tallet (programmet lager et random tall og bruker skal prøve å gjette det, og får tilbakemelding: for høyt; for lavt).

 

Hvis du vil prøve deg på noe litt mer avansert kan du jo titte på klasser?

 

 

Lykke til videre med programmeringen. :)

Lenke til kommentar
kom med forslag

 

Du kan jo legge inn et par skjekker f. eks. hvis dager er negativ ta en mnd. og hvis mnd. er negativ ta et år.

 

eks. (etter din utregning)

if (day < 0)

{

mnd--;

day += 30; //30 eller 31

}

 

Hvorfor bruker du double?

 

fordi double er det eneste eg vet eg kan bruke til tall xD eg vet ingen andre xD kunne tatt int vel... men liksom double funker vel? eller?

Lenke til kommentar

Hvorfor bruker du double?

 

fordi double er det eneste eg vet eg kan bruke til tall xD eg vet ingen andre xD kunne tatt int vel... men liksom double funker vel? eller?

 

Ja double funker fint det, men int hadde vært et bedre valg ettersom du bare taper (cpu tid++) på å bruke bruke double. Det blir litt pirk fra min side, men du burde ikke bruke double til alt.

Lenke til kommentar
@Giddion:

 

Kunne du komt med et oppsett på et program der man bruker klasser? :D vil lære :D

 

supert at du vil lære c++.

Hva med å lage en klasse som heter katt og en som heter hund

Hver av klassene skal ha en variabel som definerer hvor godt humør de er i, variablen skal være en enum.

Klassene skal ha en funksjon som heter lag lyd (voff mjau) når etter dyrelyden skal de skrives ut åssen humør dyret er i.

dette skal gjøres ved bruk av switch.

En funksjon som brukes til å sette humøret må også lages ettersom humør variabel er private.

Lenke til kommentar
@Giddion:

 

Kunne du komt med et oppsett på et program der man bruker klasser? :D vil lære :D

 

supert at du vil lære c++.

Hva med å lage en klasse som heter katt og en som heter hund

Hver av klassene skal ha en variabel som definerer hvor godt humør de er i, variablen skal være en enum.

Klassene skal ha en funksjon som heter lag lyd (voff mjau) når etter dyrelyden skal de skrives ut åssen humør dyret er i.

dette skal gjøres ved bruk av switch.

En funksjon som brukes til å sette humøret må også lages ettersom humør variabel er private.

 

jaha... kunne du laget en slik at eg kan få se, fordi eg skjønner ikkje helt, pluss at eg har ikkje "arbeidet" med klasser eller switch...

 

takk :D

Lenke til kommentar

har laget ferdig, eller så mye eg vet, i forhold til den alders saken :D

 

#include <cstdlib>
#include <iostream>
#include <time.h>

using namespace std;

int dDay;
int dMonth;
int dYear;
int ar;
int dag;
int mnd;

int main(int argc, char *argv[])
{
system("TITLE HOW OLD?");
time_t t = time(0);
tm time = *localtime(&t);

cout << "Oki, i am going to tell how old you are. Write in your day of your birth:"<<endl <<endl;
cout << "Day (dd)	: "; 
cin >> dDay;
cout << "Month (mm)  : ";
cin >> dMonth;
cout << "Year (yyyy) : ";
cin >> dYear;
cout << endl;

ar = (time.tm_year + 1900 - dYear);
dag = (time.tm_mday - dDay);
mnd = (time.tm_mon +1 - dMonth);

if (dag < 0)
{
		mnd--;
		dag += 30; //30 eller 31
		}
if (mnd < 0)
{
		ar--;
		mnd += 12; 
		}

cout << "You are: " << dag << " days, ";
cout << mnd << " months, " << ar << " years old";
cout << endl;

system("PAUSE");
return EXIT_SUCCESS;
}

 

bare til å si noe dere ville gjort anderleder! ;D

Endret av FR!K
Lenke til kommentar

Lær deg et GUI-bibliotek som f.eks. Qt eller GTKmm. Les noen tutorials på de respektive sidene, så bør du være i gang om ikke så lenge. Menneh, lønner seg å ha styring på klasser og slikt før du hiver deg ut i GUI programmering. Og når det er sagt, GUI er ikke noe å stresse med. Er ikke spesielt kult eller gøy å drive med (etter at man har skrevet sitt første GUI program og lekt litt med det ihvertfall). Bruk det når du trenger det.

Lenke til kommentar

Her er koden, jeg pakket inn lit avanserte greier også (burde være merket med adv), men det kan du bare se bort fra i starten

 

 

#include <iostream>
#include <windows.h>

using namespace std;

enum eMood// definerer de ulike humørene til dyrene
{
Angry,		// første enum har verdien 0
Playfull,	// andre har verdien 1 ... osv
Happy		// 2
};

class CAnimal
{
protected://er tilgjengelig for "barna" til klassen
eMood Mood;

public://tilgjengelig for alle !!

virtual ~CAnimal(void) {};////adv: hvis man bruker virituel dekonstruktor kjøres dekonstruktorene til de arvene klassen hvis man sletter en CAnimal instanse
virtual void MakeSound() = 0;//litt adv:funksjonen må defineres i "barna"

void SetMood(eMood mood)//funksjonen kan brukes av alle barna
{
	this->Mood = mood;//this er alltid en peker til klassen du "er" i 
}
};

class CCat :
public CAnimal//arver fra dyr
{
public:
CCat(void)//kjøres når klassen lages (før den blir laget helt ferdig)
{
	Mood = Angry;//har tilgang til Mood fra CAnimal
	cout << "En katt kom til din PC" << endl;
}

~CCat(void)// kjøres før klassen slettes helt
{
	cout << "En katt forlater din PC" << endl;
}

void MakeSound()
{
	cout << "Mjau ";

	switch (Mood)//switch er kjekk, den bruker variablen Mood og kikker gjennom
	{
		case Angry://har Mood verdien til Angry?
			cout << "(Angry)" << endl;
			break;//hopper ned til slutten på switch
		case Playfull://har Mood verdien til Playfull?
			cout << "(Playfull)" << endl;
			break;
		case Happy:
			cout << "(Happy)" << endl;
			break;
		default:
			//ingen av casene stemte ...
			break;
	}
}//havner her etter break;
};

class CDog :
public CAnimal//arver også fra CAnimal
{
public:
CDog(void)
{
	Mood = Happy;// hunder er glade fra starten av
	cout << "En hund kom til din PC" << endl;
}

~CDog(void)
{
	cout << "En hund forlater din PC" << endl;
}

void MakeSound()
{
	cout << "voff ";

	switch (Mood)
	{
		case Angry:
			cout << "(Angry)" << endl;
			break;
	case Playfull:
			cout << "(Playfull)" << endl;
			break;
		case Happy:
			cout << "(Happy)" << endl;
			break;
	}
}
};

int main(int argc, char *argv[])//tok med en liten peker intro samt dynamisk allokert minne :D
{
CDog hund;
hund.SetMood(Angry);//CDog har tilgang til SetMood som er en public funksjon som CDog har arvet fra CAnimal 
hund.MakeSound();//

CCat katt;
katt.MakeSound();

///////////adv: Denne blokken har med pekere og dynamisk allokering av minne .. ta det som det kommer.

CAnimal* EtDyr = new CDog(); //Siden CDog arver fra CAnimal kan man gjøre dette. Allokerer en ny hund i minnet
EtDyr->MakeSound();//Kaller på den virituelle funksjonen i CAnimal .. Som igjen kaller på funksjonen i den arvende klassen
delete EtDyr;//Sletter minnet som Hund brukte
EtDyr = new CCat();//CCat arver også fra CAnimal
EtDyr->SetMood(Happy);//Kaller på den public funksjonen SetMood.
EtDyr->MakeSound();//Kaller på funksjonen i CCat via CAnimal
delete EtDyr;//Fjerner minnet som CCat brukte. Hvis man bruker delete her har man en memmory leak...

MessageBox(NULL,"Litt c++ gui på slutten :D,","GUI! ",MB_OK | MB_ICONINFORMATION);//fjern den hvis du får linker problemer

return 0;
}//ca her deallokeres hund og katt.. det er ganske vanskelig og se hvis du ikke kjører det fra en konsole;)

 

Endret av Giddion
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...