tack för all hjälp. Lyckades dock lösa det själv genom en annan bok jag fick tag på igår kväll. Så från scratch så lärde jag mig mycket igår och idag. Gjorde klart den sista uppgiften runt 1 idag. Var lite lagom svårt att lösa 2b utan att använda string.
Men det gick. Om någon mer stöter på detta problems å kan jag posta mina lösningar här.
Först har vi 1a.
Här skulle man använda sig av "int", "char" och "double".
// Programmering A, C++. upg 1a
// Star Daniel S**** 18/11-2010
#include <iostream>
using namespace std;
int main()
{
cout << "Programmering A, C++ upg 1a" << endl;
cout << "===========================" << endl;
char namn[20];
cout << "Vad heter du (20 tecken, Utan mellanslag): ";
cin >> namn;
cin.ignore();
int alder;
cout << "Hur gammal är du: ";
cin >> alder;
double tal;
cout << "Skriv ett decimaltal: ";
cin >> tal;
cout << " \t RESULTAT " << endl;
cout << " ====================== " << endl;
cout << " Ditt namn var: " << namn << endl;
cout << " Din ålder var: " << alder << endl;
cout << " Ditt decimaltal var: " << tal << endl;
cout << " ====================== " << endl;
return 0;
}
Sedan 1b.
Här skulle man göra ett program som gav förslag på resesätt utifrån en inmatad sträcka.
// Programmering A, C++. upg 1b.
// Star Daniel S**** 18/11-2010
#include <iostream>
using namespace std;
int main()
{
cout << "Programmering A, C++ upg 1b" << endl; //Endast Rubrik
cout << "===========================" << endl; //Endast Rubrik
cout << "Färdsäts-beräknaren! " << endl; //Endast Rubrik
char svar = 'j';
while (svar == 'j' || svar == 'J') {
double resa;
cout << "====================================== " << endl; //Endast för utseende.
cout << " Ange i kilomterer hur långt du vill resa: ";
cin >> resa;
cout << "====================================== " << endl; //Endast för utseende.
if (resa <= 3) {
cout << "====================================== " << endl; //Endast för utseende.
cout << " Du har anget att du ska resa: " << resa << " km. " << endl;
cout << " Du gör nog bäst i att ta en promenad!" << endl;
cout << "====================================== " << endl; //Endast för utseende.
}
else if (resa <= 8) {
cout << "====================================== " << endl; //Endast för utseende.
cout << " Du har anget att du ska resa: " << resa << " km. " << endl;
cout << " Du kan nog ta cykeln för denna resa! " << endl;
cout << "====================================== " << endl; //Endast för utseende.
}
else if (resa >= 9) {
cout << "====================================== " << endl; //Endast för utseende.
cout << " Du har anget att du ska resa: " << resa << " km. " << endl;
cout << " Du bör ta bussen eller bilen dit du ska! " << endl;
cout << "====================================== " << endl; //Endast för utseende.
}
cout << "====================================== " << endl; //Endast för utseende.
cout << " Vill du börja om? (j(n): ";
cin >> svar;
}
cout << "====================================== " << endl; //Endast för utseende.
cout << "\t Tack för denna gång! " << endl;
cout << "====================================== " << endl; //Endast för utseende.
return 0;
}
sedan har vi 2a.
Här skulle man bygga en meny med 4 alternativ varav varje alternativ gav en funktion. I mitt fall 4 olika räknesätt
// Programmering A, C++. upg 2a.
// Star Daniel S**** 18/11-2010
#include <iostream>
using namespace std;
int main()
{
cout << "Programmering A, C++ upg 2a" << endl; //Endast Rubrik
cout << "===========================" << endl; //Endast Rubrik
cout << "Kalkylator med meny! " << endl; //Endast Rubrik
char svar = 'j';
while (svar == 'j' || svar == 'J') {
char val;
double a1, a2, a3, s1, s2, s3, m1, m2, m3, d1, d2, d3;
cout << " \t MENY! "<< endl; //Endast utseende
cout << " +-------------------------+ "<< endl; //Endast utseende
cout << " | 1. (+) Addition. "<< endl; //meny
cout << " | 2. (-) Subtraktion. "<< endl; //
cout << " | 3. (*) Multiplikation. "<< endl; //meny
cout << " | 4. (/) Division. "<< endl; //
cout << " | Gör dit val (1-4): "<< endl; //meny
cout << " +-------------------------+ "<< endl; //Endast utseende
cout << " | Ditt val; "; //meny
cin >> val;
switch (val) {
case '1':
cout << "\t (+) Addition. "<< endl;
cout << "\t Ange första talet ";
cin >> a1;
cout << "\t Ange andra talet ";
cin >> a2;
a3=a1+a2;
cout << "=== RESULTAT ===" << endl; //Endast utseende
cout << a1 << " + " << a2 << " blir " << a3 << endl;
cout << "================" << endl; //Endast utseende
break;
case '2':
cout << "\t (-) Subtraktion. "<< endl;
cout << "\t Ange första talet ";
cin >> s1;
cout << "\t Ange andra talet ";
cin >> s2;
s3=s1-s2;
cout << "=== RESULTAT ===" << endl; //Endast utseende
cout << s1 << " - " << s2 << " blir " << s3 << endl;
cout << "================" << endl; //Endast utseende
break;
case '3':
cout << "\t (*) Multiplikation. "<< endl;
cout << "\t Ange första talet ";
cin >> m1;
cout << "\t Ange andra talet ";
cin >> m2;
m3=m1*m2;
cout << "=== RESULTAT ===" << endl; //Endast utseende
cout << m1 << " * " << m2 << " blir " << m3 << endl;
cout << "================" << endl; //Endast utseende
break;
case '4':
cout << "\t (/) Division. "<< endl;
cout << "\t Ange första talet ";
cin >> d1;
cout << "\t Ange andra talet ";
cin >> d2;
d3=d1/d2;
cout << "=== RESULTAT ===" << endl; //Endast utseende
cout << d1 << " / " << d2 << " blir " << d3 << endl;
cout << "================" << endl; //Endast utseende
break;
default:
cout << "\t Felaktigt alternativ\n ";
}
cout << " Vill du återgå till menyn? (j/n) ";
cin >> svar;
}
cout << " HEJ DÅ! " << endl;
return 0;
}
Sedan har vi den sista uppgiften 2b.
Här var uppgiften att användaren skulle skriv ain för och efternamn och programmet skulle sedan skriva ut det i omvänd ordning. dvs efternamn, förnamn. min lösning var såhär:
// Programmering A, C++. upg 2b.
// Star Daniel S**** 19/11-2010
#include <iostream>
using namespace std;
void skrivNamn(char *namn);
int main( void )
{
cout << "Programmering A, C++ upg 2b" << endl; //Endast Rubrik
cout << "===========================" << endl; //Endast Rubrik
cout << "Fornamn - Efteramn. " << endl; //Endast Rubrik
cout << "===========================" << endl; //Endast Rubrik
cout << "\n";
char namn[50];
cout << "Vad heter du? (for och efternamn):" ;
cin.getline(namn, 50);
skrivNamn(namn);
//cout << "Du heter " << namn << endl;
return 0;
}
void skrivNamn(char *namn)
{
int length = strlen(namn);
int spacePos = 0;
int i;
while (namn[++spacePos]!= ' ' && spacePos < length);
cout << "===========================" << endl; //Endast Rubrik
cout << "Hej ";
for (i=spacePos; i< length; i++)
{
cout << namn[i];
}
cout << ", " ;
for (i=0; i<spacePos; i++)
{
cout << namn[i];
}
cout << " . Det var bra! " << endl;
cout << "===========================" << endl; //Endast Rubrik
}
Om nu någon skulle få för sig att använda mins lösningar till ett skolarbete så tänk på att om du läser programmering A på distans via Miroi så är det bra att veta att det gjorde även jag. Så dom inte får in identiska uppgifter. Jag publicerar detta för att ge exempel på hur man kan göra de olika uppgifterna.
Om någon skulle se något som ser dåligt ut i mina lösningar så säg gärna det så kanske jag lär mig nått mer i detta.
Mvh Daniel!