Simpla C++ program (Programmering A)|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
Simpla C++ program (Programmering A)
NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
June 28, 2007
sp_UserOfflineSmall Offline
1
October 20, 2008 - 8:33 pm
sp_Permalink sp_Print

Hejsan.

Hade prov idag i C++, porgrammering A. Väldigt simpelt må jag säga och det vara inga problem att klara uppgifterna.

Jag tänkte dela med mig av de simpla program som jag gjorde under provet. Finns säkert folk som kommer att få nytta av dem vid något tillfälle.

Att studera kod och försöka förstå varför och hur den skapades är nyttigt om man vill bli en bra programmerare,


/* Skriver ut "Idag har vi prov" på skärmen */

#include <iostream>
using namespace std;

int main()
{
cout << "Idag har vi prov" << endl;
cin.get();
return 0;
}

/* Programmet ber användaren att skriva vad han/hon heter.
* Namnet lagras i en så kallad variabel, för att sedan kunna behandlas vidare i programmet.
* Sist men inte minst så skriver programmet ut ett vänligt meddelande inklusive namnet som användaren matade in.
*/

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

int main()
{
string namn;
cout << "Hej min vän, vad heter du? ";
cin >> namn;
cin.ignore();

cout << "Nemen hej " << namn << " du verkar vara en fantastisk trevlig person!" << endl;

cin.get();
return 0;
}

/* Programmet ber användaren att mata in ett tal.
* Programmet kontrollerar om talet som användaren matade in är positivt eller negativt.
* OM talet är negativt så skrivs "Talet är negativt" ut på skärmen.
* ANNARS skrivs det ut "Talet är positivt.
*/

#include <iostream>
using namespace std;


int main()
{
int check;
int tal;
cout << "Skriv in ett tal: ";
cin >> tal;

if(tal < 0)
{
cout << "Talet är negativt" << endl;
}
else
{
cout << "Talet är positivt" << endl;
}

cin.get();
return 0;
}

/* Programmet ber användaren att mata in ett tal
* Programmet kontrollerar sen om det angivna talet stämmer överns på någon utav veckodagarna.
* Om användaren matar in ett tal högre än 7, så skrivs ett felmeddelande ut.
*/

#include <iostream>
using namespace std;

int main()
{
int tal;
cout << "Skriv in ett tal: ";
cin >> tal;

if(tal == 1)
{
cout << "Måndag" << endl;
}
else if(tal == 2)
{
cout << "Tisdag" << endl;
}
else if(tal == 3)
{
cout << "Onsdag" << endl;
}
else if(tal == 4)
{
cout << "Torsdag" << endl;
}
else if(tal == 5)
{
cout << "Fredag" << endl;
}
else if(tal == 6)
{
cout << "Lördag" << endl;
}
else if(tal == 7)
{
cout << "Söndag" << endl;
}
else
{
cout << "Det finns ingen sådan dag i veckan" << endl;
}

cin.get();
return 0;
}

/* Programmet kontrollerar när du är född, genom att ställa ett par frågor.
* Svaren på frågorna lagras i variablar.
* Variablarna som innehåller tal används i en aritmetisk operation.
*/
#include <iostream>
#include <string>
using namespace std;

int main()
{
string namn;
int year;
int birth;
int sum;

cout << "Vad heter du? ";
cin >> namn;
cin.ignore();

cout << "Vilket år är det nu? ";
cin >> year;
cin.ignore();

cout << "Hur gammal är du? ";
cin >> birth;

sum = year - birth;

cout << "Då är du nog född " << sum << endl;
cout << "Du heter också " << namn << " 😉 " << endl;

cin.get();
return 0;
}

/* Programmet frågar efter förnamn och efternamn
* Om förnamnet är Bryan och efternamnet är Karlsson, så skrivs det ut ett meddelande.
* Om förnamnet och efternamnet är annat, så skrivs ett annat meddelande ut..
*/

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

int main()
{
string namn;
string efternamn;

cout << "Vad är ditt förnamn? ";
cin >> namn;
cin.ignore();

cout << "Vad är ditt efternamn? ";
cin >> efternamn;

if(namn == "Bryan" && efternamn == "Karlsson")
{
cout << "Du har snott ett av mina namn" << endl;
}
else
{
cout << "Hejsan " << namn << " " << efternamn << endl;
}

cin.get();
return 0;
}

/* Programmet skriver ut det engelska alfabetet med hjälp av en loop.
* OBS! Detta var den svåraste uppgiften på hela provet! Det gäller att använda huvudet till den här uppgiften
*/

#include <iostream>
using namespace std;

int main()
{
int x = 91;
for(int i = 65; i < x; i++)
{
cout << char(i) << " ";
}

cin.get();
return 0;
}

