Tja! Jag har nyligen börjat med c++ och jag kan inte så mycket men jag har fått slut på idér om vad jag ska göra.. Alltså i stort sett vill jag ha lite förslag på övningar.
Det mest komplicerade jag har gjort hittils har varit ett enkelt program som kräver Username och lösenord.
Så här ser den ut.
# include <iostream>
# include <conio.h>
# include <string>
using namespace std;
int main()
{
string username;
string password;
cout <<"Enter Username: ";
cin >>username;
cout << "\nEnter Password: ";
cin >>password;
if (username=="landizz" && password=="kalle")
{
cout <<"Welcome!";
}
else
{
cout <<"Wrong username or password";
}
getch();
return 0;
}
Jag försökte göra en igår som tog en tillbax så man fick skriva lösenordet igen om man skrev fel med while. Men fattade inte hur man använde den så en kompis hjälpte mig.
Nu vet ni hur "bra" jag är så kom gärna med förslag:)
Edit; Nej Kalle är inte mitt pw
Gör ett program för att hantera en cykeltävling. Typ:
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 1
Skriv in namnet på cyklisten
$: Olle
"Olle" Registrerad.
== Meny ==
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 2
== Alla cyklister ==
Namn Bästa tid
Olle -------
== Meny ==
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 4
Skriv in namn på den cyklist du vill registera tid för
$: Kalle
"Kalle" finns inte. Försök igen eller ("Avbryt" för att avbryta)
$: Olle
Skriv in tid för "Olle"
$: 25
Bästa tid "25" för "Olle" registrerat
== Meny ==
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 2
== Alla cyklister ==
Namn Bästa tid
Olle 25
Eller nåt?
Gör ett program för att hantera en cykeltävling. Typ:
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 1
Skriv in namnet på cyklisten
$: Olle
"Olle" Registrerad.
== Meny ==
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 2
== Alla cyklister ==
Namn Bästa tid
Olle -------
== Meny ==
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 4
Skriv in namn på den cyklist du vill registera tid för
$: Kalle
"Kalle" finns inte. Försök igen eller ("Avbryt" för att avbryta)
$: Olle
Skriv in tid för "Olle"
$: 25
Bästa tid "25" för "Olle" registrerat
== Meny ==
1. Registrera cyklist
2. Lisa alla
3. Sök
4. Registrera bästa tid
$: 2
== Alla cyklister ==
Namn Bästa tid
Olle 25
Eller nåt?
Tror inte jag klarar det med min kunskap:D Skulle vara roligt dock.
Tror inte jag klarar det med min kunskap:D Skulle vara roligt dock.
Det låter som ett mycket bra förslag av Kejsaren.
Vad är det som du känner att du saknar för att skriva det programmet?
Har du använt struct för att definiera strukturer?
Har du använt vector<> för att göra en vektor, och sen push_back() för att lägga till element och size() för att se hur många element som finns i vektorn?
Jag vet inte vad du utgår ifrån för material (bok, tutorial, ...) men det kanske finns mer info om det.
Det låter som ett mycket bra förslag av Kejsaren.
Vad är det som du känner att du saknar för att skriva det programmet?
Har du använt struct för att definiera strukturer?
Har du använt vector<> för att göra en vektor, och sen push_back() för att lägga till element och size() för att se hur många element som finns i vektorn?
Jag vet inte vad du utgår ifrån för material (bok, tutorial, ...) men det kanske finns mer info om det.
Läste blinkinglights tutorial igår och har börjat på cplusplus.com's tutorial nu. Är på "Control Structures".
När du pratar om struct har jag ingen aning om vad det är eller vector eller push back. Helt tomt när dom orden kommer fram:D
En struct är en konstruktion som tillåter att man "klumpar" samman data.
Tex skulle en struct (som är av nöje i mitt/ditt projekt) vara
struct Deltagare {
std::string namn;
int basta_tid;
}
sen kan man göra:
Deltagare deltagare1;
deltagare1.namn = "Olle";
deltagare1.tid = 20;
cout << "Deltagare \"" << deltagare1.namn << "\" tid: " << deltagare1.tid;
Man kan också skapa en lista med deltagare:
vector<Deltagare> deltagar_lista;
deltagare_lista.push_back(deltagare1);
for(vector<Deltagare>::iterator it = deltagar_lista.begin(); it < deltagar_lista.end(); it++)
cout << (*it).namn;
Som du ser är C++ inte optimalt för en nybörjare då det existera många begrepp man måste haja, krångligt syntax (subjektivt), man måste veta skillnaden mellan reference (&) och pekare (*) adress-operatorn (&) av-pekning:
Deltagare* d = new Deltagare;
d.namn = "olle"; // Kommer inte fungera då d är en pekare
(*d).namn = "olle"; // Fungera då * framför de "av-pekar" d. Kan även förkortas som:
d->namn = "olle"; // men är i princip samma sak
Deltagare* d2 = deltagare1; // fungerar inte (deltagare1 är ingen pekare)
Deltagare* d3 = &deltagare1; // fungerar & tar adressen till deltagare1 (dvs det d3 kan hantera)
Vågar jag rekommendera ett mer "nybörjarvänligt" språk där sådana saker är dolda abstraktioner? Tex: Java eller nått dynamiskt Ruby, Python
eller varför inte Smalltalk?
Samma i Java:
class Deltagare {
public String namn;
public int basta_tid;
}
class MittProgram {
public static void main(String[] args) {
Deltagare d = new Deltagare();
d.namn = "olle";
d.basta_tid = 10;
ArrayList<Deltagare> deltagar_lista = new ArrayList<Deltagare>();
deltagar_lista.add(d);
for(Deltagare deltagare : deltagar_lista) {
System.out.println(deltagare.namn);
}
}
}
Eller Ruby:
class Deltagare
attr_accessor :namn, :basta_tid
end
d = Deltagare.new
d.namn = "olle"
d.basta_tid = 10;
lista = [d]
lista.each do | deltagare |
puts deltagare.namn
end
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.