/* Programmet frågar användaren om hennes eller hans namn.
* Programmet frågar även efter ett tal.
* Programmet skriver sedan ut det tal du angav gånger med sig självt, som du sedan ska gissa på vad det blir.
* Om du svarar fel så visas ett meddelande
* Om du svarar rätt så visas ett annat meddelande
*/
#include <iostream>
#include <string>
using namespace std;

int main()
{
int gissning;
string namn;
int tal;
int sum;


cout << "Hej, vad heter du? ";
cin >> namn;
cin.ignore();

cout << "Tjenare " << namn << endl;

cout << "Ge mig ett tal är du snbäll: ";
cin >> tal;
cin.ignore();

cout << "Vad är " << tal << " * " << tal << " ? " << endl;
cin >> gissning;
cin.ignore();

sum = tal * tal;
if(gissning != sum)
{
cout << "Du svarade fel! " << tal << " * " << tal << " är " << sum << " , " << " inte " << gissning << endl;
}
else
{
cout << "Du svarade rätt!" << endl;
cout << tal << " * " << tal << " = " << sum << endl;
}
cin.get();
return 0;
}

Jag kommer även att lägga upp andra koder, men dock mer avancerade eftersom att jag redan har tentat ut A kursen.

Enjoy!

Coore
Member
Medlem
Forum Posts: 6002
Member Since:
January 4, 2001
sp_UserOfflineSmall Offline
1206289
October 26, 2008 - 10:51 am
sp_Permalink sp_Print

Ett litet tips från en programmerare till en annan.
Det är bättre att använda en switch case sats än en if else sats om det bara är en variabel du ska jämföra mot konstanta värden.
En switch case sats är oftare snabbare (finns bra och dåliga kompilatorer 🙂 ) än en if else i fall som detta.

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
June 28, 2007
sp_UserOfflineSmall Offline
1206292
October 26, 2008 - 11:40 am
sp_Permalink sp_Print

Yes, det är sant. Men eftersom att vi inte har gått igenom switch så tyckte jag att det var bäst att låta bli.

Jag ska försöka att bli klar med mitt hänga-gubbe spel under höstlovet och då kommer givetvis källkoden att postas här så ni kan granska den och ge mig konstruktiv kritik 🙂

Coore
Member
Medlem
Forum Posts: 6002
Member Since:
January 4, 2001
sp_UserOfflineSmall Offline
1206293
October 26, 2008 - 12:34 pm
sp_Permalink sp_Print

Absolut. 🙂
Du skulle ta och börja knacka lite assembler, fint sätt att få bra förståelse för vad som egentligen händer i processorn. 🙂

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
June 28, 2007
sp_UserOfflineSmall Offline
1206296
October 26, 2008 - 1:39 pm
sp_Permalink sp_Print

Assembler är något jag alltid har varit sugen på att lära mig, men jag har så många andra språk som jag vill testa 🙂

Just nu är det PHP och C++ som gäller. Därefter hade jag tänkt mig att titta närmare på C, C# och Java och även lite smått på Python 🙂

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
June 28, 2007
sp_UserOfflineSmall Offline
1206611
October 29, 2008 - 5:07 pm
sp_Permalink sp_Print

Försök att passera heltalsgränser..


//exceed.cpp -- försöka passera heltalsgränser
#include <iostream>
#define ZERO 0 //Gör ZERO till symbol för värdet 0
#include <climits> //definierar INT_MAX som största intvärde

int main()
{
using namespace std;
short bryan = SHRT_MAX; //initierar till maxvärde
unsigned short kalle = bryan ; //OK om bryan har definierats

//Här kommer programmet skriva ut att båda har 32 767kr på banken
cout << "Bryan har: " << bryan << " kronoer och Kalle har " << kalle << " kronoer på banken." << endl << endl;

cout << "Lägg till 1 kr på varje konto. " << endl << endl << "Nu har ";

bryan = bryan + 1;
kalle = kalle + 1;

//Här kommer programmet att skriva ut att bryan har -32 768 kronor, medan kalle kommer att ha 32 768Kr
cout << "Bryan " << bryan << " kronoer och Kalle " << kalle << " kronoer på banken. nStackars Bryan" << endl << endl;

bryan = ZERO;
kalle = ZERO;

//Här kommer programmet att skriva ut att både bryan och kalle har 0 kronor på banken
cout << "Bryan har " << bryan << " kronor och Kalle " << kalle << " kronor på banken." << endl << endl;



cout << "Ta ut 1 kr fron varje konor." << endl << endl;

bryan = bryan - 1;
kalle = kalle - 1;

cout << "Nu har Bryan " << bryan << " kronor och Kalle " << kalle << " kronor på banken " << endl;

cin.get();
return 0;
}

Enjoy!

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 694
Currently Online:
Guest(s) 90
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL